Teaching
This year I'm teaching an introductory undergraduate course in computer architecture - CMPUT 229. This starts with MIPS-32 assembly, and then goes on to cover pipelined CPUs, memory hierarchies (mostly caching), storage and I/O, and multicore machines.
MINT 704 is similar to last year, but with a new customized text from Pearson, based on Kurose and Ross' text. In this course, the students analyze packet traces using Wireshark, and then create client / server programs in python - whose outputs we then examine with Wireshark.
Other courses I have taught include:
CMPUT 229 - Computer Organization and Architecture I
CMPUT 329 - Computer Organization and Architecture II
CMPUT 429 - Computer Systems and Architecture
CMPUT 510 - Computer Architectures for Data Networking
CMPUT 605 - Advanced Networking (offered jointly with Harms & Nikolaidis)
CMPUT 607 - Real-time Control of Queueing Systems
CMPUT 641 - Advanced Computer Networks
MINT 704 - The Internet Protocol Suite
MINT 708 - Internetworking Laboratory