Undergraduate Courses

Last Updated: May 16, 2018

Code Title Description
CS 10 Introduction to Computing History of computing, parts of a computer, data storage in a computer, trends and issues in computing.
CS 11 Computer Programming I Basic Programming, Programming Constructs, Programming Logic.
CS 12 Computer Programming II Abstract data types: Advanced programming techniques: Exception handling. Documentation. API programming
CS 20 Digital Electronics and Circuits Basic electronics, digital logic design, physical/embedded computing (Prereq: CS 12)
CS 21 Computer Organization and Architecture Computer Organization, Computer Architecture, Assembly Language Programming (Prereq: CS 20)
CS 30 Discrete Mathematics for Computer Science I Discrete structures and their applications to Computer Science I, Logic and Methods of Proof.
CS 31 Discrete Mathematics for Computer Science II Discrete structures and their applications to Computer Science II, Introduction to Counting Theory, Graph Theory and Discrete Probability
CS 32 Discrete Mathematics for Computer Science I Introduction to algorithm design and analysis, Linear data structures and their applications; Sorting Algorithms and Randomized Algorithms; Algorithm Analysis (Prereq: CS 12, CS 31)
CS 33 Discrete Mathematics for Computer Science II Trees, graphs, algorithms on graphs, generalized lists, randomized algorithms, and probabilistic analysis.
CS 132 Introduction to Data Science Big data analytics, statistical models, Bayesian methods, Markov chains.
CS 133 Automata Theory and Computability Alphabet, words, languages and algorithmic problems. Finite automata and hierarchy of languages. Turing machines. Tractable and intractable problems. Uncomputable functions. The halting problem.
CS 136 Elementary Numerical Computing I Elementary differential equations, introduction to numerical analysis, root finding, collocation method.
CS 138 Elementary Numerical Computing II Numerical differentiation and integration, partial differential equations, numerical linear algebra
CS 140 Operating Systems Operating system concepts; virtualization and multiprocessing, issues and considerations in designing and implementing common features of operating systems; virtual machines and hypervisors; introduction to real-time operating systems, and operating syste
CS 145 Computer Networks Network models and layers, protocol stacks, networks performance analysis, packet analysis, computer networks security, overview of advanced networking technologies
CS 150 Programming Languages Survey of Programming Languages: History and overview of programming languages, Programming paradigms: imperative, functional, object-oriented, logic, Type systems, Declaration and modularity, Introduction to syntax and semantics
CS 153 Introduction to Computer Security Computer security models and protocols. Security issues. Cryptographic algorithms and digital signatures. Risk Assessment
CS 155 Compiler Construction Compiler phases, scanners and parsers, semantic analysis and type checking, syntax directed translation, function and procedure calls and runtime organization, register allocation and instruction selection, ...
CS 165 Database Systems Relational database concepts: Entity Relation modeling, relational model, relational algebra, relational database design and normalization, structured query language, query optimization, File management, Storage and Indexing, ...
CS 171 Topics in Theoretical Computer Science Prereq: COI; may be taken twice, topic to be indicated for record purposes.
CS 173 Topics in Software Technology Prereq: COI; may be taken twice, topic to be indicated for record purposes.
CS 174 Topics in Computer Systems Prereq: COI; may be taken twice, topic to be indicated for record purposes.
CS 175 Topics in Computational Science Prereq: COI; may be taken twice, topic to be indicated for record purposes.
CS 176 Topics in Intelligent Systems Prereq: COI; may be taken twice, topic to be indicated for record purposes.
CS 180 Artificial Intelligence Fundamental principles of artificial intelligence. Search methods. Knowledge representation and reasoning. Agents. Machine learning and neural networks. Current research applications
CS 191 Software Engineering I Principles of Software Engineering, Software Project Management, Requirements Engineering, Software Analysis and Design Patterns, Software Quality Assurance, Software Testing
CS 192 Software Engineering II Software Implementation and Maintenance, Integration Strategies, and Security Issues.
CS 194 Undergraduate Research Seminar Prereq: Junior standing. 1u. (1hr seminar)
CS 196 Seminar on Ethical and Professional Issues in Computing Prereq: Senior standing. 1u. (1hr seminar)
CS 198 Special Problems I Prereq: Senior standing (1hr lec, 6hr lab)
CS 199 Special Problems II
CS 200 Thesis