Department of Computer Science

Office in Computer Science Building, Room 279
(970) 491-5792
cs.colostate.edu

Professor L. Darrell Whitley, Chair

Graduate Programs in Computer Science

Master of Science, Master of Computer Science, and Doctor of Philosophy degree programs in Computer Science. Students interested in graduate work should refer to the Graduate and Professional Bulletin and the Department of Computer Science.  

Master Programs

Ph.D.

  • Ph.D. in Computer Science*

* Please see department for program of study. 

Subjects in this department include: Computer Science (CS) and Computing Technology (CT).

Computer Science (CS) 

CS 110  Personal Computing  Credits: 4 (3-3-0)

Course Description: Hardware/software concepts, Internet services, OS commands, electronic presentations, spreadsheets, databases, programming concepts.
Prerequisite: None.
Registration Information: Must register for lecture and laboratory. Credit not allowed for both CS 110 and BUS 150. Sections may be offered: Online.
Terms Offered: Fall, Spring, Summer.
Grade Modes: S/U within Student Option, Trad within Student Option.
Special Course Fee: No.

CS 122  Theory for Introductory Programming  Credit: 1 (0-0-1)

Also Offered As: MATH 122.
Course Description: Set theory, definitions operations, Venn diagrams, power sets, propositional logic and proofs. Functions; loop invariants.
Prerequisite: MATH 118.
Registration Information: Must have concurrent registration in CS 161. Credit not allowed for both CS 122 and MATH 122. Credit not allowed for students who have completed CS 160. Sections may be offered: Online.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 150  Interactive Programming with Java  Credits: 4 (3-0-1)

Course Description: Introduction to object-oriented programming with Java; problem-solving, creating applets for Web pages, and graphical user interfaces.
Prerequisite: MATH 1**** to 200 - at least 1 course.
Registration Information: Must register for lecture and recitation.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 155  Introduction to Unix  Credit: 1 (1-0-0)

Course Description: Unix shell commands, utilities (editors, sorting, file management), shell scripting.
Prerequisite: None.
Terms Offered: Fall, Spring, Summer.
Grade Mode: Traditional.
Special Course Fee: No.

CS 156  Introduction to C Programming I  Credit: 1 (1-0-0)

Course Description: Basic elements of language structure, data types, expressions, program control flow and modularity.
Prerequisite: (CS 155, may be taken concurrently) and (MATH 118).
Terms Offered: Fall, Spring, Summer.
Grade Mode: Traditional.
Special Course Fee: No.

CS 157  Introduction to C Programming II  Credit: 1 (1-0-0)

Course Description: More basic design types, function usage and strings. Arrays, user-defined types and structures, enumerated types, recursion, dynamic storage allocation.
Prerequisite: (CS 156, may be taken concurrently) and (MATH 118).
Terms Offered: Fall, Spring, Summer.
Grade Mode: Traditional.
Special Course Fee: No.

CS 158  Mathematical Algorithms in C  Credit: 1 (0-2-0)

Also Offered As: MATH 158.
Course Description: Compilers, expressions, variable types, control statements, pointers, logical statements, plotting, secant method, trapezoidal rule, recursion.
Prerequisite: MATH 151 and CS 156 and MATH 160.
Registration Information: Credit not allowed for both CS 158 and MATH 158.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 160  Foundations in Programming  Credits: 4 (3-2-0)

Course Description: Introduction to computer theory, programming and systems. Sets, functions, logic. Procedural programming in Java. Computer and data models.
Prerequisite: MATH 118 with a minimum grade of C.
Registration Information: Must register for lecture and laboratory. Credit allowed for only one of the following courses: CS 160, CS 163, or CS 164.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 161  Object-Oriented Problem Solving  Credits: 4 (3-2-0)

Course Description: Fundamental object-oriented concepts, inheritance, polymorphism, basic algorithms, linked lists, assertions, recursion, induction, counting.
Prerequisite: (CS 160 with a minimum grade of C) and (MATH 141, may be taken concurrently or MATH 155, may be taken concurrently or MATH 160, may be taken concurrently).
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 163  Java (CS1) No Prior Programming  Credits: 4 (3-2-0)

Course Description: Computer programming in Java for students without previous programming experience. Topics include variables, assignment, expressions, operators, booleans, conditionals, characters and strings, control loops, arrays, objects and classes, file input/output, interfaces, recursion, lists, and sorting.
Prerequisite: MATH 124 with a minimum grade of C.
Registration Information: Must register for lecture and laboratory. Credit allowed for only one of the following courses: CS 160, CS 163, or CS 164.
Terms Offered: Fall, Spring, Summer.
Grade Mode: Traditional.
Special Course Fee: No.

CS 164  Java (CS1) Prior Programming  Credits: 4 (3-2-0)

Course Description: Computer programming in Java for students with limited programming experience. Problem decomposition for good design; expressions, operators, booleans, conditionals, characters and strings, control loops, arrays, objects and classes, file input/output, interfaces, recursion, lists, and sorting.
Prerequisite: MATH 124 with a minimum grade of C.
Registration Information: Must register for lecture and laboratory. Credit allowed for only one of the following courses: CS 160, CS 163, or CS 164.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 165  Java (CS2) Data Structures and Algorithms  Credits: 4 (3-2-0)

Course Description: Object oriented concepts, assertions, inheritance, polymorphism, algorithms and data structures using Java.
Prerequisite: (CS 163 with a minimum grade of C or CS 164 with a minimum grade of C) and (MATH 160 with a minimum grade of C, may be taken concurrently).
Registration Information: Must register for lecture and laboratory. Credit not allowed for both CS 165 and CS 200.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 192  First-Year Seminar-Computer Science  Credits: 2 (0-0-2)

Course Description: Introduction to the computer science major; basic computer skills; campus resources, and various subject-specific topics.
Prerequisite: None.
Registration Information: Computer science majors only.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 200  Algorithms and Data Structures  Credits: 4 (3-2-0)

Course Description: Data structures; abstract data types; algorithm correctness; complexity analysis; sorting, searching, hashing.
Prerequisite: (CS 161 with a minimum grade of C) and (MATH 141 with a minimum grade of C or MATH 155 with a minimum grade of C or MATH 160 with a minimum grade of C).
Registration Information: Credit not allowed for both CS 165 and CS 200.
Terms Offered: Fall, Spring.
Grade Modes: S/U within Student Option, Trad within Student Option.
Special Course Fee: No.

CS 220  Discrete Structures and their Applications  Credits: 4 (3-0-1)

Course Description: Integer representations and properties, propositions, predicates, sets, functions, program proofs, induction, counting, complexity; Python implementations of these concepts.
Prerequisite: (CS 165 with a minimum grade of C) and (MATH 160 with a minimum grade of C).
Registration Information: Must register for lecture and recitation. Credit not allowed for both CS 165 and CS 200.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 253  Software Development with C++  Credits: 4 (3-0-1)

Course Description: Developing and modifying large software. Relating programming language to its machine implementation. C++ programming for experienced programmers.
Prerequisite: (CS 220 with a minimum grade of C) and (CS 270 with a minimum grade of C or ECE 251 with a minimum grade of C).
Registration Information: Must register for lecture and recitation. Sections may be offered: Online.
Terms Offered: Fall, Spring.
Grade Modes: S/U within Student Option, Trad within Student Option.
Special Course Fee: No.

CS 270  Computer Organization  Credits: 4 (3-2-0)

Course Description: Data representation, arithmetic, assembly and C language, digital logic and systems, Boolean algebra, circuits, CPU and memory models, state machines.
Prerequisite: (CS 165 with a minimum grade of C and CS 220 with a minimum grade of C, may be taken concurrently) and (MATH 160 with a minimum grade of C).
Registration Information: Computer Science and Applied Computing Technology majors only. Must register for lecture and laboratory.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 295  Independent Study  Credits: Var[1-4] (0-0-0)

Course Description: Investigation of special topics under direction of computer science faculty.
Prerequisite: None.
Terms Offered: Fall, Spring, Summer.
Grade Mode: Instructor Option.
Special Course Fee: No.

CS 314  Software Engineering  Credits: 3 (3-0-0)

Course Description: Methods used to develop large-scale software projects in industry emphasizing design, implementation, and testing.
Prerequisite: CS 253 with a minimum grade of C.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 320  Algorithms--Theory and Practice  Credits: 3 (3-0-0)

Course Description: Analysis, design, implementation and applications of algorithms.
Prerequisite: (CS 220 with a minimum grade of C and MATH 161 with a minimum grade of C and CS 165 with a minimum grade of C) and (MATH 229 with a minimum grade of C or MATH 369 with a minimum grade of C).
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 356  Systems Security  Credits: 3 (3-0-0)

Course Description: Computer and system security, authentication, access control, malicious software, and software security.
Prerequisite: (CS 253 with a minimum grade of C) and (CS 270 with a minimum grade of C or ECE 251 with a minimum grade of C) and (STAT 201 or STAT 204 or STAT 301 or STAT 307 or STAT 311 or STAT 315).
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 370  Operating Systems  Credits: 3 (3-0-0)

Course Description: Introduction to operating systems including memory organization, I/O control, multitasking, process control, coordination, and resource management.
Prerequisite: (CS 200 with a minimum grade of C) and (CS 270 with a minimum grade of C or ECE 251 with a minimum grade of C).
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 410  Introduction to Computer Graphics  Credits: 4 (3-2-0)

Course Description: Graphics hardware and software; drawing simple objects; coordinate transformations in 2D and 3D; modeling and viewing complex 2D and 3D objects.
Prerequisite: (CS 253 with a minimum grade of C) and (MATH 229 with a minimum grade of C or MATH 369 with a minimum grade of C).
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 414  Object-Oriented Design  Credits: 4 (3-3-0)

Course Description: Object-oriented methods for large-scale software systems. Software design for reuse using patterns. WWW applications in languages, e.g., Java.
Prerequisite: CS 314 with a minimum grade of C.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 420  Introduction to Analysis of Algorithms  Credits: 4 (3-0-1)

Course Description: Efficiency analysis, correctness proofs, design strategies, illustrations from domains such as graph theory, scheduling and optimization, geometry.
Prerequisite: CS 320 with a minimum grade of C.
Registration Information: Must register for lecture and recitation. Sections may be offered: Online.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 425  Introduction to Bioinformatics Algorithms  Credits: 4 (3-2-0)

Course Description: Algorithms for analysis of large scale biological data.
Prerequisite: CS 320 with a minimum grade of C.
Registration Information: Must register for lecture and laboratory.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 430  Database Systems  Credits: 4 (3-2-0)

Course Description: Database analysis, design, administration, implementation, hierarchical, network relational models; data sublanguages; query facilities.
Prerequisite: CS 314 with a minimum grade of C or CS 370 with a minimum grade of C.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 435  Introduction to Big Data  Credits: 4 (3-2-0)

Course Description: Fundamental issues in Big Data: data organization, storage, retrieval, analytics, and knowledge discovery at scale.
Prerequisite: CS 370 with a minimum grade of C.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 440  Introduction to Artificial Intelligence  Credits: 4 (3-2-0)

Course Description: Concepts, representations, and algorithms for applications of problem solving search, logical reasoning and machine learning.
Prerequisite: CS 253 with a minimum grade of C and CS 320 with a minimum grade of C.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 445  Introduction to Machine Learning  Credits: 4 (3-2-0)

Course Description: Fundamental concepts and methods of computational data analysis, including pattern classification, prediction, visualization, and recent topics in deep learning.
Prerequisite: CS 320 with a minimum grade of C.
Registration Information: Sophomore standing. Must register for lecture and laboratory. Sections may be offered: Online. Credit allowed for only one of the following: CS 445, CS 480A3, or DSCI 445.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 453  Introduction to Compiler Construction  Credits: 4 (3-0-1)

Course Description: Functional components of a compiler: modules, interfaces, lexical and syntax analysis, error recovery, resource allocation, code generation.
Prerequisite: CS 314 with a minimum grade of C.
Registration Information: Must register for lecture and recitation. Sections may be offered: Online.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 454  Principles of Programming Languages  Credits: 4 (3-3-0)

Course Description: Language design concepts; functional programming; interpreter support for environments, procedures, recursion, types, objects; language paradigms.
Prerequisite: CS 253 with a minimum grade of C and CS 320 with a minimum grade of C.
Registration Information: Must register for lecture and laboratory.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 455  Introduction to Distributed Systems  Credits: 4 (3-2-0)

Course Description: Distributed systems including model of distributed computations; concurrency; thread pools and scalable servers; distributed mutual exclusion; cloud computing; distributed graph algorithms; data representation formats; atomic transactions; large-scale storage systems; distributed shared memory; and overlays.
Prerequisite: CS 370 with a minimum grade of C.
Registration Information: Must register for lecture and laboratory. CS majors and minors only. Sections may be offered: Online.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 457  Computer Networks and the Internet  Credits: 4 (3-3-0)

Course Description: Principles of communications, local area networks, communication protocols, TCP/IP, and the Internet.
Prerequisite: (CS 370 with a minimum grade of C and CS 253 with a minimum grade of C) and (STAT 301 with a minimum grade of C or STAT 303 with a minimum grade of C or ECE 303 with a minimum grade of C or STAT 307 with a minimum grade of C or ERHS 307 with a minimum grade of C or STAT 311 with a minimum grade of C or STAT 315 with a minimum grade of C).
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 464  Principles of Human-Computer Interaction  Credits: 4 (3-2-0)

Course Description: History and trends in human-computer interaction; user-centered design techniques; prototyping; experimental methods for the evaluation of technology.
Prerequisite: CS 253 with a minimum grade of C.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 470  Computer Architecture  Credits: 4 (3-2-0)

Course Description: Instruction set; hardwired, microprogramming; memory; arithmetic; I/O and buses; performance evaluation; pipelining, RISC.
Prerequisite: CS 370.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 475  Parallel Programming  Credits: 4 (3-3-0)

Course Description: Parallel programming techniques for shared-memory and message-passing systems; process synchronization, communication; example languages.
Prerequisite: CS 370 with a minimum grade of C.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 486  Practicum  Credits: Var[1-4] (0-0-0)

Course Description: Supervised work experience in approved computer science setting with periodic consultation of faculty.
Prerequisite: None.
Registration Information: Maximum of 12 credits allowed for any combination of CS 486, CS 495.
Terms Offered: Fall, Spring, Summer.
Grade Mode: Instructor Option.
Special Course Fee: No.

CS 495  Independent Study  Credits: Var[1-18] (0-0-0)

Course Description:
Prerequisite: None.
Registration Information: Maximum of 12 credits allowed for any combination of CS 486, CS 495.
Terms Offered: Fall, Spring, Summer.
Grade Mode: Instructor Option.
Special Course Fee: No.

CS 498  Research  Credits: Var[1-4] (0-0-0)

Course Description: Supervised research in computer science.
Prerequisite: None.
Registration Information: Computer science majors only. Written consent of instructor.
Terms Offered: Fall, Spring, Summer.
Grade Mode: Instructor Option.
Special Course Fee: No.

CS 510  Image Computation  Credits: 4 (3-3-0)

Course Description: Image generation theory and implementation, image manipulation/interpretation. Ray tracing, geometric and photometric manipulation, image matching.
Prerequisite: CS 410.
Registration Information: Must register for lecture and laboratory.
Term Offered: Spring.
Grade Modes: S/U within Student Option, Trad within Student Option.
Special Course Fee: No.

CS 514  Software Product and Process Evaluation  Credits: 4 (3-3-0)

Course Description: Software development process modeling and evaluation; software metrics, testing, verification, validation; experimental methods in software engineering.
Prerequisite: CS 414.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 517  Software Specification and Design  Credits: 4 (3-3-0)

Course Description: Rigorous techniques for modeling, specifying, and analyzing software requirements and designs; reusable software development.
Prerequisite: CS 414.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 518  Distributed Software System Development  Credits: 4 (3-2-0)

Course Description: Principles of developing distributed systems; middleware technologies and techniques for building complex distributed component-based systems.
Prerequisite: CS 414.
Registration Information: Must register for lecture and laboratory.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 520  Analysis of Algorithms  Credits: 4 (3-3-0)

Course Description: Asymptotic complexity, algorithm complexity, and problem complexity; the Master Method; parallel algorithms; algorithm design.
Prerequisite: CS 420.
Registration Information: Must register for lecture and laboratory.
Term Offered: Spring.
Grade Modes: S/U within Student Option, Trad within Student Option.
Special Course Fee: No.

CS 530  Fault-Tolerant Computing  Credits: 4 (3-3-0)

Course Description: Achieving high reliability and fault tolerance. Fault modeling, testing, reliability evaluation, redundancy, fault tolerance. (NT-O)
Prerequisite: CS 370.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Term Offered: Spring.
Grade Modes: S/U within Student Option, Trad within Student Option.
Special Course Fee: No.

CS 533  Database Management Systems  Credits: 4 (3-2-0)

Course Description: Theory and implementation of concurrency control, recovery, and query processing as it applies to centralized and distributed systems.
Prerequisite: CS 430.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 535  Big Data  Credits: 4 (3-3-0)

Course Description: Topics in storage, retrieval, analysis, and knowledge discovery using Big Data. Lectures include real-world case studies.
Prerequisite: CS 455.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 540  Artificial Intelligence  Credits: 4 (3-3-0)

Course Description: Knowledge representation and reasoning, search, planning, evolutionary computation, data mining, information retrieval, intelligent Web, agent systems.
Prerequisite: CS 440.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 545  Machine Learning  Credits: 4 (3-3-0)

Course Description: Computational methods that allow computers to learn; neural networks, decision trees, genetic algorithms, bagging and boosting.
Prerequisite: CS 440.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 548  Bioinformatics Algorithms  Credits: 4 (3-2-0)

Also Offered As: STAT 548.
Course Description: Computational methods for analysis of DNA/protein sequences and other biological data.
Prerequisite: STAT 301 or STAT 307 or STAT 315.
Registration Information: Students should already have knowledge of a contemporary programming language. Must register for lecture and laboratory. Credit not allowed for both CS 548 and STAT 548.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 553  Algorithmic Language Compilers  Credits: 4 (3-3-0)

Course Description: Compiler construction; lexical scanner generators, parser generators, dataflow analysis, optimization.
Prerequisite: CS 453.
Registration Information: Must register for lecture and laboratory.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 555  Distributed Systems  Credits: 4 (3-2-0)

Course Description: Principles, paradigms, protocols and algorithms underlying modern distributed systems.
Prerequisite: CS 455.
Registration Information: Must register for lecture and laboratory. Computer Science graduate students only. Sections may be offered: Online.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 556  Computer Security  Credits: 4 (3-2-0)

Course Description: Topics in computer security: concepts, threats, risks, access control models, trusted systems, cryptography, authentication.
Prerequisite: CS 356 or CS 455.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 557  Advanced Networking  Credits: 4 (3-3-0)

Course Description: Core internet protocols, including transport, routing, and security protocols. Protocol design principles. Network measurements and assessment.
Prerequisite: CS 457.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 560  Foundations of Fine-Grain Parallelism  Credits: 4 (3-2-0)

Also Offered As: ECE 560.
Course Description: Programming novel architectures; performance tuning; automatic parallelization; program transformation; polyhedral model; equational programming.
Prerequisite: CS 475.
Registration Information: Must register for lecture and laboratory. Credit not allowed for both CS 560 and ECE 560. Sections may be offered: Online.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 561  Hardware/Software Design of Embedded Systems  Credits: 4 (3-3-0)

Also Offered As: ECE 561.
Course Description: Embedded systems design including system level modeling, design space exploration, hardware-software partitioning, high level synthesis.
Prerequisite: CS 270 or CS 470 or ECE 251 or ECE 452.
Registration Information: Must register for lecture and laboratory. Credit not allowed for both CS 561 and ECE 561. Sections may be offered: Online.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 570  Advanced Computer Architecture  Credits: 4 (3-3-0)

Course Description: Pipelined CPU design. Superscalar architectures and instruction-level parallelism. Cache and memory hierarchy design. Storage systems.
Prerequisite: CS 470.
Registration Information: Must register for lecture and laboratory.
Term Offered: Fall.
Grade Modes: S/U within Student Option, Trad within Student Option.
Special Course Fee: No.

CS 575  Parallel Processing  Credits: 4 (3-3-0)

Course Description: Parallel and distributed computing models, algorithms, mapping and performance evaluations, parallel computing tools and applications.
Prerequisite: CS 475.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Term Offered: Fall.
Grade Modes: S/U within Student Option, Trad within Student Option.
Special Course Fee: No.

CS 612  Topics in Computer Graphics  Credits: 4 (3-2-0)

Course Description: Computer graphics research topics.
Prerequisite: CS 510.
Restriction: Must be a: Graduate, Professional.
Registration Information: Must register for lecture and laboratory.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 614A  Advanced Topics in Software Engineering: Specification and Design  Credits: 4 (3-3-0)

Course Description:
Prerequisite: CS 514 or CS 517 or CS 518.
Restriction: Must be a: Graduate, Professional.
Registration Information: Must register for lecture and laboratory.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 614B  Advanced Topics in Software Engineering: Testing and Verification  Credits: 4 (3-3-0)

Course Description:
Prerequisite: CS 514 or CS 517 or CS 518.
Restriction: Must be a: Graduate, Professional.
Registration Information: Must register for lecture and laboratory.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 614C  Advanced Topics in Software Engineering: Software Environments and Tools  Credits: 4 (3-3-0)

Course Description:
Prerequisite: CS 514 or CS 517 or CS 518.
Restriction: Must be a: Graduate, Professional.
Registration Information: Must register for lecture and laboratory.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 614D  Advanced Topics in Software Engineering: Software Measurement, Analysis, and Evaluation  Credits: 4 (3-3-0)

Course Description:
Prerequisite: CS 514 or CS 517 or CS 518.
Restriction: Must be a: Graduate, Professional.
Registration Information: Must register for lecture and laboratory.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 614E  Advanced Topics in Software Engineering: Application Domains  Credits: 4 (3-3-0)

Course Description:
Prerequisite: CS 514 or CS 517 or CS 518.
Restriction: Must be a: Graduate, Professional.
Registration Information: Must register for lecture and laboratory.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 620  Advanced Topics in Algorithms  Credits: 4 (3-2-0)

Course Description: Designing and analyzing algorithms and data structures; illustrations from a variety of problem domains.
Prerequisite: CS 520.
Restriction: Must be a: Graduate, Professional.
Registration Information: Must register for lecture and laboratory.
Term Offered: Fall (odd years).
Grade Mode: Traditional.
Special Course Fee: No.

CS 635  Advanced Fault-Tolerant Computing  Credits: 4 (3-3-0)

Course Description: Advanced topics and recent developments in high reliability and fault-tolerant systems.
Prerequisite: CS 530.
Restriction: Must be a: Graduate, Professional.
Registration Information: Must register for lecture and laboratory.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 640  Advanced Artificial Intelligence I  Credits: 2 (2-0-0)

Course Description: Research topics in artificial intelligence: genetic algorithms, neural networks, connectionist models; machine learning; planning, automated reasoning.
Prerequisite: CS 540.
Restriction: Must be a: Graduate, Professional.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 641  Advanced Artificial Intelligence II  Credits: 2 (2-0-0)

Course Description: Advanced research topics in artificial intelligence.
Prerequisite: CS 640.
Restriction: Must be a: Graduate, Professional.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 645  Advanced Machine Learning: Neural Networks  Credits: 4 (3-2-0)

Course Description: Study of machine learning research literature and implementations of algorithms for neural networks and reinforcement learning.
Prerequisite: CS 545 with a minimum grade of C.
Restriction: Must be a: Graduate, Professional.
Registration Information: Must register for lecture and laboratory.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 646  Machine Learning in Bioinformatics  Credits: 4 (3-2-0)

Course Description: Recent research on the applications of machine learning in bioinformatics.
Prerequisite: CS 545 or STAT 560.
Restriction: Must be a: Graduate, Professional.
Registration Information: Must register for lecture and laboratory.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 653  Topics in Programming Language Implementation  Credits: 4 (3-3-0)

Course Description: Data dependence analysis; code generation.
Prerequisite: CS 553.
Restriction: Must be a: Graduate, Professional.
Registration Information: Must register for lecture and laboratory.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 655  Advanced Topics in Distributed Systems  Credits: 4 (3-2-0)

Course Description: Issues related to robustness, replication, consistency, scalability, isolation and privacy in large-scale distributed systems.
Prerequisite: CS 555.
Restriction: Must be a: Graduate, Professional.
Registration Information: Must register for lecture and laboratory.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 656A  Advanced Topics in Computer Security: Formal Models of Computer Security  Credits: 4 (3-2-0)

Course Description: Advanced research topics in computer security.
Prerequisite: CS 556.
Restriction: Must be a: Graduate, Professional.
Registration Information: Must register for lecture and laboratory.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 656B  Advanced Topics in Computer Security: Models for Privacy and Application Security  Credits: 4 (3-2-0)

Course Description: Advanced research topics in computer security.
Prerequisite: CS 556.
Restriction: Must be a: Graduate, Professional.
Registration Information: Must register for lecture and laboratory.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 656C  Advanced Topics in Computer Security: Network Security  Credits: 4 (3-2-0)

Course Description: Advanced research topics in computer security.
Prerequisite: CS 556.
Restriction: Must be a: Graduate, Professional.
Registration Information: Must register for lecture and laboratory.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 657  Advanced Topics in Computer Networking  Credits: 4 (3-2-0)

Course Description: Advanced research topics in computer networks.
Prerequisite: CS 557.
Restriction: Must be a: Graduate, Professional.
Registration Information: Must register for lecture and laboratory.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 658  Internet Engineering  Credits: 4 (3-3-0)

Also Offered As: ECE 658.
Course Description: Link technologies, multiple access, hardware and software for internetworks routing, switching flow control, multicast, performance, and applications.
Prerequisite: CS 457 or ECE 456.
Restriction: Must be a: Graduate, Professional.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online. Credit not allowed for both ECE 658 and CS 658.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 670B  Topics in Architecture/Systems: Performance Evaluation and Modeling  Credits: Var[1-4] (0-0-0)

Also Offered As: ECE 670B.
Course Description:
Prerequisite: CS 570 or ECE 554.
Restriction: Must be a: Graduate, Professional.
Registration Information: Credit not allowed for both CS 670B and ECE 670B.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 670C  Topics in Architecture/Systems: Distributed Systems  Credits: Var[1-4] (0-0-0)

Also Offered As: ECE 670C.
Course Description:
Prerequisite: CS 570 or ECE 554.
Restriction: Must be a: Graduate, Professional.
Registration Information: Credit not allowed for both CS 670C and ECE 670C.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 670D  Topics in Architecture/Systems: Architecture of Advanced Systems  Credits: Var[1-4] (0-0-0)

Also Offered As: ECE 670D.
Course Description:
Prerequisite: CS 570 or ECE 554.
Restriction: Must be a: Graduate, Professional.
Registration Information: Credit not allowed for both CS 670D and ECE 670D.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 675  Advanced Parallel Computing  Credits: 4 (3-3-0)

Course Description: Parallel computing, computational models, parallel languages and algorithms, distributed simulation, Internet and mobile computing, parallel search.
Prerequisite: None.
Restriction: Must be a: Graduate, Professional.
Registration Information: Written consent of instructor. Must register for lecture and laboratory.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 692  Seminar  Credits: Var[1-18] (0-0-0)

Course Description:
Prerequisite: None.
Restriction: Must be a: Graduate, Professional.
Terms Offered: Fall, Spring.
Grade Mode: Instructor Option.
Special Course Fee: No.

CS 695  Independent Study  Credits: Var[1-18] (0-0-0)

Course Description:
Prerequisite: None.
Restriction: Must be a: Graduate, Professional.
Terms Offered: Fall, Spring, Summer.
Grade Mode: Instructor Option.
Special Course Fee: No.

CS 696  Group Study  Credits: Var[1-18] (0-0-0)

Course Description:
Prerequisite: None.
Restriction: Must be a: Graduate, Professional.
Terms Offered: Fall, Spring, Summer.
Grade Mode: Instructor Option.
Special Course Fee: No.

CS 699  Thesis  Credits: Var[1-18] (0-0-0)

Course Description:
Prerequisite: None.
Restriction: Must be a: Graduate, Professional.
Terms Offered: Fall, Spring, Summer.
Grade Mode: Instructor Option.
Special Course Fee: No.

CS 787  Internship  Credit: 1 (0-3-0)

Course Description: Summer internship experience in computer science.
Prerequisite: None.
Restriction: Must be a: Graduate, Professional.
Term Offered: Summer.
Grade Mode: Instructor Option.
Special Course Fee: No.

CS 793  Research Seminar in Computer Science  Credits: 4 (0-0-4)

Course Description: Research methods in specific areas of computer science.
Prerequisite: None.
Restriction: Must be a: Graduate, Professional.
Registration Information: Graduate standing in computer science.
Terms Offered: Fall, Spring.
Grade Mode: Instructor Option.
Special Course Fee: No.

CS 799  Dissertation  Credits: Var[1-18] (0-0-0)

Course Description:
Prerequisite: None.
Restriction: Must be a: Graduate, Professional.
Terms Offered: Fall, Spring, Summer.
Grade Mode: Instructor Option.
Special Course Fee: No.

Computing Technology (CT)  

CT 310  Web Development  Credits: 4 (3-3-0)

Course Description: Web development languages used to create fully functional dynamic web sites; server and client scripting, database access and security issues.
Prerequisite: CS 220 and CS 165.
Registration Information: Must register for lecture and laboratory.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CT 320  Network and System Administration  Credits: 4 (3-3-0)

Course Description: Installation of network and operating system services, management and support; upgrades, security, backups.
Prerequisite: CS 155 and CS 156 or CS 253.
Registration Information: Must register for lecture and laboratory.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.