Teaching

I am teaching CSE 420 and CSE 591 in Spring 2008.

MathSoc, the students' society of the Faculty of Mathematics at the University of Waterloo, awarded me 1995-96 Instructor of the Year.

Term Course Size Title
S08 CSE420 40 Computer Architecture
S08 CSE591 6 Interaction Software Testing
F07 CSE420/598 68 Computer Architecture
S07 CSE434 39 Computer Networks
S07 IEE598 26 Optimization II (Integer Programming)
F06 CSE355 55 Introduction to Theoretical Computer Science
S06 CSE591 7 Interaction Software Testing
S06,F05 CSE412/598 35 Database Management
F05 CSE534 20 Advanced Computer Networks
F04 CSE434 27 Computer Networks
F04 CSE591 9 Network Reliability
F03 CSE434/598 55 Computer Networks
F03 CSE591/CBS598 14 Genomics: Sequencing and Mapping
F02(2) CSE310 80 Data Structures
S01 CS103 30 Programming Languages
F00 CS201 33 Operating Systems
S00 CS222 33 Computer Architecture
F99 CS101 39 Computer Organization
F98 CS266 23 Network Security and Cryptography
W98 CS292 0 Computer Science Senior Seminar
F97 CS265 22 Computer Networks
S97 CS395 10 Cryptography
F96 CS243 17 Theoretical CS
96(1st) 415(CS).701 15 Network reliability
F95, F94, F92 C&O438/638 15 Combinatorial Computing
F94, F91 C&O434/634 14 Combinatorial design
S94 E&CE203 90 Discrete Math for Engineers
W94, F92, S89(twice), W88 C&O230 50 Introduction to combinatorics
W94, S88 (twice) C&O351 40 Network Flows
F92, F91, S91, S88 C&O454 30 Scheduling theory
F91 C&O750B/CS756 10 Topics on network reliability
S89 MATH 134b 100 Linear algebra
W89 MH371A 24 Discrete mathematics 1
W88 C&O380 12 Invention and discovery in mathematics
S87 CS766 14 Topics in network algorithms
S87, F86, S85 CS466/666 40 Analysis of algorithms
F86 CS234 150 Programming principles
F86 C&O739/CS756 15 Combinatorics of network reliability
F85 CSC2427F 8 Topics in graph theory
S85 CS756 17 Topological design of networks
S85, S84 CS450/650 35 Computer architecture
W85 CS435 30 Computer Applications
F84 CS462/662 20 Formal Languages and Parsing
F84 CS354/554 60 Software Systems
S84 CS766 12 Network Reliability: Algorithms and Complexity
F83 CMPT 419.3 3 Computability and Complexity Theory
F83 CMPT 416.3 12 Combinatorial and Geometric Algorithms
F83, W83 CMPT 230.6 70 Software Design
F83, F82, F81, F80 CMPT 882.3 3 Topics in the Theory of Computing
W83 CMPT 361.3 20 Theory of Computation 2
W83 CMPT 424.3 45 Computer Communication Networks
F82, W82, W81 CMPT 313.3 90 Software Design
W82 CMPT 419B 1 Introduction to Combinatorics
W82 CMPT 326B 70 Theory of Computation 1
F81 CMPT 427A 12 Analysis of Algorithms
F81 CMPT 212A 70 Assembly Language Programming
W81 CMPT 419B 5 Recursive function theory and computability
F80 CMPT 180A 240 Introduction to CS
F80 CMPT 375A 75 Computing for accounting majors
W80 CSC 208S 40 Assembly Language Programming
S79 CSC 258H 50 Computer Organization