OMSCS course catalog
36 courses indexed. Filter, sort, and open any course for distributions and reviews.
Graduate Introduction to Operating Systems
Foundations of modern operating systems: processes, threads, synchronization, memory, IPC, scheduling, file systems, virtualization, and distributed services.
Artificial Intelligence
Classical AI: search, games, CSPs, planning, probabilistic reasoning, learning, and HMMs. Project-heavy and pacing-intensive.
Advanced Operating Systems
Research-flavored survey of OS design: shared memory multiprocessors, distributed shared memory, virtualization internals, kernel structures, and modern data-center systems.
Compilers: Theory & Practice
Frontends, IRs, optimizations, and codegen. Build a working compiler over the semester.
Computer Vision
Foundations of vision: filtering, features, geometry, tracking, recognition, and modern deep approaches.
Network Science
Mathematical and computational analysis of complex networks: structure, dynamics, and processes on networks.
Deep Learning
Modern deep learning: architectures, optimization, regularization, attention, transformers, and generative models.
High-Performance Computing
Parallel algorithms and architectures: shared memory, distributed memory, GPUs, and analysis of scalability.
Knowledge-Based AI
Cognitively-inspired AI: knowledge representation, frames, scripts, planning, learning, and metacognition. Build a Raven's-style agent.
Video Game Design
Real-time interactive systems, gameplay programming, and team-based production using Unity.
AI for Robotics
Probabilistic techniques for autonomous systems: localization, Kalman filters, particle filters, SLAM, and PID control.
Machine Learning for Trading
Applied ML in financial markets: data, indicators, supervised/RL approaches, and portfolio strategies.
Human-Computer Interaction
Principles, methods, and theories of HCI. Heavy reading and writing; design-driven assignments.
Network Security
Threats, attacks, and defenses across network layers: malware, intrusion detection, web security, botnets, and machine-learning approaches to detection.
Embedded Software
Design and verification of embedded software with real-time constraints, drivers, and hardware/software co-design.
Educational Technology
Theory and practice of building tools for learning. Self-directed individual project across the semester.
Software Development Process
Lifecycle of building software: requirements, version control, testing, code review, design, and team workflows. Includes a course-long Android project.
Computational Photography
Imaging beyond the camera: HDR, panoramas, light fields, gradient-domain editing, and modern computational imaging.
Software Analysis & Testing
Static/dynamic program analysis, symbolic execution, fuzzing, and testing techniques. Heavy emphasis on tooling and theory.
Intro to Cyber-Physical Systems Security
Security of industrial control systems, smart grids, and embedded controllers. Threat models, side channels, and formal protections.
Reinforcement Learning
Foundations and modern methods in RL: MDPs, TD learning, policy gradients, function approximation, and deep RL.
Scientific Visualization
Methods to visualize scientific data sets: scalar/vector/tensor fields, isosurfaces, volume rendering, and large-data techniques.
Qualitative Methods in HCI
Ethnography, interviews, contextual inquiry, and analysis techniques for understanding users in their context.
Data & Visual Analytics
End-to-end data analytics pipeline: scraping, cleaning, modeling, scaling, and interactive D3 visualization.
Database Systems Concepts & Design
Relational design, normalization, ER modeling, query languages, transactions, and modern data-management systems.
Computational Journalism
Computing techniques for journalism and storytelling: web scraping, NLP, visualization, and ethics.
Machine Learning
Survey of classical ML: supervised, unsupervised, and reinforcement learning. Open-ended, write-up-heavy assignments.
AI, Ethics, and Society
Survey of fairness, accountability, and societal impacts of AI. Case studies and reflective writing.
Computer Networks
End-to-end view of the internet: routing, transport, congestion control, software-defined networking, security, measurement, and content distribution.
Bayesian Statistics
Bayesian inference, MCMC, hierarchical models, and applied case studies using PyMC/Stan.
Graduate Algorithms
Graduate-level algorithm design: dynamic programming, divide-and-conquer, graphs, NP-hardness, randomized and approximation algorithms.
Applied Cryptography
Modern cryptography: symmetric/asymmetric primitives, modes, MACs, signatures, key exchange, zero knowledge, and protocol analysis with proofs of security.
Natural Language Processing
Statistical and neural NLP: language modeling, sequence labeling, parsing, semantics, and modern transformer architectures.
Software Architecture & Design
Architectural styles, design patterns, model-driven engineering, and trade-off analysis for large software systems.
Networked Applications & Services
Application-layer protocols and services on the modern internet: HTTP/3, QUIC, CDN architectures, and observability.
Intro to Health Informatics
Standards, data, and applications in healthcare IT. Project-driven introduction to FHIR, EHR, and population analytics.