Tutorials

CSCA08 - Intro to Computer Science I

This course covers object-oriented programming in Python. Program structure: elementary data types, statements, control flow, functions, classes, objects, methods, testing. Lists; searching,

CSCA48 - Intro to Computer Science II

This course covers abstract data types and data structures for implementing them. Linked data structures. Object Oriented Programming. Encapsulation and information-hiding. Specifications. Runtime complexity. Recursion.

CSCB63 - Design and Analysis of Data Structures

This course covers implementation and comparison of efficient data structures for common ADTs. Priority queues: heaps and mergeable heaps. Dictionaries: balanced binary search trees, hashing. Amortization: data structures for managing dynamic tables and disjoint sets. Graph representation and searches.

CSCC73 - Algorithm Design and Analysis

Standard algorithm design techniques: divide-and-conquer, greedy strategies, dynamic programming, linear programming, randomization, network flow, and others.

Course Notes

CSCD84 - Artificial Intelligence
CSCC73 - Algorithm Design