Winter 2022 Course Offerings

All courses offered in Winter 2022 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.

Instructor

Recommended Background

Area

Number

Course Title

 

Ali Abedi

   

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

 

Joanne Atlee

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

CS 645

Sotware Req Specif & Anylysis

 

Shane McIntosh

Experience with team collaboration tools for software development (eg Git, GitHub, Issue Tracking), data sturctures, algorithms, and basic UML diagrams Sotware Engineering

CS 646

Software Design, Architectures

 

Arie Gurfinkel

  Software Engineering

CS 647

Software Test/Qual Assur/Maint

 

TBA

  Hardware and Software Systems

CS 650

Computer Architecture

 

Ali Abedi

  Hardware and Software Systems

CS 651

Data-Intensive Distrib Comput

 

Martin Karsten

C/C++ programming (CS 246); operating systems (CS 350)

Hardware and Software Systems

CS 652

Real-Time Programming

 

Samer Al Kiswany

  Hardware and Software Systems

CS 654 - 001

Distributed Systems

 

Samer Al Kiswany

  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

 

Hans Liljestrand, Meng Xu

  Hardware and Software Systems

CS 658 – 001

Computer Security and Privacy

 

Hans Liljestrand, Meng Xu

  Hardware and Software Systems

CS 658 – 002

Computer Security and Privacy

 

Jeffrey Shallit

  Algorithms and Complexity

CS 662

Formal Languages & Parsing

 

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 Comp for Fin Modeling

 

Jeff Orchard

Numerical analysis, basic statistics SciCom or AI

CS 679

Neural Networks

 

Ali Ayub

Pre-requisites: CM 339/CS 341 or SE 240; Computer Science students only Computational Statistics

CS 680 – 001

Intro to Machine Learning

 

Ali Ayub

Pre-requisites: CM 339/CS 341 or SE 240; Computer Science students only Computational Statistics

CS 680 – 002

Intro to Machine Learning

 

Bin Ma

  Bioinformatics

CS 682

Comp Tech: Biol Sequence Anal

 

Yuri Boykov

  Artificial Intelligence

CS 684

Computational Vision

 

Blake Paul Allen Vanberlo

Basic calculus, probability, and algorithms Artificial Intelligence

CS 686 – 001

Intro to Artificial Intelligence

 

Blake Paul Allen Vanberlo

Basic calculus, porbability, and algorithms Artificial Intelligence

CS 686 – 002

Intro to Artificial Intelligence

 

Eugene Zima

  Scientific and Symbolic Computing

CS 687

Intro to Symbolic Computation

 

Gladimir Baranoski

  Graphics and User Interfaces

CS 688

Intro to Computer Graphics

 

Prabhakar Ragde

Open

Programming Languages

CS 747

Software Verification Using Proof Assistants

 

Hans De Sterck

  Scientific and Symbolic Computing

CS 778

Numerical Sol of PDEs

 

Helen Chen

  Health Informatics

CS 792

Data Structures and Standards

 

Raouf Boutaba

Computer Networks, Operating Systems

Hardware and Software Systems

CS 798 –  001

Network Softwarization: Principles and Foundations

 

Raouf Boutaba

Computer Networks, Operating Systems

Hardware and Software Systems

CS 798 – 002

Network Softwarization: Technologies and Enablers

 

J. Ian Munro

A strong undergraduate course in data structures like CS 240 is required. A more advanced algorithms course such as CS 466 is helpful but not necessary

Algorithms

CS 840

Time and Space Efficiency

 

Chengnian Sun

Open

Software Engineering

CS 846 – 001

Advance Topics in Software Testing and Debugging

 

Shane McIntosh

Open background, but a basic understanding of software release practices, inferential statistics, and machine learning will help Software Engineering

CS 846 – 002

SW Analytics for Release Pipe

 

Gordon Cormack

Undergrad CS

Databases

CS 848

Information Retrieval

 

Florian Kerschbaum

Undergrad security course, familiarity with databases and machine learning

Artificial Intelligence, Databases

CS 858 – 001

Security & Privacy in Data Science

 

Diogo Barradas

Open

Hardware and Software Systems

CS 858 – 002

Internet Censorship and Surveillance

 

N. Asokan

Good understanding of programming in C/C++ required, prior undergraduate level courses in security (equivalent to CS 458) and operating systems (equivalent to CS 350) strongly recommended, but not mandated

Systems

CS 858 - 003

Selected Topics in Systems Security

 

Lap Chi Lau

Linear algebra, probability, multivariate calculus, optimization

Algorithms and Complexity

CS 860

Eigenvalues and Polynominals

 

Beni Yoshida, Debbie Leung, Michael Vasmer

QIC 710 / CS 768 / CO 681 or CS 467 / CO 481 Quantum Information and Computation

CS 867

Qtm Error Corr & Flt Tolerance

 

Pascal Poupart

Undergrad courses in machine learning, statistics and linear algebra

Computational Statistics

CS 885

Reinforcement Learning

 

Ming Li

Basics in deep learning, know basic biology

AI, Learning, Bioinformatics, Health Science

CS 886

Deep Learning for Biotechnology

 

Gladimir Baranoski

Open Computer Graphics, Scientific Computing, Systems, HCI

CS 898

Synergy Between CS and Biology