CS - Computer Science

Department of Computer Science, College of Arts and Sciences

Graduate Courses in Computer Science (CS)


James Wilkes, Department Chair

CS 5100. Seminar in Computer Science (3).S. Discussion and presentation of current topics in computer science. Each student will make oral and written reports on the results of research conducted on an instructor approved topic. Professional development aspects are also covered, including resume writing and interviewing skills. Prerequisite: graduate status in computer science.

CS 5110. Design and Analysis of Algorithms (3).F. Algorithmic paradigms, worst-case and average-case analysis, recurrence relations, lower bounds, classes of P and NP, and NP-complete problems. Applications including sorting, searching, dynamic structures, set algorithms, graph algorithms, randomized algorithms, and pattern matching. Prerequisite: CS 3460 (Data Structures).

CS 5120. Applications of Graph Theory and Combinatorics (3).S.Odd-numbered years. Basic concepts of graph theory and combinatorics as they are applied in computer science, including such topics as connectivity, colorability, planarity, distribution of distinct and nondistinct objects, generating functions and recursion, partitions, Latin squares, and block designs. Prerequisite: CS 3460 (Data Structures).

CS 5310. Numerical Analysis With Computer Applications (3).On Demand. A study of methods of solving systems of linear and non-linear equations, differential equations and numerical integrations with emphasis on convergence properties and error analysis. Prerequisites: linear algebra, real variables, computer programming. Corequisite: MAT 5610. (Same as MAT 5310.)

CS 5440. Topics in Artificial Intelligence (3).F.Odd-numbered years. This course will cover such topics as natural language processing, automated theorem-provers, expert system shells, and machine learning. Student projects will involve advanced logic programming techniques. Prerequisite: CS 4440 (Artificial Intelligence).

CS 5450. Computer Networking (3).S.Even-numbered years. Computer network architectures. The Internet protocol suite including TCP, UDP, ICMP, and IP. Routing and congestion control. Network monitoring and management. Specification, design, and implementation of network protocols. Creation of a socket-based client/server distributed application. Prerequisite: CS 4450 (Data Communications and Networking).

CS 5465. Advanced Computer Graphics (3).F.Odd-numbered years. Review of 2D coordinate systems, primitives and transformations. Anti-aliasing. Theory of light. Color models. Homogeneous coordinates and perspective transformations. Curve and surface representation. Solid modeling. Reflection and refraction. Image rendering. Visualization and 4D computer graphics. Parallel computer graphics hardware and algorithms. Prerequisite: CS 4465 (Computer Graphics).

CS 5483. Computer Architecture (3).S. An in-depth study of current concepts in computer architecture, including such topics as concurrent execution, parallel architectures, RISC architectures, pipelined and array processors, data-flow machines, and special purpose processors. Prerequisite: CS 3482 (Computer Systems II).

CS 5500. Independent Study (1-3).F;S. Individual students study topics of interest under the direction of a faculty member. Prerequisite: 12 hours of graduate credit in computer science.

CS 5520. Operating Systems (4).S. An in-depth study of the design and implementation of operating systems including device drivers, process management, memory management, and security issues. Lecture three hours, laboratory three hours. Prerequisite: CS 3482 (Computer Systems II). [Dual-listed with CS 4520.]

CS 5530-5549. Selected Topics in Computer Science (1-4).On Demand. Topics of current interest in computer science not covered in existing courses. May be repeated for credit when content does not duplicate. Prerequisite: permission of the instructor.

CS 5550. Theoretical Computer Science (3).S.Even-numbered years. A rigorous treatment of some theoretical aspects of computer science including formal definition of the notion of an algorithm, abstract machines, and formal grammars. Prerequisite: CS 2490 (Intro to Theoretical Computer Science). [Dual-listed with CS 4550.]

CS 5560. Advanced Operating Systems (3).F.Even-numbered years. Principles of operating system design applied to state of the art computing environments such as object-oriented systems, multiprocessors, and distributed systems. Prerequisite: CS 5520.

CS 5569. Human-Computer Interfaces (3).S.Even-numbered years. This course covers topics related to the design and evaluation of human-computer interfaces (HCI). Topics include: understanding the user audience, HCI architectures, design issues related to various interface components, measuring HCI usability, incorporating HCI design into system development, and social issues. Students are required to complete a group project in HCI presented in written form and orally to the class. Prerequisite: permission of the instructor. [Dual-listed with CS 4570.]

CS 5570. Design and Analysis of User Interfaces (3).F.Even-numbered years. This course covers systematic methods for design, development, testing and evaluation of human-computer interfaces (HCI). Students are required to apply these concepts to a specific HCI problem. Current research topics in HCI are discussed. Prerequisite: CS 5569.

CS 5620. Real-time Systems (4).S.Odd-numbered years. Real-time hardware and software. Analog and digital data acquisition and reduction. Real-time algorithms and data structures. Advanced programming concepts including double buffering, interrupts, signal handlers, processes and threads, inter-process communication, synchronization, and the operating system kernel. Lecture three hours, laboratory three hours. Prerequisite: CS 3482 (Computer Systems II). [Dual-listed with CS 4620.]

CS 5630. Programming Language Translation (4).F. Techniques for the translation of programming languages into machine or assembly language. Each student will participate in the writing of a compiler. Lecture three hours, laboratory three hours. Prerequisites: CS 3482 (Computer Systems II) and CS 3490 (Programming Languages). [Dual- listed with CS 4630.]

CS 5666. Software Engineering (3).F. Methodical development of large software systems. Topics include: models, project life cycle, requirements and specification, structure charts and design criteria, incremental implementation, software metrics. Use of module and source code management, symbolic debugging, and project planning software. Students will participate in the realization of both group and individual software systems. Prerequisite: CS 3481 (Computer Systems I).

CS 5667. Advanced Software Engineering (3).S.Odd-numbered years. Review of the system life cycle. Software metrics. System engineering. Analysis and system specification. Object-oriented modeling. Computer-aided software engineering (CASE). Verification, validation and formal specification. Both individual and group projects are required. Prerequisite: CS 5666.

CS 5710. Data Mining and Knowledge Discovery in Scientific Data (3).On Demand. Large quantities of data are collected in different studies and/or experiments in science, engineering, business, and medicine. The data contain significant amounts of useful information or knowledge that is often hard to discover without computational tools and techniques. This course focuses on techniques used in data mining tasks such as classification, association rule mining, clustering, and numerical prediction. The approach utilizes visualization, statistics, and neural networks. The goal is to study data mining as a means to achieve knowledge discovery in databases. Prerequisites: CS 1440 (Computer Science I) and Statistics.

CS 5720. Scientific Computing with Visualization (3).On Demand. Visualization plays a major role in understanding difficult concepts in different fields of science, engineering, medicine, and education. This course provides an opportunity to students from different disciplines to learn some visualization techniques that are applied to solve problems. The course uses several computational tools with visualization ability to solve problems and explore data from scientific fields, with emphasis on visualization of data, using available tools to build and understand computational models, and understanding and visualizing the solutions. Prerequisites: CS 1440 (Computer Science I) and Statistics.

CS 5740. Digital Image Processing (3).On Demand. This course provides an opportunity for students to learn digital image processing techniques. Students apply these techniques to images from different fields of science, engineering, and medicine. The course covers image acquisition and display, properties of the human visual system, sampling and quantization, color image representations, image enhancement, image transformations, image compression, and image restoration. Prerequisites: CS 1440 (Computer Science I) with a grade of C or higher and MAT 2240 (Introduction to Linear Algebra). [Dual-listed with CS 4740.]

CS 5800. Project (3).On Demand. In this course, students are required to work on an approved project under the guidance of a faculty advisor and/or the course instructor. Students are also required to prepare a written document and make an oral presentation about the project. Prerequisite: department approval. Graded on an S/U basis.

CS 5900. Internship (1-3).On Demand. Independent, supervised work in computing for an approved agency, business, or organization. Prerequisite: prior approval of the departmental internship coordinator. Graded on an S/U basis.

CS 5989. Graduate Research (1-9).F;S. This course is designed to provide access to University facilities for continuing graduate research at the master's and specialist's levels. Graded on an S/U basis. CS 5989 does not count toward a degree.

CS 5998. Thesis Preparation (3).F;S. The student develops the thesis proposal, carries out research for the thesis topic, and meets regularly with the thesis advisor to develop the thesis. First half of a two-semester thesis requirement; the student also must complete CS 5999. CS 5998 may be repeated, but only three semester hours of credit may be applied to a graduate Program of Study. Graded on an S/U basis.

CS 5999. Thesis (6).F;S. Prerequisite: CS 5998. Graded on an SP/UP basis until the thesis has been successfully defended and received final approval, at which time all grades will be changed to S.