CS 160 Daily Schedule
Daily class schedule
Advanced Principles of Computer Science
Fall, 2004
9/3 Introduction to object-oriented programming.
9/8 Introduction to classes and objects in Java.
9/10 Object creation and deletion. Constructors, finalizers, accessors, and mutators. Arrays. Exceptions.
9/13 Subclasses and inheritance.
9/15 Abstract classes and methods.
9/17 Interfaces. Comparable. List. Iterator.
9/20 Packages. Access control.
9/22 Introduction to Data Structures. An array implementation of the List interface.
9/24 Linked lists.
9/27 Linked list implementation
9/29 Iterators. Doubly-linked lists.
10/1 Recursive linked lists.
10/4 Sorted lists.
10/6 Introduction to Algorithm Analysis.
10/8 Asymptotic analysis. Big-oh notation.
10/11 More on asymptotic
analysis. Analysis of binary search, selection sort.
10/13 Review for midterm
exam.
10/15 Midterm exam.
10/25 Stacks and queues.
10/27 Deques and priority queues.
10/29 Infix, postfix, and prefix notation for arithmetic expressions.
11/1 Algorithms for processing arithmetic expressions.
11/3 Collections; the Map interface. Map applications and implementations.
11/5 Object-oriented design and analysis.
11/8 UML diagrams. Design patterns.
11/10 Trees. Basic terminology. Binary trees.
11/12 Tree traversals. Expression trees. Implementing binary trees.
11/15 Implementing nonbinary
trees. Tree iterators. Cloning a binary tree.
11/17 Binary search trees.
11/19 Binary search trees as Maps. Balanced binary search trees. AVL trees. Red-black trees.
11/22 Tries.
11/24 Introduction to hashing. Hash function design.
11/29 Collision handling. Open addressing. Linear probing. Double hashing.12/1 GUI Design.
12/3 Hash tables with chaining. Hash table performance.
12/6 Sorting. Simple sorting methods: bubble sort, insertion sort, selection sort. Merge sort.12/8 Heaps. Heapsort.
Priority queues.
12/10 Quicksort.
12/13 Review for final exam.