Winter 2023 Course Offerings
All courses offered in Winter 2023 will be delivered in-person (unless historically offered online).
For delivery method and date and time of offer please look at the schedule of classes.
View the Fall 2022 and Winter 2023 Course Information videos - CS F22 and W23 Course Offerings - YouTube
Instructor |
Recommended Background |
Area |
Number |
Course Title |
Dan Holtby |
CS 631 |
Data-Intensive Dist. Analytics | ||
Noura Limam |
CS 636 |
Intro to Networks & Distr Syst | ||
Gregor Richards | Familiarity with parsing and compiler basics, e.g. as taught in CS 241, is expected. Basic familiarity with object oriented and functional languages, e.g. as taught in CS 246 and CS 135 respectively, is recommended. | Programming Languages |
CS 642 |
Principles of Prog Languages |
Yizhou Zhang | Programming Languages |
CS 644 |
Compiler Construction | |
Victoria Sakhnini | Knowledge of finite-state machines (eg as used in CS 241 or ECE 351); experience with object-orientation (eg experience with OO programming languages like Java or C#); knowledge of propositional and predicate logic (eg as used in CS 245 or ECE 108) | Software Engineering |
Sotware Req Specif & Anylysis | |
Mahmoud Alfadel; Shane McIntosh | Experience with team collaboration tools for software development (eg Git, GitHub, Issue Tracking), data sturctures, algorithms, and basic UML diagrams | Sotware Engineering |
Software Design, Architectures | |
Mahmoud Alfadel | Experience with team collaboration tools for software development (eg Git, GitHub, Issue Tracking), data sturctures, algorithms, and basic UML diagrams | Software Engineering | CS 646 - 002 (PDF) | Software Design, Architectures |
Patrick Lam | Software Engineering |
Software Test, QA & Maint | ||
Habib-ur Rehman | Databases | CS 648 - 001 (PDF) | Database Sys Implementation | |
Habib-ur Rehman | Databases | CS 648 - 002 (PDF) | Database Sys Implementation | |
Maran Ran Ma | Hardware and Software Systems |
CS 650 |
Computer Architecture | |
Dan Holtby | Hardware and Software Systems |
CS 651 -001 |
Data-Intensive Distrib Computing | |
Dan Holtby | Hardware and Software Systems | CS 651 - 002 | Data-Intensive Distrib Computing | |
Martin Karsten |
C/C++ programming (CS 246); operating systems (CS 350) | Hardware and Software Systems |
Real-Time Programming | |
Khuzaima Daudjee | Hardware and Software Systems |
CS 654 - 001 |
Distributed Systems | |
Khuzaima Daudjee | Hardware and Software Systems |
CS 654 - 002 |
Distributed Systems | |
Noura Limam | Hardware and Software Systems |
CS 656 - 001 |
Computer Networks | |
Noura Limam | Hardware and Software Systems |
CS 656 – 002 |
Computer Networks | |
Meng Xu; Yousra Aafer | Hardware and Software Systems |
CS 658 - 001 |
Computer Security and Privacy | |
Meng Xu; Yousra Aafer | Hardware and Software Systems | CS 658 - 002 |
Computer Security and Privacy | |
Yuying Li | Good background in linear algebra, basic statistics, and calculus, and to have taken an introduction course in numberical computing (similar to CS 370 or 371 at UW) | Scientific and Symbolic Computing |
CS 676 |
Num Computation: Fin Modeling |
Ali Ayub | Numerical analysis, basic statistics | SciCom or AI | CS 679 |
Neural Networks |
Pascal Poupart | Pre-requisites: CM 339/CS 341 or SE 240; Computer Science students only | Computational Statistics |
CS 680 – 001 |
Intro to Machine Learning |
Pascal Poupart | Pre-requisites: CM 339/CS 341 or SE 240; Computer Science students only | Computational Statistics |
CS 680 – 002 |
Intro to Machine Learning |
Bioinformatics |
CS 682 |
Comp Tech: Biol Sequence Analysis | ||
Yuri Boykov | Artificial Intelligence |
CS 684 |
Computational Vision | |
Wenhu Chen | Basic calculus, probability, and algorithms | Artificial Intelligence |
Intro to Artificial Intelligence | |
Wenhu Chen | Basic calculus, porbability, and algorithms | Artificial Intelligence |
Intro to Artificial Intelligence | |
Arne Storjohann | Undergrad level knowledge of algorithm design and analysis. | Scientific and Symbolic Computing |
CS 687 |
Intro to Symbolic Computation |
Gladimir Baranoski | Graphics and User Interfaces |
CS 688 |
Intro to Computer Graphics | |
Shane McIntosh | Software Engineering | CS 698 - 001 | Advanced Topics | |
Bailey Kacsmar & Thomas Humphries | Hardware and Software Systems | CS 698 - 002 | Advanced Topics | |
Hans De Sterck | Scientific and Symbolic Computing |
Numerical Sol of PDEs | ||
Helen Chen | Health Informatics |
Data Structures and Standards | ||
Helen Chen | Health Informatics | CS 792 - 081 | Data Structures and Standards | |
Raouf Boutaba |
Computer Networks, Operating Systems |
Hardware and Software Systems |
Network Softwarization: Principles and Foundations | |
Raouf Boutaba |
Computer Networks, Operating Systems |
Hardware and Software Systems |
Network Softwarization: Technologies and Enablers | |
Trevor Brown | Familiarity with C/C++ strongly recommended, some familiarity with concurrency will be a plus but not needed | Hardware/Software Systems/Algorithms and Complexity | CS 798 - 003 (PDF) | Advanced Research Topics: Multicore Programming |
Mike Godfrey | Software Engineering | CS 846 -001 | Advanced Topics in Software Eng: Empirical Software Evolution | |
Shane McIntosh | Open background (but a basic understanding of software release practices, inferential statistics, and machine learning will help) | Software Engineering | CS 846 - 002 | Advanced Topics in Software Eng: Software Analytics for Release Pipelines |
Mina Tahmasbi Arashlo | Hardware and Software Systems | CS 856 | Advanced Topics in Distrib Computing: Programmable Networks | |
Diogo Barradas |
Undergrad security course, familiarity with machine learning |
Hardware and Software Systems / Algorithms and Complexity | Advanced Topics in Crypto Secur Priv: Internet Censorship & Surveillance | |
N. Asokan |
Students
should
have
prior
experience
with
C
and
C++. Undergraduate CS courses in operating systems (equivalent to CS 350) and security (equivalent to CS 458) are required | Hardware and Software Systems | Advanced Topcs in Crypto Secur Priv: Selected topics in systems security | |
Mohammad Hajiabadi | Algorithms & Complexity; and Hardware & Software Systems | CS 858 - 003 | Advanced Topcs in Crypto Secur Priv: Encrypted Computation | |
Eric Blais |
Undergraduate level knowledge of algorithms design and analysis and of probability theory |
Algorithms and Complexity |
Advanced Topics in Algorith & Complex: Probabilistic Methods in CS | |
Kimon Fountoulakis | Open |
Artificial Intelligence |
Advanced Topics in Artificial Intelligence: Graph Neural Networks | |
Toshiya Hachisuka | Enthusiasm for computer graphics and rendering is a must. Linear algebra, calculus, and statistics will be required depending on the paper we read. Experience with both numerical computing (e.g. CS370/371, CS475) and computer graphics (e.g., CS488) are recommended. Familiarity with some numerical techniques will be useful, though you are likely to learn new techniques as you read papers. | Computer Graphics, Scientific Computing, Systems, HCI |
Advanced Topics in Computer Graphics: Rendering | |
Christopher Batty | Undergraduate-level knowledge of numerical computing and computer graphics | Graphics & User Interfaces; Scientific & Symbolic Computing | CS 888 - 002 (PDF) | Advanced Topics in Computer Graphics: Physics-Based Animation |
Jian Zhao | Open | Graphics and User Interfaces | CS 889 (PDF) | InfoVis for AI Explainability |
Ming Li | CS341, and some familiarity of deep learning | Algorithms and Complexity; Artificial Intelligence | CS 898 - 001 | Advanced Spec Topics in Comp Sci: Kolmogorov Complexity & Appl. |
Yuri Boykov | Artificial Intelligence | CS 898 - 002 | Topics in Computer Vision |