Winter 2024 Course Offerings

The following courses are scheduled for Winter 2024. 

Courses offered in Winter 2024 will be delivered in-person, unless specified below.

For delivery method and date and time of offer please look at the schedule of classes once its been updated. For course instructor information, please follow the instructions linked here.

Recommended Background

Area

Number

Course Title

Grad Data Science students only N/A CS 631 Data-Intensive Distributed Analytics
MHI students only N/A CS 636 Intro to Computer Networks and Distributed Computer Systems
  Programming Languages CS 642 Principles of Programming Languages
  Programming Languages CS 644 Compiler Construction
  Software Engineering CS 645 Software Requirements Specification and Analysis
  Software Engineering CS 646 Software Design & Architectures
  Software Engineering CS 647 Software Testing, Quality Assurance, and Maintenance
  Hardware and Software Systems CS 650 Computer Architecture
  Hardware and Software Systems CS 652 Real-Time Programming
  Hardware and Software Systems CS 654 LEC 001 Distributed Systems
  Hardware and Software Systems CS 654 LEC 002 Distributed Systems
  Hardware and Software Systems CS 656 LEC 001 Computer Networks
  Hardware and Software Systems CS 656 LEC 002 Computer Networks
  Hardware and Software Systems CS 656 LEC 003 Computer Networks
  Scientific and Symbolic Computing CS 676 Numeric Computation for Financial Modelling
  Scientific and Symbolic Computing/Artificial Intelligence CS 679 LEC 001 Neural Networks
  Scientific and Symbolic Computing/Artificial Intelligence CS 679 LEC 002 Neural Networks
  Computational Statistics CS 680 LEC 001 Intro to Machine Learning
  Computational Statistics CS 680 LEC 002 Intro to Machine Learning
  Computational Statistics CS 680 LEC 003 Intro to Machine Learning
  Bioinformatics CS 682 Computational Techniques in Biological Sequence Analysis
  Artificial Intelligence CS 684 Computational Vision
  Artificial Intelligence

CS 686 LEC 001

Intro to Artificial Intelligence
  Artificial Intelligence

CS 686 LEC 002

Intro to Artificial Intelligence
  Artificial Intelligence

CS 686 LEC 003

Intro to Artificial Intelligence
  Artificial Intelligence

CS 686 LEC 004

Intro to Artificial Intelligence
  Scientific and Symbolic Computing CS 687 Intro to Symbolic Computation
  Graphics and User Interfaces CS 688 Intro to Computer Graphics
  Software Engineering CS 698 LEC 001 Introductory Research Topics:
Software Delivery
  Hardware and Software Systems CS 698 LEC 002 Introductory Research Topics:
Privacy, Crypto, Data Security
    CS 698 LEC 003 Introductory Research Topics:
Software and Systems Security
  Artificial Intelligence CS 698 LEC 004 Introductory Research Topics:
Computational Audio
  Algorithms and Complexity CS 764 Computational Complexity
  Scientific and Symbolic Computing CS 778 Numerical Solution of Partial Differential Equations
  Health Informatics CS 792 (PDF)
SEC 001
Data Structures and Standards in Health Informatics
MHI students only Health Informatics CS 792 (PDF)
SEC 002 (online)
Data Structures and Standards in Health Informatics
Computer Networks, Operating Systems Hardware and Software Systems CS 798 SEC 001 (PDF) Advanced Research Topics:
Network Softwarization - Principles and Foundations
Computer Networks, Operating Systems Hardware and Software Systems CS 798 SEC 002 (PDF) Advanced Research Topics:
Network Softwarization - Technologies and Enablers
Open background, but C++ recommended Hardware and Software Systems/Algorithms and Complexity CS 798 SEC 003 (PDF) Advanced Research Topics:
Multicore Programming
Background in operating systems and computer networks. Hardware and Software Systems CS 798 SEC 004 Advanced Research Topics:
Digital Forensics and Incident Response
Open background (but a good understanding of software build and release practices, inferential statistics, and machine learning will help) Software Engineering CS 846 Advanced Topics in Software Engineering: Software Analytics for Release Pipelines
Background in undergrad database and some computer systems knowledge would be needed Databases CS 848 SEC 001 Advanced Topics in Databases: Disaggregated & Heterogeneous Computing Platform for Graph Processing
A background in introductory databases and cryptography is recommended but not required Databases CS 848 SEC 002 Advanced Topics in Databases: Privacy Enhancing Data Systems

CS students who have taken an introductory networking course (CS 456 or CS 656)

Hardware and Software Systems CS 856 Advanced Topics in Distributed Computing: Programmable Networks
Mathematical maturity, and a strong background in undergraduate-level probability theory, data structures, and algorithm design are all essential. Algorithms and Complexity CS 860 SEC 001 Advanced Topics in Algorithms and Complexity: Modern Topics in Graph Algorithms
Mathematical maturity, undergraduate-level probability theory, data structures, and algorithm design Algorithms and Complexity CS 860 SEC 002 (PDF) Advanced Topics in Algorithms and Complexity: Algorithmic Gems
  Artificial Intelligence CS 886 SEC 001 Advanced Topics in AI: Graph Neural Networks
Open background (some exposure to CS480: Introduction to Machine Learning would be helpful). Artificial Intelligence CS 886 SEC 002 Advanced Topics in AI: Diffusion Models for Generation, Inference, and Optimization
  Artificial Intelligence CS 886 SEC 003 Advanced Topics in AI: Recent Advances on Foundation Models
Undergraduate linear algebra and calculus. Computer graphics (CS488) highly recommended Graphics and User Interfaces CS 888 Advanced Topics in Computer Graphics: Rendering
Open background Graphics and User Interfaces CS 889 Advanced Topics in Human-Computer Interaction: Research Methods in HCI
  Artificial Intelligence CS 898 Advanced Special Topics in Computer Science: Topics in Computer Vision