Teaching

Spring 2024

I254/C297 2D Games Programming «»   NS 223 & Online «»   MW 4:30 - 5:45 pm
C455 / B503 Analysis of Algorithms «»   NS 205 «»   MW 2:30 - 3:45 pm

Office Hours: TR 3 – 5 pm in person and on zoom, or by appointment. Email me for zoom link.


Fall 2023

C211 Programming 2
A201 Introduction to Programming 1

Spring 2023

C211 Programming 2
C311 Programming Languages

Fall 2022

C211 Programming 2
C490 / B583 / I400 Games Programming and Design

Summer 2022

INFO-C211 Programming 2

Spring 2022

C455 / B503 Analysis of Algorithms
INFO-I308 / INFO-C307 Data Organization and Representation

Fall 2021

A201 Computer Programming 1
C211 Problem Solving and Programming II

Spring 2021

C151 Multiuser Operating Systems
C211 Problem Solving and Programming II
C311 Programming Languages

Fall 2020

A201 Introduction to Programming 1
C211 Problem Solving and Programming II
B424/B524/I400 Parallel and Distributed Programming

Spring 2020

C101/I210 Introduction to Programming 1
C311 Programming Languages

Fall 2019

A201 Introduction to Programming 1
C243/A594 Data Structures
C490/B583 Games Programming and Design

Spring 2018

C151 Multi-user Operating Systems
C311 Programming Languages
C455/B503 Analysis of Algorithms

Fall 2018

A106 Introduction to Computing.
C243/A594 Data Structures.
B424/B524 Parallel and Distributed Programming.

Spring 2018

C151 Multiuser Operating Systems
C311 Programming Languages
C455/B503 Analysis of Algorithms

Fall 2017

A106 Introduction to Computing.
C490/B583 Games Programming and Design.
C243/A594 Data Structures.

Spring 2017

A106 Introduction to Computing.
C481/B581 Computer Graphics.
C455/B503 Analysis of Algorithms.

Fall 2016

C151 Multiuser Operating Systems.
C243/A594 Data Structures.
I310 Multimedia Arts and Technology.

Spring 2016: on sabbatical leave.

Fall 2015

B583/C490 Games Programming and Design
C243/A594 Data Structures

Spring 2015

C455/B503 Analysis of Algorithms
C311 Programming Languages

Fall 2014

C151 Multiuser Operating Systems
C243 / A594 Data Structures
I310 Multimedia Arts and Technology

Spring 2014

C151 Multiuser Operating Systems
C311 Programming Languages
C455 / B503 Analysis of Algorithms

Fall 2013

C151 Multiuser Operating Systems
C243/A594 Data Structures
B583/C490 Game Programming and Design

Spring 2013

C311 Programming Languages
C455 / B503 Analysis of Algorithms
B424 B524 Parallel and Distributed Programming

Fall 2012

C151 Multiuser Operating Systems, Online
C243/A594 Data Structures
C311 Programming Languages

Spring 2012

C151 Multiuser Operating Systems, Online.
C243/A594 Data Structures
C455 / B503 Analysis of Algorithms

Fall 2011

C311 Programming Languages
B583/C490 Game Programming and Design

Spring 2011

C455 / B503 Analysis of Algorithms
C481/B581 Computer Graphics

Fall 2010
C311 Programming Languages
C243/A594 Data Structures

Spring 2010
C455 / B503 Analysis of Algorithms
I310 Multimedia Arts and Technology

Fall 2009
B583/C490 Game Programming and Design
C311 Programming Languages

Spring 2009: on sabbatical leave.

Fall 2008
C311 Programming Languages
C151 Multiuser Operating Systems
I310 Multimedia Arts and Technology

Spring 2008
C455 / B503 Analysis of Algorithms
C151 Multiuser Operating Systems
C463 / B551 Artificial Intelligence

Fall 2007
C243/A594 Data Structures
B583/C490 Game Programming and Design
C311 Programming Languages

Spring 2007
I310 / D513 Multimedia Art and Technology
C151 Multiuser Operating Systems
C455 / B503 Analysis of Algorithms

Fall 2006
C201 / I211 Computer Programming II
C151 Multiuser Operating Systems
C311 Programming Languages

Spring 2006
C455 / B503 Analysis of Algorithms
C463 / B551 Artificial Intelligence

Fall 2005:
C243/A594 Data Structures
B583/C490 Game Programming and Design

Spring 2005:
C243/A594 Data Structures
C481/B581 Computer Graphics
C455/B503 Algorithms Analysis

Fall 2004:
C243/A594 Data Structures
B424 B524 Parallel and Distributed Programming

Spring 2004:
C101 Introduction to Computing
C151 Multiuser Operating Systems
C243 Data Structures

Fall 2003:
B582 Image Synthesis
C243 Data Structures

Spring 2003:
C481 B581 Computer Graphics
C101 Computer Programming I
A106 Introduction to Computing

Fall 2002:
B424 B524 Parallel and Distributed Programming
A106 Introduction to Computing

Spring 2002:
C201 Computer Programming II
A106 Introduction to Computing

Fall 2001:
C101 Computer Programming I
C251 Foundations of Digital Computing

Spring 2001:
C101 Computer Programming I
C481 Computer Graphics