Academics
-
Programs offered by the department
Courses offered by the department
Last Updated: May 21, 2025
| Code | Title | Description |
|---|---|---|
| Bioinfo 201 | Foundations of Bioinformatics | Foundational biological and computational concepts, algorithms and bioinformatics tools for analyzing data |
| Bioinfo 202 | Statistics for Bioinformatics | Concepts in probability theory, sampling distributions, statistical methods and theories for proper testing and evaluation of methods and output of bioinformatics analyses |
| Bioinfo 203 | Bioinformatics Software Engineering | Bioinformatics software development and engineering methods and processes, and case studies for bioinformatics applications |
| Bioinfo 204 | Computational Methods for Analyzing Nucleic Acids and Proteins | Applications and algorithms for the analysis of nucleic acids and protein structures and interactions |
| Bioinfo 205 | Fundamentals of Computational Biology | Models and methods of analysis for various levels of biological organization |
| Bioinfo 221 | Genomic and Transcriptomic Bioinformatics | Advanced computational methods for phylogenetics, sequence assembly, and transcriptomic analysis |
| Bioinfo 271 | Ethical, Legal and Social Issues in Bioinformatics | Case studies regarding various ethical, legal and social issues in bioinformatics |
| Bioinfo 296 | Graduate Seminar | Synthesis of research papers and effective communication of research in bioinformatics |
| Bioinfo 297 | Special Topics in Bioinformatics | |
| Bioinfo 300 | Master's Thesis | |
| COI | - | |
| 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 | Data Structures and Algorithms 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 | Data Structures and Algorithms 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 172 | Topics in Net-Centric Computing | 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 | |
| CS 204 | Theory of Computation | Formal models of computation; recursive function theory; undecidability. Resourcebounded computational complexity, non-determinism, NPcompleteness. |
| CS 208 | Complexity Theory | Computational models, measures of complexity, complexity classes: nondeterministic, alternating, probabilistic, parallel. Boolean circuits. Complete problems. |
| CS 210 | Advanced Algorithms and Data Structures | Advanced data structures; algorithm design techniques; mathematical techniques in the analysis of algorithms. |
| CS 211 | Combinatorial Optimization | Design and analysis of algorithms for combinatorial optimization problems, worst-case complexity, NP- Completeness proofs, heuristics. Open problems. |
| CS 213 | Communication Theory | Mathematical theory of communication. Information Theory, Communication Channels. Coding. Cryptography. |
| CS 214 | Parallel Algorithms | Models of parallel computation. Performance measures, scalability, pipelining, techniques for analyzing parallel algorithms. Interconnection network topologies. Applications. |
| CS 216 | Randomized Algorithms | Construction and analysis of randomized algorithms. Expected performance of randomized algorithms, fundamental limitations on probabilistic computations, complexity issues, applications. |
| CS 220 | Survey of Programming Languages | Comparative study of different types of modern programming languages; imperative, functional, logic-based and object-oriented. Syntax, semantics and implementation of programming languages. |
| CS 222 | Programming Language Theory | Fundamental concepts underlying all programming languages. Semantic aspects including binding times, visibility, retention, storage management, abstraction mechanisms and extensibility. Operational and denotational semantic specifications. |
| CS 225 | Compiler Design and Construction | Theory of compiler design and construction: techniques in error correction and recovery; code generation and optimization. |
| CS 231 | Numerical Computing | Algorithm design for numerical computation. Error analysis. Performance evaluation of numerical software. |
| CS 233 | Probabilistic Methods in Computer Science | Random combinatorial structures and their applications to computer science. |
| CS 236 | Scientific Computing | Problems and methods in scientific computing. Applications from science and engineering. |
| CS 239 | Parallel Computing | Parallel computer architectures. Programming for parallel architectures. Representation, program dependence, control structures. |
| CS 240 | Computer Graphics | Solid modeling: Euler operators, finite element methods. Rendering: filling, shading, ray tracing. Natural modeling: L-systems, fractals. Image processing: filtering, antialiasing, enhancement. |
| CS 242 | Data Visualization | Visualization techniques for data from science, business, social science, demographics, and information management. |
| CS 245 | Network Optimization | Algorithms for network optimization problems; shortest paths, maximum flows, minimum-cost flows, multicommodity flows, dynamic flows, minimum cuts, matching, and assignment problem |
| CS 247 | Cryptography | Primality testing, finite fields, elliptic curves. Protocols: public key cryptography, digital signatures, zero knowledge proofs, and other cryptographic protocols. |
| CS 248 | Computational Mathematics | Overview of computational mathematics. Algorithms for computing with algebraic structures. Computer algebra systems. |
| CS 250 | Advanced Operating Systems | Synchronization and communication mechanisms, virtual memory management,file systems, deadlock control, resource allocation, protection and access control. Case study of specialized systemsother cryptographic protocols. |
| CS 252 | Advanced Computer Architecture | |
| CS 253 | Computer Security | Encryption, digital signatures,authentication, key management. Secure electronic commerce. Network Security. File security. |
| CS 255 | Advanced Computer Networks | The OSI Reference Model and layers. Distributed computing. Networked multimedia systems. Clint-server computing. Communication and internet working. |
| CS 256 | Computer Systems Performance Analysis | Overview of performance evaluation. Measurement techniques and tools. Applications of probability theory and techniques. Experimental design and analysis. Simulation and queuing models |
| CS 257 | Distributed Systems | Computer communications networks and their protocols. Event ordering and synchronization. Deadlocks. Network operating systems and languages for distributed computing. Distributed databases. Fault tolerance and recovery strategies. Applications. |
| CS 258 | Mobile Computing | Mobile computing systems. Data management, packet transmission, mobile IP, routing protocols, reliability and issues in mobile wireless networks. |
| CS 259 | Network Performance, Modeling and Monitoring | Network performance evaluation. Measurement techniques and tools. Simulation, queuing models, case studies, practicals. |
| CS 260 | Advanced Software Engineering | Structured approach to requirements analysis, system design, implementation and maintenance of software systems. Formal description and documentation techniques. |
| CS 262 | Methods of Software Development | Modern approaches to software development. Prototyping and automated tools. Computer Aided Systems Engineering (CASE) methods and tools. Object-oriented Programming Systems (OOPS). |
| CS 265 | Software Quality Assurance | Quality Management, Quality Assurance, Quality Control. Measurement and Analysis. Maturity Model. |
| CS 266 | IT Project Management | Detailed discussions of project management knowledge areas and processes. Case studies. Simulations and walk through of real-world IT projects from initiation and planning to evaluation and closing. |
| CS 267 | Software Engineering for the Web | Software process and requirements analysis, design, development and testing for web-based systems, software development tools, configuration management systems, case studies. |
| CS 268 | Web Science | The Web as a full communications medium that fosters full collaboration, social interaction, and commerce. Case studies. |
| CS 270 | Advanced Database Systems | Data models and their underlying mathematical foundations; database manipulation and query languages; functional dependencies; physical data organization and indexing methods; concurrency control; crash recovery; database security; distributed databases. |
| CS 271 | Database Theory | Data models and their underlying mathematical foundations; database manipulation and query languages; functional dependencies; physical data organization and indexing methods; concurrency control; crash recovery; database security; distributed databases. |
| CS 280 | Intelligent Systems | Fundamental issues in Intelligent Systems. Intelligent search and optimization methods. Knowledge representation and reasoning. Learning, natural language understanding, pattern recognition, knowledge-based systems and other methods in intelligent Systems |
| CS 281 | Robotic Systems | Biologically-motivated robotic systems. Reactive, deliberative, and hybrid architectures. Knowledge representation for robotics systems. Sensor fusion and perceptual strategies. Adaptation and social behavior. Knowledge representation and reasoning. Learn |
| CS 282 | Computer Vision | Image formation; early vision; segmentation from texture and motion; object representation; matching and inference; knowledge-based vision. |
| CS 283 | Data Mining | Decision trees, association rules, clustering. Intrusion detection. Design and use of serial, distributed and parallel data mining algorithms. |
| CS 284 | Machine Learning | Pattern recognition, parametric and nonparametric learning, decision trees, Bayesian and neural networks, reinforcement learning, genetic algorithms, computational learning theory. |
| CS 286 | Natural Language Understanding | Computational properties of natural languages. Morphological, syntactic and semantic processing from an algorithmic perspective. Models of acquisition and parsing. |
| CS 287 | Speech Processing | Models of speech processing, speech recognition and synthesis. Speech recognition systems. Text-to-speech systems. Applications. |
| CS 289 | Digital Image Processing | |
| CS 290 | Advanced Topics in Theoretical Computer Science | |
| CS 291 | Advanced Topics in Net-Centric Computing | |
| CS 292 | Advanced Topics in Software Technology | |
| CS 293 | Advanced Topics in Computer Systems | |
| CS 294 | Advanced Topics in Computational Science | |
| CS 295 | Advanced Topics in Intelligent Systems | |
| CS 296 | Graduate Seminar | |
| CS 297 | Special Topics | |
| CS 298 | Special Problem | |
| CS 300 | Master's Thesis | |
| CS 301 | Communication Complexity | |
| CS 315 | Algorithms in Bioinformatics | |
| CS 334 | Computational Systems Biology |