Tutorials
CSCA08 - Intro to Computer Science IThis 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 IIThis 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 StructuresThis 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 AnalysisStandard algorithm design techniques: divide-and-conquer, greedy strategies, dynamic programming, linear programming, randomization, network flow, and others.