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 |