Home
Publications
Supervision
Committtees
Teaching
Projects
Biography
Artifacts
Directions
Partners
Opportunities
Tips & Misc.
 
Tim Brecht
Professor Emeritus
Davis Center, Room 3508
David R. Cheriton School of Computer Science
University of Waterloo
200 University Ave. West
Waterloo, ON N2L 3G1, Canada
E-mail: brecht AT uwaterloo DOT ca
Teaching
I was on sabbatical from May 2015 -- May 2016 and
my teaching load was reduced from three to two courses per year as a result of
my Cheriton Faculty Fellowship from 2016--2019.
Graduate Courses
- Instructor,
CS 854 (Experimental Performance Evaluation)
University of Waterloo, Fall 2022- 10 graduate student(s)
- In person course
- Instructor,
CS 854 (Experimental Performance Evaluation)
University of Waterloo, Fall 2021- 15 graduate student(s)
- Online course due to COVID-19 pandemic
- Instructor,
CS 854 (Experimental Performance Evaluation)
University of Waterloo, Fall 2020- 20 graduate student(s)
- Online course due to COVID-19 pandemic
- Instructor,
CS 854 (Experimental Performance Evaluation)
University of Waterloo, Fall 2018- 10 graduate student(s)
- Instructor,
CS 854 (Experimental Performance Evaluation)
University of Waterloo, Fall 2017- 15 graduate student(s)
- Instructor,
CS 854 (Systems Support for the Internet of Things)
University of Waterloo, Fall 2016- 12 graduate student(s)
- Instructor,
CS 854 (Emerging Techologies and their Influence on Systems)
University of Waterloo, Fall 2014- 11 graduate student(s)
- Instructor,
CS 854 (802.11 (Wi-Fi) Network Performance)
University of Waterloo, Winter 2014- 6 graduate student(s)
- Instructor,
CS 854 (HTTP Streaming Video)
University of Waterloo, Fall 2012- 11 graduate student(s)
- Instructor,
CS 854 (Experimental Performance Evaluation)
University of Waterloo, Fall 2011- 10 graduate student(s)
- Instructor,
CS 854 (Scalable Systems Software)
University of Waterloo, Winter 2011- 8 graduate student(s)
- Instructor,
CS 854 (Systems Software for Multicore Environments)
University of Waterloo, Fall 2009- 10 graduate student(s)
- Instructor,
CS 702 (Advanced Topics in Operating Systems)
Ecole Polytechnique Federale Lausanne (EPFL), Winter 2009- 10 graduate student(s)
- Instructor,
CS 856 (Topics in Internet Services and Performance)
University of Waterloo, Winter 2007- 6 graduate student(s)
- Instructor,
CS 856 (Internet Server Performance)
University of Waterloo, Spring 2006- 6 graduate student(s)
- Instructor,
CS 856 (High-Performance Internet Systems)
University of Waterloo, Fall 2003- 16 graduate student(s)
- Instructor,
CS 756I (Topics in Distributed Systems: Internet Systems and Applications)
University of Waterloo, Winter 1999- 11 and 5 audits graduate student(s)
- Developed this course
- Instructor,
COSC 5421.03 (Operating System Design)
York University, 1997/1998- 12 student(s)
and 9 graduate student(s)
- Instructor,
COSC 6422.03 (Parallel and Distributed Computing)
York University, 1997/1998- 9 graduate student(s)
- Instructor,
COSC 5421.03 (Operating System Design)
York University, 1996/1997- 13 student(s)
and 9 graduate student(s)
- Instructor,
COSC 5494.03 (Parallel and Distributed Computing)
York University, 1996/1997- 6 graduate student(s)
- Instructor,
COSC 5421.03 (Operating System Design)
York University, 1995/1996- 13 student(s)
and 5 graduate student(s)
- Instructor,
COSC 5494.03 (Parallel and Distributed Computing)
York University, 1995/1996- 10 graduate student(s)
- Developed this course
- Instructor,
COSC 5421.03 (Operating System Design)
York University, 1994/1995- 10 student(s)
and 2 graduate student(s)
- Instructor,
COSC 5421.03 (Operating System Design)
York University, 1993/1994- 12 student(s)
and 9 graduate student(s)
- Developed this course
Undergraduate Courses
- Instructor,
CS 136 (Elementary Algorithm Design and Data Abstraction)
University of Waterloo, Winter 2023- 60 + 60 + 60 + 60 = 240 student(s)
in 4 sections
- In-person, inverted classroom (active learning) so students attend
one `lecture' each week (so each `lecture' is to 60 students).
- Instructor,
CS 136 (Elementary Algorithm Design and Data Abstraction)
University of Waterloo, Winter 2022- 68 + 88 = 156 student(s)
in 2 sections
- Online course due to COVID-19 pandemic at start, then moved to in-person
part way through the term
- Instructor,
CS 136 (Elementary Algorithm Design and Data Abstraction)
University of Waterloo, Winter 2021- 111 + 109 = 220 student(s)
in 2 sections
- Online course due to COVID-19 pandemic. 13 sections, 7 instructors, about 40 TAs, and approximately 1,700!! students, this was about 2.5 times the normal number of students
- Instructor,
CS 136 (Elementary Algorithm Design and Data Abstraction)
University of Waterloo, Winter 2020- 87 + 88 = 175 student(s)
in 2 sections
- 10 sections, 5 instructors, about 40 TAs, and approximately 800 students
- Instructor,
CS 136 (Elementary Algorithm Design and Data Abstraction)
University of Waterloo, Winter 2019- 89 + 90 = 179 student(s)
in 2 sections
- De facto course coordinator, 10 sections, 6 instructors, about 40 TAs, and approximately 900 students
- Instructor,
CS 499R (Readings in Computer Science: Streaming Video)
University of Waterloo, Fall 2018- 1 student(s)
- Arshia Mufti (not for credit)
- Instructor,
CS 136 (Elementary Algorithm Design and Data Abstraction)
University of Waterloo, Fall 2017- 88 student(s)
- Instructor,
CS 136 (Elementary Algorithm Design and Data Abstraction)
University of Waterloo, Winter 2017- 89 + 89 = 178 student(s)
in 2 sections
- Instructor,
CS 350 (Operating Systems)
University of Waterloo, Winter 2015- 91 + 86 = 177 student(s)
in 2 sections
- Course coordinator 177 students, 8 TAs
- Instructor,
CS 350 (Operating Systems)
University of Waterloo, Fall 2013- 88 + 89 = 177 student(s)
in 2 sections
- Course coordinator 240 students 2 instructors, 10 TAs
- Instructor,
CS 350 (Operating Systems)
University of Waterloo, Winter 2013- 71 + 72 = 143 student(s)
in 2 sections
- Course coordinator 143 students, 8 TAs
- Instructor,
CS 350 (Operating Systems)
University of Waterloo, Winter 2012- 38 + 69 = 107 student(s)
in 2 sections
- Course coordinator 107 students, 7 TAs
- Instructor,
CS 499R (Readings in Computer Science: Google Web Services)
University of Waterloo, Fall 2011- Ross Robinson
- Instructor,
CS 350 (Operating Systems)
University of Waterloo, Fall 2010- 81 + 71 = 152 student(s)
in 2 sections
- Course coordinator 152 students, 7 TAs
- Instructor,
CS 350 (Operating Systems)
University of Waterloo, Winter 2010- 69 + 69 = 138 student(s)
in 2 sections
- Course coordinator 138 students, 7 TAs
- Co-Instructor,
CS 499R (Readings in Computer Science: Operating Systems)
University of Waterloo, Fall 2009- Kyle Spaans and Alex Szlavik (with Martin Karsten)
- Instructor,
CS 456/656 (Computer Networks)
University of Waterloo, Winter 2008- 29 + 24 = 53 student(s)
3 + 1 = 4 graduate student(s)
in 2 sections
- Co-Instructor,
CS 497 (Multidisiplinary Studies in Computer Science)
University of Waterloo, Winter 2008- 25 student(s)
- 1 of 9 instructors
- Instructor,
CS 350 (Operating Systems)
University of Waterloo, Fall 2007- 94 student(s)
- Course coordinator
- Instructor,
CS 350 (Operating Systems)
University of Waterloo, Winter 2007- 74 student(s)
- Course coordinator: 144 students, one sessional, and 8 TAs
- Instructor,
CS 350 (Operating Systems)
University of Waterloo, Winter 2006- 67 + 46 = 113 student(s)
in 2 sections
- Course coordinator: 128 students, one sessional, and 8 TAs
- Instructor,
CS 350 (Operating Systems)
University of Waterloo, Winter 2005- 68 student(s)
- Instructor,
CS 133 (Developing Programming Principles)
University of Waterloo, Fall 2004- 61 + 88 = 159 student(s)
in 2 sections
- Instructor,
CS 350 (Operating Systems)
University of Waterloo, Winter 2004- 104 + 92 = 196 student(s)
in 2 sections
- Course coordinator: 350 students in total, 4 faculty, and 14 TAs
- Instructor,
CS 456/656 (Distributed Systems)
University of Waterloo, Winter 2000- 65 student(s)
and 5 graduate student(s)
- Instructor,
CS 456/656 (Distributed Systems)
University of Waterloo, Fall 1999- 47 student(s)
and 15 graduate student(s)
- Instructor,
CS 354 (Operating Systems)
University of Waterloo, Fall 1999- 80 + 80 = 160 student(s)
in 2 sections
- Course coordinator: 80 students in each of two sections
- Instructor,
CS 354 (Operating Systems)
University of Waterloo, Winter 1999- 80 + 80 = 160 student(s)
in 2 sections
- Course coordinator: 80 students in each of two sections
- Instructor,
COSC 4321.03 (Operating System Design (cross listed with COSC 5421.03))
York University, 1997/1998- 12 student(s)
and 9 graduate student(s)
- Instructor,
COSC 1030.03 (Introduction to Computer Science II)
York University, 1997/1998- 56 student(s)
- Instructor,
COSC 4080.03 (Computer Science Project Course)
York University, 1997/1998- 1 student(s)
- Region Fault Library Enhancements
- Instructor,
COSC 4321.03 (Operating System Design (cross listed with COSC 5421.03))
York University, 1996/1997- 13 student(s)
and 9 graduate student(s)
- Instructor,
COSC 1030.03 (Introduction to Computer Science II)
York University, 1996/1997- 52 student(s)
- Instructor,
COSC 4001.06 (Space and Communication Sciences Workshop)
York University, 1996/1997- 2 student(s)
- Performance Comparison of C++ and Java
- Instructor,
COSC 4321.03 (Operating System Design (cross listed with COSC 5421.03))
York University, 1995/1996- 13 student(s)
and 5 graduate student(s)
- Instructor,
COSC 1030.03 (Introduction to Computer Science II)
York University, 1995/1996- 46 student(s)
- Course Director - about 250 students over 3 sections
- Instructor,
COSC 4001.06 (Space and Communication Sciences Workshop)
York University, 1995/1996- 3 student(s)
- World-Wide Supercomputing using Java; Comparing Ethernet and ATM for FTP; Comparing Ethernet and ATM for NFS
- Instructor,
COSC 4080.03 (Computer Science Project Course)
York University, 1995/1996- 2 student(s)
- Departmental Information Database; Porting TreadMarks to Solaris
- Instructor,
COSC 4321.03 (Operating System Design)
York University, 1994/1995- 10 student(s)
and 2 graduate student(s)
- Cross listed with AK COSC 4470.03 and COSC 5421.03
- Instructor,
COSC 1030.03 (Introduction to Computer Science II)
York University, 1994/1995- 59 student(s)
- Instructor,
COSC 4001.06 (Space and Communication Sciences Workshop)
York University, 1994/1995- 1 student(s)
- Audio Video Conferencing and Mail Systems
- Instructor,
COSC 4321.03 (Operating System Design (cross listed with COSC 5421.03))
York University, 1993/1994- 12 student(s)
and 9 graduate student(s)
- Developed this course
- Instructor,
COSC 1030.03 (Introduction to Computer Science II)
York University, 1993/1994- 46 student(s)
- Instructor,
COSC 4001.06 (Space and Communication Sciences Workshop)
York University, 1993/1994- 1 student(s)
- Parallel Computing using Workstation Clusters
Curriculum Development
- CS 136 (Elementary Algorithm Design and Data Abstraction), Winter 2021.
I created several instructional videos to help students
with online learning and to augment the course notes.
Topics covered are:
(1) What to do if you are having Internet or Seashell problems (16 minutes).
(2) Finding differences when your output is not matching expected output (9 minutes).
(3) Tips for Success in CS136 and CS in General (27 minutes).
(4) Debugging and Testing (31 minutes).
Each of these required developing the material, creating powerpoint slides
and then recording the presentation.
I spent about 50 hours on these.
- CS 136 (Elementary Algorithm Design and Data Abstraction), Winter 2020.
Significant addition to course notes to add lots more
instructor's notes. This is particularily helpful for new/first time
instructors for this course. Spent about 15 hours on this.
- CS 136 (Elementary Algorithm Design and Data Abstraction), Fall 2017.
Significant changes to course notes, several assignments and tutorials to get to the meat of the material sooner.
- CS 350 (Operating Systems), Fall 1998 – Winter 2015.
Ken Salem and I made several updates to new versions
of the tools and Operating System used, course notes,
assignments, and assignment solutions. I also built a large suite
of programs that could be used by the students and TAs for automated
assignment testing.
- COSC 4321 (Operating System Design), Fall 1993 – Fall 1995.
Created, developed and evolved this course. It used
the NACHOS system for assignments..
- COSC 1030 (Introduction to Computer Science II), Fall 1993 – Fall 1997.
Working with Jeff Edmonds to improve
and evolve the course notes and assignments.
 
Home
Publications
Supervision
Committtees
Teaching
Projects
Biography
Artifacts
Directions
Partners
Opportunities
Tips & Misc.
 
Last modified:
Thu Oct 17 10:44:38 PM EDT 2024