Current Teaching

CMSC 216: Introduction to Computer Systems
University of Maryland, College Park
Spring 2024
Course Materials

Previous Teaching

I have enjoyed leading courses at the college level at the University of Minnesota, George Mason University, and Concordia of St. Paul. Below are the course websites which contain additional information.

CMSC 216: Introduction to Computer Systems
University of Maryland, College Park
Fall 2023
Course Materials
CMSC 330: Organization of Programming Languages
University of Maryland, College Park
Fall 2023
Lecture Materials
Full Course Site hosted by Cliff Bakalian
CSCI 2021: Machine Architecture
University of Minnesota, Twin Cities
Spring 2023, Fall 2022, Spring 2022, Fall 2021, Spring 2021, Fall 2020, Spring 2020, Fall 2019, Summer 2019, Spring 2019, Spring 2018
Course Materials
CSCI 5451: Introduction to Parallel Computing
University of Minnesota, Twin Cities
Spring 2023, Spring 2022, Fall 2021
Course Materials
CSCI 4061: Introduction to Operating Systems
University of Minnesota, Twin Cities
Spring 2021, Summer 2020, Spring 2020, Spring 2019, Fall 2017
Course Materials
CSCI 2041: Advanced Programming Principles
University of Minnesota, Twin Cities
Fall 2018
Course Materials
CSCI 2011: Discrete Structures of Computer Science
University of Minnesota, Twin Cities
Summer 2018
Course Materials
CSCI 1103: Intro to Java
University of Minnesota, Twin Cities
Fall 2017
Course Materials
CS 211 / CS 211H: Object Oriented Programming
George Mason University
Spring 2013, 2014, 2015, 2016, 2017
Lecture Slides
CS 310: Data Structures
George Mason University
Fall 2013, 2014, 2015, 2016
Lecture Slides
CS 499: Introduction to Parallel Programming
George Mason University
Spring 2016
Lecture Slides
CS 100: Principles of Computing
George Mason University
Fall 2014, 2015, Spring 2017
Lecture Slides
CS 105: Computer Ethics and Society
George Mason University
Fall 2012, 2013, Spring 2013, 2014
CS 222: Computer Programming for Engineers
George Mason University
Fall 2012, Summer 2013, 2014
Lecture Slides
CSC 301: Programming and Problem Solving
Concordia University, St. Paul
Fall 2011
Csci 2011: Discrete Structures of Computer Science
Dep. of Computer Science, U of MN, Twin Cities
Summer 2011