A collage of photos showing Computer Science students.

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

Professor Craig Partridge, Chair

Majors

Minors

Change of Major Process

The Computer Science Department is a competitive major because we want students to be set up for success. To be eligible to declare the Major in Computer Science, the Minor in Computer Science, or the Minor in Machine Learning, students must meet the following requirements:

For more information, or to declare the Computer Science major or one of our minors, students should meet with a Computer Science advisor to discuss degree requirements, career opportunities, undergraduate research, department resources and policies. Visit the Computer Science Advising website for more information on how to schedule an appointment. 

If a student does not meet the requirements yet, we encourage them to:

  • Take the following courses to work towards the major/minor control requirements: CS 150B, CS 152, CS 162, CS 164, CS 165, CS 220.

  • Participate in the Computer Science community through applicable Computer Science Department clubs.

Graduate Programs in Computer Science

The department offers 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's 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 150A  Culture and Coding: Java (GT-AH3)  Credits: 3 (2-2-0)

Course Description: Survey of computer science, formal logic, and computational thinking. Explores the historical, gender, and cultural perspectives on the role of technology in society. Includes learning basic elements of the Java programming language. Write small programs, and construct written arguments on ways in which technology influences our modern culture. Previous computer science experience not necessary.
Prerequisite: None.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online. Credit allowed for only one of the following: CS 150, CS 150A, or CS 150B.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.
Additional Information: Arts & Humanities 3B, Ways of Thinking (GT-AH3).

CS 150B  Culture and Coding: Python (GT-AH3)  Credits: 3 (2-2-0)

Course Description: Survey of computer science, formal logic, and computational thinking. Explores the historical, gender, and cultural perspectives on the role of technology in society. Includes learning basic elements of the Python programming language. Write small programs, and construct written arguments on ways in which technology influences our modern culture. Previous computer science experience not necessary.
Prerequisite: None.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online. Credit allowed for only one of the following: CS 150, CS 150A, or CS 150B.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.
Additional Information: Arts & Humanities 3B, Ways of Thinking (GT-AH3).

CS 152  Python for STEM  Credits: 2 (1-0-1)

Course Description: Introductory Python programming for students with no prior programming experience focusing on STEM disciplines. Topics include variables, types, operators, expressions, conditionals, loops, functions, lists, dictionaries, strings, file input/output, and modules. Programming is motivated with examples and assignments from various STEM fields.
Prerequisite: CS 163 or MATH 124 with a minimum grade of B or MATH 125 with a minimum grade of B or MATH 126 with a minimum grade of B or MATH 127 with a minimum grade of B or MATH 141 with a minimum grade of C or MATH 155 with a minimum grade of C or MATH 156 with a minimum grade of C or MATH 157 with a minimum grade of C or MATH 159 with a minimum grade of C or MATH 160 with a minimum grade of C.
Registration Information: Must register for lecture and recitation. Sections may be offered: Online.
Terms Offered: Fall, Spring, Summer.
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 or MATH 127).
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 or MATH 127).
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 162  CS1--Introduction to Java Programming  Credits: 2 (1-0-1)

Course Description: Introduction to java and object oriented programming concepts. Topics include variables, assignment, expressions, operators, Booleans, conditionals, characters and strings, loops, arrays, objects and classes, file input/output, interfaces, recursion, lists, and sorting. Covers four pillars of object oriented programming: Encapsulation, Abstraction, Inheritance, and Polymorphism. Assumes prior programming experience.
Prerequisite: CS 150B with a minimum grade of B or CS 152 with a minimum grade of B, may be taken concurrently or CS 163.
Registration Information: Must register for lecture and recitation. This is a partial semester course. Sections may be offered: Online.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

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

Course Description: Computer programming 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: CIS 240 with a minimum grade of C or CS 150A with a minimum grade of C or CS 150B with a minimum grade of C or CS 152 with a minimum grade of C or MATH 120 with a minimum grade of C or MATH 124 with a minimum grade of C or MATH 127 with a minimum grade of C.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online. 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  CS1--Computational Thinking with Java  Credits: 4 (3-2-0)

Course Description: Learn computational thinking using Java as the primary language. Problem formulation and decomposition, data representation, and algorithmic design. Coding concepts include expressions, operators, Booleans, conditionals, characters and strings, loops, arrays, objects and classes, file input/output, interfaces, recursion, lists, and sorting. Covers four pillars of object oriented programming: Encapsulation, Abstraction, Inheritance, and Polymorphism.
Prerequisite: CIS 240 with a minimum grade of B or CS 150A with a minimum grade of B or CS 150B with a minimum grade of B or CS 152 with a minimum grade of B or CS 163.
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 165  CS2--Data Structures  Credits: 4 (3-2-0)

Course Description: Object oriented concepts, assertions, inheritance, polymorphism, algorithms and data structures using an object oriented language.
Prerequisite: CS 162 with a minimum grade of C or CS 163 with a minimum grade of C or CS 164 with a minimum grade of C or CIS 340 with a minimum grade of C.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online. 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  Credit: 1 (0-0-1)

Course Description: Computer science as a field of study and a major program at CSU. Addresses career exploration, research experience opportunities, post-graduation planning, and building a skill base of successful academic strategies.
Prerequisite: None.
Restriction: Must be a: Undergraduate.
Registration Information: Freshman and sophomore Computer Science and Applied Computing Technology majors only.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.

CS 201  Ethical Computing Systems (GT-AH3)  Credits: 3 (3-0-0)

Also Offered As: PHIL 201.
Course Description: Survey of contemporary ethical issues in information technology and software development. Explore moral, social, and legal issues with information technology in the modern world. Construct arguments based on modern ethical issues, and issues explored through science fiction.
Prerequisite: None.
Registration Information: Sections may be offered: Online.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.
Additional Information: Arts & Humanities 3B, Ways of Thinking (GT-AH3).

CS 214  Software Development  Credits: 3 (2-0-1)

Course Description: Development of large software systems. Design and enhance the features and quality of a large system while using tools for software engineering and project management.
Prerequisite: CS 165 with a minimum grade of C.
Registration Information: Must register for lecture and recitation. Sections may be offered: Online.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
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 150A with a minimum grade of B or CS 150B with a minimum grade of B or CS 152 with a minimum grade of B or CS 162 with a minimum grade of C or CS 163 with a minimum grade of C or CS 164 with a minimum grade of C) and (MATH 155 or MATH 156 or MATH 159 or MATH 160).
Restriction: Must not be a: Freshman.
Registration Information: Sophomore standing. Must register for lecture and recitation. Sections may be offered: Online.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 250  Computer Systems Foundations  Credits: 4 (3-0-1)

Course Description: Foundations of computer systems encompassing processors, networks, storage, and computing frameworks. Discussion of processors, cores, and co-processors (GPUs, TPUs). Speed differential across the memory hierarchy and the implications of caching. Data structures for storage systems. Overview of parallel and distributed computing frameworks. Future computing systems including neuromorphic computing.
Prerequisite: CS 162 with a minimum grade of C or CS 163 with a minimum grade of C or CS 164 with a minimum grade of C.
Restriction: Must not be a: Freshman.
Registration Information: Sophomore standing. Must register for lecture and recitation. Sections may be offered: Online. Credit not allowed for both CS 250 and CS 280A1.
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 165 with a minimum grade of C.
Registration Information: Must register for lecture and recitation. Sections may be offered: Online. Credit not allowed for both CS 253 and CT 301.
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 163 with a minimum grade of C or CS 164 with a minimum grade of C.
Registration Information: Sophomore standing. Computer Science and Applied Computing Technology majors only. Must register for lecture and laboratory. Sections may be offered: Online.
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 310H  Design Thinking Toolbox: Mixed Reality Design  Credits: 3 (3-0-0)

Also Offered As: IDEA 310H.
Course Description: Introduction to topics in virtual and augmented reality. Learn how to create virtual (i.e., artificial) worlds using a game engine to provide hands-on experience and promote "iterative tinkering” through exploration of various design processes.
Prerequisite: CS 253 or IDEA 210.
Registration Information: Sophomore standing. Sections may be offered: Online. Credit not allowed for both CS 310H and IDEA 310H.
Term Offered: Fall (even years).
Grade Mode: Traditional.
Special Course Fee: Yes.

CS 312  Modern Web Applications  Credits: 3 (2-2-0)

Course Description: Development of the modern web application. Emphasis on the essentials needed to create fully functional web applications including rich graphical content and dynamic content, using modern web standards. Explore service-based architecture, web UX design, asynchronous content delivery, and full-stack development.
Prerequisite: CIS 340 with a minimum grade of C or CS 165 with a minimum grade of C or JTC 370 with a minimum grade of C.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online. Credit allowed for only one of the following: CIS 410, CS 312, or CT 310.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

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

Course Description: Principles, concepts, and techniques associated with team-based development of large, complex software systems. Topics include teamwork, configuration management, project management, requirements engineering, and systematic testing techniques. Use software tools in the context of a Scrum-based Agile development project.
Prerequisite: CS 214 with a minimum grade of C or CS 253 with a minimum grade of C.
Registration Information: Sections may be offered: Online.
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 CS 165 with a minimum grade of C) and (MATH 155 with a minimum grade of C or MATH 156 with a minimum grade of C or MATH 160 with a minimum grade of C) and (DSCI 369 with a minimum grade of C or MATH 229 with a minimum grade of C or MATH 369 with a minimum grade of C).
Registration Information: Sections may be offered: Online.
Terms Offered: Fall, Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 345  Machine Learning Foundations and Practice  Credits: 3 (3-0-0)

Course Description: Machine learning algorithms and tools for predictive modeling presented using case studies that inform their use in real-world applications.
Prerequisite: (CS 220 with a minimum grade of C) and (CS 150B with a minimum grade of C or CS 152 with a minimum grade of C or CS 165 with a minimum grade of C or DSCI 235 with a minimum grade of C) and (MATH 155 with a minimum grade of C or MATH 156 with a minimum grade of C or MATH 159 with a minimum grade of C or MATH 160 with a minimum grade of C) and (STAT 301 with a minimum grade of C or STAT 302A with a minimum grade of C or ECE 303 with a minimum grade of C or STAT 303 with a minimum grade of C or STAT 307 with a minimum grade of C or STAT 315 with a minimum grade of C).
Registration Information: Sections may be offered: Online. Credit not allowed for both CS 345 and DSCI 445.
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 214 with a minimum grade of C or CS 253 with a minimum grade of C or CS 370 with a minimum grade of C.
Registration Information: Sections may be offered: Online.
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 165 with a minimum grade of C) and (CS 250 with a minimum grade of C or CS 270 with a minimum grade of C or ECE 251 with a minimum grade of C).
Registration Information: Sections may be offered: Online.
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 214 with a minimum grade of C or CS 253 with a minimum grade of C) and (DSCI 369 with a minimum grade of C or 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 415  Software Testing  Credits: 4 (3-2-0)

Course Description: Systematic approaches to software testing, theoretical foundations, and the current state of practice. Techniques and tools that improve software testing and overall development skills.
Prerequisite: CS 314 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 420  Introduction to Analysis of Algorithms  Credits: 4 (3-0-1)

Prerequisite: CS 320 with a minimum grade of C.
Grade Mode: Traditional.
Special Course Fee: No.

CS 422  Automata, Logic, and Computation  Credits: 4 (3-2-0)

Course Description: Foundations for modeling and analysis of computational systems. Topics include finite-state automata, regular expressions, pushdown automata, context-free languages, Turing machines and decidability, reducibility, logical theories.
Prerequisite: CS 320 with a minimum grade of C or ECE 312 with a minimum grade of B or MATH 360 with a minimum grade of B or MATH 366 with a minimum grade of B.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online. Credit not allowed for both CS 422 and CS 480A4.
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: (BZ 360 with a minimum grade of C or CS 320 with a minimum grade of C) and (CS 345 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. Examine issues related to data organization, storage, retrieval, analysis and knowledge discovery at scale. Topics include large-scale data analysis, scalable computing frameworks, data storage systems, and semi-structured data models. Involves hands-on programming assignments and term project using real-world datasets.
Prerequisite: CS 320 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: Fall.
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 solving search, logical reasoning and machine learning problems.
Prerequisite: CS 320 with a minimum grade of C and CS 345 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 165 with a minimum grade of C) and (CS 345 with a minimum grade of C or DSCI 445 with a minimum grade of C and DSCI 235 with a minimum grade of C) and (DSCI 369 with a minimum grade of C or 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. Credit not allowed for both: CS 445 and CS 480A3.
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 456  Modern CyberSecurity  Credits: 4 (3-2-0)

Course Description: Contemporary cyber-security issues; techniques, programs, tools and methods for examining contemporary cyber-attacks and cyber-defenses.
Prerequisite: CS 356 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 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 214 with a minimum grade of C or CS 253 with a minimum grade of C) and (CS 370 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 458  Blockchain Principles and Applications  Credits: 4 (3-2-0)

Course Description: Presents various aspects of blockchain technology including distributed ledgers and consensus, internal mechanisms, smart contracts and DApps (distributed applications). Focus on Naivecoin, Bitcoin and Ethereum as case studies. Explore various application areas for blockchains including elections, supply chain management and others. Engage hands-on in the design, implementation and evaluation of DApps.
Prerequisite: CS 314 with a minimum grade of C.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online. Credit not allowed for both CS 458 and CS 481A3.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

CS 462  Engaging in Virtual Worlds  Credits: 4 (3-2-0)

Course Description: A hands-on introduction to the fundamental concepts and practices required to design, develop, and adapt virtual 3D worlds using mature, state-of-the-art tools. Basics of 3D modeling, scene construction, lighting, rendering, and properties; bringing objects into motion, characters to life, and interactions into the world.
Prerequisite: (CS 214 with a minimum grade of C or CS 253 with a minimum grade of C) and (DSCI 369 with a minimum grade of C or 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 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 214 with a minimum grade of C or CS 253 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 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 320 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: 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)

Prerequisite: None.
Grade Mode: Instructor Option.
Special Course Fee: No.

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

Prerequisite: None.
Grade Mode: Instructor Option.
Special Course Fee: No.

CS 501  Introduction to Research in Computer Science  Credit: 1 (2-0-0)

Course Description: Develop the skills needed to effectively participate in graduate work (both orally and in writing) and learn how to successfully function in academic discourse communities. Participate in a number of rotations related to current research interests of department faculty, explore advanced research in the field, and develop skills to produce research.
Prerequisite: None.
Restriction: Must be a: Graduate.
Registration Information: May be taken twice for credit. Sections may be offered: Online.
Terms Offered: Fall, Spring, Summer.
Grade Mode: S/U Sat/Unsat Only.
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 515  Software Maintenance & Evolution  Credits: 4 (3-2-0)

Course Description: Software maintenance fundamentals, software evolution principles, software properties and paradigms, software decay and aging, software change management, software quality, software refactoring, mining software repositories, defect prediction and effort estimation, and software documentation.
Prerequisite: CS 414.
Restriction: Must be a: Graduate.
Registration Information: Graduate standing. Must register for lecture and laboratory. Sections may be offered: Online. Credit not allowed for both CS 515 and CS 581A3.
Term Offered: Spring.
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 522  Foundations of Cyber-Physical Systems  Credits: 4 (3-2-0)

Course Description: Principles of design, specification, modeling, and analysis of cyber-physical systems and software. Topics include model-based design, formal methods for specification and verification, and control theory.
Prerequisite: CS 320 or CS 420.
Restriction: Must be a: Graduate.
Registration Information: Graduate standing. Must register for lecture and laboratory. Credit not allowed for both CS 522 and CS 581A4.
Term Offered: Spring.
Grade Mode: Traditional.
Special Course Fee: No.

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

Course Description: Computational methods for analysis of DNA/protein sequences and other biological data, including deep learning and other machine learning methods.
Prerequisite: (CS 320 with a minimum grade of C and CS 345 with a minimum grade of C) and (STAT 301 with a minimum grade of C or ECE 303 with a minimum grade of C or STAT 303 with a minimum grade of C or STAT 307 with a minimum grade of C or STAT 315 with a minimum grade of C) and (DSCI 369 with a minimum grade of C or MATH 369 with a minimum grade of C).
Restriction: .
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online. Credit not allowed for both CS 425 and CS 525.
Grade Mode: Traditional.
Special Course Fee: No.

CS 528  Embedded Systems and Machine Learning  Credits: 4 (3-2-0)

Also Offered As: ECE 528.
Course Description: Machine learning for embedded computing systems; hardware/software optimizations for machine learning; hardware accelerators for deep learning; data reuse and sharing techniques; memory and network design for machine learning acceleration; anomaly detection and adversarial learning; advanced applications of machine learning in embedded applications.
Prerequisite: CS 250 with a minimum grade of C or CS 270 with a minimum grade of C or ECE 251 with a minimum grade of C.
Restriction: Must not be a: Freshman, Sophomore.
Registration Information: Junior standing. Must register for lecture and laboratory. Sections may be offered: Online. Credit allowed for only one of the following: CS 528, CS 581C1, ECE 528, or ECE 581C1.
Term Offered: Fall.
Grade Mode: Traditional.
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 scalable computing models, optimization algorithms, large-scale non-traditional data storage frameworks including graph, key-value, and column-family storage systems; data stream analysis; scalable prediction models and in-memory storage systems.
Prerequisite: CS 435 with a minimum grade of B.
Registration Information: Must register for lecture and laboratory.
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 542  Natural Language Processing  Credits: 4 (3-2-0)

Course Description: A survey of fundamental concepts, mathematical foundations, and algorithms in natural language processing and computational linguistics. Computational analysis of language data on all levels using methods that include finite state machines; n-gram language models; Bayesian, generative, and conditional models; hidden Markov models; statistical parsing; distributional semantics; and neural networks.
Prerequisite: CS 345 with a minimum grade of C.
Restriction: Must not be a: Freshman, Sophomore.
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Term Offered: Fall.
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 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 559  Quantitative Security  Credits: 4 (3-2-0)

Course Description: Quantitative assessment of security risks in computing systems. Approaches involve data-based analysis of vulnerabilities, their exploitation, the impact of security breaches and the economy of risk-control measures.
Prerequisite: (CS 356 with a minimum grade of B) and (STAT 301 with a minimum grade of B or STAT 315 with a minimum grade of B).
Registration Information: Must register for lecture and laboratory. Sections may be offered: Online.
Term Offered: Fall.
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 250 with a minimum grade of C or CS 270 with a minimum grade of C or CS 470 or ECE 251 with a minimum grade of C 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: Spring (odd years).
Grade Mode: Traditional.
Special Course Fee: No.

CS 567  3D User Interfaces  Credits: 4 (3-2-0)

Course Description: Introduction to the theory of interaction design for 3D user interfaces (3DUI). Interaction (selection, manipulation, travel, and wayfinding), virtual environments, and application to 3DUI. Relevance of 3DUI principles to traditional displays, virtual reality, augmented reality, and mixed reality.
Prerequisite: None.
Registration Information: Must register for lecture and laboratory. 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, & 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: Fall (even years).
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.
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.
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.
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 301  C++ Fundamentals  Credits: 2 (1-0-1)

Course Description: C++ syntax, memory management, file input/output, pointers, references, exceptions, and object-oriented programming in C++.
Prerequisite: CS 162 with a minimum grade of C or CS 163 with a minimum grade of C or CS 164 with a minimum grade of C.
Registration Information: Must register for lecture and recitation. Sections may be offered: Online. Credit not allowed for both CS 253 and CT 301.
Terms Offered: Fall, 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 156 or CS 270.
Registration Information: Must register for lecture and laboratory.
Term Offered: Fall.
Grade Mode: Traditional.
Special Course Fee: No.