Graduate Courses

CS 510 Computer-Assisted Instruction (4)

General techniques for designing computer systems to provide individualized instruction. Program structure, instruction layout, scoring systems and data organization methods. Existing CAI packages and development of new packages. Hardware requirements for audio-visual effects. 4 lectures/problem-solving. Prerequisite: CS 420 or consent of instructor.

CS 515 Automated Reasoning (4)

Logical foundations, logical representation of knowledge, unification, theorem proving, deductive databases, logic programming, program verification and synthesis, nonstandard logics, epistemic logic, temporal logic. 4 lectures/problem-solving. Prerequisite: CS 420 or consent of instructor.

CS 517 Natural Language Processing (4)

Grammatical structure and parsing of natural language, representations of meanings (semantics), story understanding and generation, applications. 4 lectures/problem-solving. Prerequisites: CS 420 and PHL 202, or consent of instructor.

CS 519 Computer Vision (4)

Representation of images, image data acquisition, methods of object recognition, representation of visual knowledge, boundary detection, texture, motion, the problem of occlusion, applications. 4 lectures/problem-solving. Prerequisite: CS 420 or consent of instructor.

CS 521 Robotics (4)

Robot programming, languages and simulation. Origins and taxonomy of robots. Case study in robot architecture, hardware and software. Homogeneous transformations. Kinematic equations and their solution. Elementary digital control. 4 lectures/problem-solving. Prerequisite: CS 420 or consent of instructor.

CS 523 Expert Systems (4)

Expert systems construction. Knowledge representation, utilization and acquisition. Rule-based systems, fuzzy logic, knowledge engineering. 4 lectures/problem-solving. Prerequisite: CS 420 or consent of instructor.

CS 525 Advanced Computer Architecture (4)

Architecture and organization of high performance computers. Principles of instruction sets. Pipelining, instruction level parallelism and multi-processor. Memory, storage, and interconnection. Quantitative analysis and evaluation of design alternatives. Historical developments. Architectural tradeoffs and innovations. 4 lectures/problem-solving. Prerequisite: CS 365 or consent of instructor.

CS 530 Advanced Algorithm Design and Analysis (4)

Advanced problem domains, including graph problems, pattern matching, compression, network flow and transforms. Amortized and average case analysis. Lower bounds. Approximation techniques. Probabilistic algorithms. 4 lectures/problem-solving. Prerequisite: CS 331 or consent of instructor.

CS 531 Computability and Complexity Theory (4)

Formalizing problems and algorithms. Characterizations and properties of computability classes, undecidability. Complexity classes. NP-complete problems, proof of NP-completeness. 4 lectures/problem-solving. Prerequisites: CS 311 and CS 331, or consent of instructor.

CS 535 Parallel and Distributed Algorithms (4)

Models of parallel and distributed computation. Design and analysis of algorithms for parallel and distributed systems. Basic techniques, classic problems. Parallel and distributed complexity classes. Hardware and software issues involved in parallel and distributed problem solving. 4 lectures/problem-solving. Prerequisite: CS 331 or consent of instructor.

CS 540 Topics in Compiler Design (4)

Code and loop optimization. Data flow analysis. Syntax-directed translation. 4 lectures/problem-solving. Prerequisite: CS 411 or consent of instructor.

CS 541 Programming Language Semantics (4)

Operational, denotational and axiomatic semantics of programming languages. Vienna definition language, w-grammars, LISP definition. 4 lectures/problem-solving. Prerequisite: CS 408 or consent of instructor.

CS 555 Computer Image Processing (4)

Digital picture processing. Mathematical preliminaries for image processing. Visual perception. Digitization and compression. Image enhancement, restoration and reconstruction. 4 lectures/problem-solving. Prerequisites: MAT 214 and CS 331, or consent of instructor.

CS 560 Bioinformatics for Computer Scientists (4)

Overview of molecular biology including genomics and proteomics. Alignment, phylogenic tree and search algorithms. Survey of existing bioinformatics tools. Coverage of sequence search and alignment algorithms. Application of AI techniques including neural network, heuristics and genetic algorithms for problem solving. Usage of script languages for solving problems in bioinformatics. Visualization of biological and chemical data. Hardware and software aspects of microarray. 4 lectures/problem-solving. Prerequisite: CS 420 or consent of instructor.

CS 565 Advanced Computer Networks (4)

Issues in network architectures and standards. Network design. Performance evaluation and monitoring. Network management and security. High-speed networking technologies. Wireless networks and mobile computing. System architecture and network programming. 4 lectures/problem-solving. Prerequisite: CS 380 or consent of instructor.

CS 566 Distributed Computing Systems (4)

Processors and processes in distributed systems. Distributed operating systems. Transactions and distributed file servers. Fault tolerance. Performance analysis. Cluster computing. Prototypes and commercial distributed systems. 4 lectures/problem-solving. Prerequisites: CS 380 and CS 431, or consent of instructor.

CS 570 Human Computer Interaction (4)

Principles of human factors, computer technology, and their interactions. Theory and practice of user interface design and evaluation. Special topics such as graphical user interfaces, graphics programming, multi-sensory systems, and computer-supported cooperative work.

CS 575 Topics in Database Systems (4)

Advanced SQL programming. Trigger and stored procedure. Relational, object-oriented, object-relational, and semi-structured modeling and databases. Techniques and algorithms of database design. Query languages for different database models. XML and Web data. Distributed database. Information integration. Data warehouses. Data mining. 4 lectures/problem-solving. Prerequisites: CS 435 or consent of instructor.

CS 580 Advanced Software Engineering (4)

Software metrics and models. Software development methodologies. Advanced topics in object-oriented software engineering. Formal methods for modeling and specification. Software architecture. Software testing. Real-time software development. Recent developments in software engineering. 4 lectures/problem-solving. Prerequisite: CS 480 or consent of instructor.

CS 585 Software Verification and Validation (4)

Techniques for evaluating software quality and integrity. Quality assessment, proof of correctness, testing methods. 4 lectures/problem-solving. Prerequisite: CS 480 or consent of instructor.

CS 599/599A/599L Special Topics for Graduate Students (1-4)

Group study of a selected topic, the title to be specified in advance. Instruction by lecture, activity, laboratory or combination. Prerequisite: consent of instructor.

CS 664 Graduate Seminar (2)

Topics chosen according to the interests and needs of the students. May be repeated for a maximum of 4 units. Unconditional standing required.

CS 691 Directed Study (1-3)

Individual study program under supervision of master's thesis advisor. Presentation of proposal for thesis in acceptable written form. Must be repeated as appropriate. Total credit, 3 units. Credit assigned upon acceptance of proposal by thesis committee. Open only to unconditional students with approval of thesis advisor.

CS 695 Master's Degree Project (1-2)

Independent work on practical application of an existing methodology or procedure under supervision of a project advisor. Total credit limited to 2 units, but may be repeated until completion. Credit assigned upon successful completion of project and oral presentation. Advancement to Candidacy and approval of project committee required. Prerequisite: CS 691.

CS 696 Master's Degree Thesis (1-4)

Independent investigation intended to be an extension of an existing body of knowledge. Reporting of research results in an oral presentation and acceptable written form. Must be repeated as appropriate. Credit assigned upon successful completion of thesis and oral presentation. Total credit, 4 units. Advancement to Candidacy and approval of thesis committee required. Prerequisite: CS 691.

CS 699 Master's Degree Continuation (0)

Enrollment in this course allows candidates that have enrolled in the maximum number of thesis or project units to maintain resident status in order to receive university services. Approval of graduate coordinator is required to register for this class. Advancement to candidacy is required. This course is graded on a mandatory credit/no credit basis.