teaching

CPSC 201: Introduction to Computer Science

Introduction to the basic concepts (e.g., algorithms), techniques (e.g., recursion), and applications of computer science, including systems (computers and their languages) and theory (complexity and computability).

CPSC 327: Object-oriented Programming

Object-oriented programming in Python intended for students who are already comfortable with the basics of programming. This course focuses on software design and construction, namely, the process of defining and implementing the architecture, components, interfaces, and other characteristics of the software artifact that implements the design specification.

CSE 214: Data structures

CSE214 is an introduction to data structures and algorithms, and an extension of programming methodology to data storage and manipulation of complex data sets. Topics include: programming and applications of data structures; stacks, queues, lists, binary trees, heaps, priority queues, balanced trees and graphs. Recursive programming is heavily utilized. Fundamental sorting and searching algorithms are examined along with informal efficiency comparisons.