**2018-2019****CS2214B: Discrete Structures for Computing**

Lectures: Mondays and Wednesdays 11:30 to 13:30 in**AHB-1R40**Winter Term.**CS 9635b and CS 4402b - Distributed and Parallel Systems**

Lectures: Tuesdays 15:30 - 16:30 in**MC-320**and Wednesdays in 16:30 - 18:30 in**MC-326**Winter Term.

**2017-2018****CS2209A: Applied Logic for Computer Science**

Lectures: Wednesdays 3:30pm - 4:30pm and 7:00pm - 9:00 pm in**NC 1**Fall Term. Course taught jointly with Dr. Yuzhen Xie.**CS 9652a - Algorithms and software for symbolic solvers of polynomial systems**

Lectures: Wednesdays 2:30pm - 5:30pm in**MC 320**Fall Term.**CS 3350b - Computer Architecture**

Lectures: Tuesdays 4:30pm - 5:30pm in**MC 105B**and Thursdays 3:30pm - 5:30pm in**MC 105B**Winter Term.**CS 9635b and CS 4402b - Distributed and Parallel Systems**

Lectures: Tuesdays 3:30pm - 4:30pm in**MC-320**and Wednesdays in 4:30pm - 6:30pm in**MC-316**Winter Term.**CS 4490y projects**

**2016-2017****CS 3350b - Computer Architecture**

Lectures: Tuesdays 4:30pm - 5:30pm in**MC 105B**and Thursdays 3:30pm - 5:30pm in**SSC 2050**Winter Term.**CS 9535 and CS 4402b - Distributed and Parallel Systems**

Lectures: Tuesdays 3:30pm - 4:30pm in**MC-320**and Wednesdays in 4:30pm - 6:30pm in**MC-320**Winter Term.**CS 4490 projects**

**2014-2015****CS 2101a - Foundations of Programming for High Performance Computing**

Lectures: Tuesdays 11:30am - 1:30pm in UCC-37 and Thursdays 9:30am - 10:30am in UCC-37. Tutorial: Thursdays 10:30am - 12:30pm in MC 10. Fall Term.**CS 3101b - Theory and Practice of High-performance Computing**

Lectures: Wednesdays 3:30pm - 5:30pm in**SH-3315**and Thursdays 9:30am - 10:20am in**SH-3317**. Tutorial: Thursdays 10:30am - 11:30am in MC-10. Winter Term.**CS 3350b - Computer Architecture**

Lectures: Tuesdays 4:30pm - 5:30pm in**MC-105B**and Thursdays 3:30pm - 5:30pm in**MC-105B**Winter Term.**CS 9535 and CS 4402b - Distributed and Parallel Systems**

Lectures: Wednesdays 10:30am - 11:30am in**UCC-59**and Thursdays in 6:00pm - 8:00pm in**P&AB-150**on January 8, then in**MC 316**from January 15. Winter Term.

**2013-2014****CS 2101a - Foundations of Programming for High Performance Computing**

Lectures: Tuesdays 11:30am - 1:20pm in SSC-2028 and Thursdays 9:30am - 10:20am in SSC-2028. Tutorial: Thursdays 10:30am - 12:20pm in MC 10. Fall Term.**CS 3101b - Theory of High-performance Computing**

Lectures: Tuesdays 11:30am - 1:20pm in**MC-300**and Thursdays 9:30am - 10:20am in**MC-300**. Tutorial: Thursdays 10:30am - 11:20am in MC-325. Winter Term.**CS 9535 and CS 4402b - Distributed and Parallel Systems**

Lectures: Wednesdays 10:30am - 11:20am in**MC-300**and Thursdays in 4:30pm - 6:30pm in MC-105B. Winter Term.

**2012-2013****CS 2101a - Foundations of Programming for High Performance Computing**

Lectures: Tuesdays 11:30am - 1:20pm in UCC 54A and Thursdays 9:30am - 10:20am in UCC 54A. Tutorial: Thursdays 10:30am - 12:20pm in MC 10. Fall Term.**CS 3101b - Theory of High-performance Computing**

Lectures: Tuesdays 11:30am - 1:20pm in**MC-316**and Thursdays 9:30am - 10:20am in**MC-316**. Tutorial: Thursdays 10:30am - 11:20am in MC-325. Winter Term.**CS 9535 and CS 4402b - Distributed and Parallel Systems**

Lectures: Wednesdays 10:30am - 11:20am in**MC320**and Thursdays in 4:30pm - 6:30pm in MC 6. Winter Term.

**2011-2012****CS 2101b - Foundations of Programming for High Performance Computing**

Lectures: Tuesdays 11:30am - 1:20pm in NCB 285 and Thursdays 9:30am - 10:20am in UCC 63. Tutorial: Thursdays 10:30am - 12:20pm in MC 10. Winter Term.**CS 9535 and CS 4402 - Distributed and Parallel Systems**

Lectures: Wednesdays 9:30am - 10:20am in UCC 53 and Thursdays in 4:30pm - 6:30pm in MC 6. Winter Term.

**2010-2011****CS 2211b - Software Tools and Systems Programming**

Tuesdays 12:30pm - 1:20pm and Thursdays 11:30am - 1:20pm, in Talbot College room 341. Winter Term.**CS 9535 and CS 4402 - Distributed and Parallel Systems**

Wednesdays 9:30am - 10:20am in Talbot College room 342 and Thursdays in 4:30pm - 6:30pm in MC 316 (confirmed). Winter Term.**CS 9624 and CS 4435 - High Performance Computing: From Models of Computation to Applications**

Mondays 1:30pm - 4:30pm in MC 300 (confirmed). Winter Term.

**2009-2010****CS 1026B - Computer Science Fundamentals I**

Tuesdays 10:30am - 11:20am and Thursdays 9:30am - 11:15am, in Talbot College room 341.**CS 2211b - Software Tools and Systems Programming**

Tuesdays 12:30pm - 1:20pm and Thursdays 11:30am - 1:20pm, in Weldon Library room 259.**CS 4435 and CS 9624 - High Performance Computing with a Focus on Hardware Acceleration Technologies**

Mondays 1:30pm - 4:30pm in MC 316.

**2007-2008**- CS 211b - Software Tools and Systems Programming
- CS 424b - CS 556b - Foundations of Computational Algebra
- CS435b - CS635b - Parallel Scientific Computing: Models, Algorithms and Implementation

**2006-2007**- CS 211b - Software Tools and Systems Programming
- CS 424b - CS 556b Foundations of Computational Algebra
- CS 855b Parallel Scientific Computing: Models, Algorithms and Implementation

**2005-2006**- CS 211a - Software Tools and Systems Programming
- CS 424b - CS 556b Foundations of Computational Algebra
- CS 855b - Symbolic Parallel Computation and Algebraic Geometry

**2004-2005**- CS 447a - CS 545a Compiler theory
- CS 424b - CS 556b Foundations of Computational Algebra
- CS 867b - Algorithmic properties of polynomial rings

**2003-2004**- CS 210a - Data structures and algorithms
- AM 583a - Advanced computer algebra: Modular computations
- CS 447b - Compiler theory
- CS 652b - Algorithms and software for symbolic solvers of polynomial systems

**2002-2003**- CS 447b - Compiler theory
- CS 874b - Advanced computer algebra: asymptotically fast methods for exact computations
- CS 915y - Constructive commutative algebra