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 | 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 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 |