Syllabus

The following is the tentative list of topics by date. Suggested reading is in parantheses.

DAaPS is the primary text, "Data Abstraction & Problem Solving in Java.
JBD is "Java by Dissection."
C4JP is "C for Java Programmers: A Primer"

Week 0 (9/22)
recursion (DAaPS 3.1)
Week 1 (9/26-9/30)
factorial, binomial, Pascal's triangle, binary search, towers of hanoi (DAaPS 3)
Quiz1 Thursday 9/29
Week 2 (10/3-10/7)
merge sort, ADTs (DAaPS 4.1, 4.2), array implementation (DAaPS 4.3), pre/post (DAaPS 2.1)
inheritance, overloading, overriding (DAaPS 1, 9.1, JBD 4.12, 7)
Java exceptions, interfaces (DAaPS 1.6, 4.3, JBD 7.8, 11.1)
Week 3 (10/10-10/14)
Quiz 2 Tuesday 10/11
C pointers and array (C4JP 2.2, 3)
Linked Lists (DAaPS 5, JBD 12.1-12.4)
Week 4 (10/17-10/21)
Linked Lists (DAaPS 5)
Stacks (DAaPS 7)
Week 5 (10/24-10/28)
Quiz 3 Tuesday 10/25
Queue implmented with an array (DAaPS 8)
Week 6 (10/31-11/4)
efficiency: best/worst/average (DAaPS 10)
stack vs heap allocation
Strings in C (C4JP 4)
malloc, calloc, and free in C (C4JP 3.4, 5.4)
Week 7 (11/7-11/11)
Quiz 4 Tuesday 11/8
Big-O, Big-Theata, Big-Omega (DAaPS 10.1)
sorting (DAaPS 10.2)
Queue of Object
Week 8 (11/14-11/18)
Binary search tree (DAaPS 11.1-11.3), hash table (DAaPS 13.2), dictionary 
Week 9 (11/21-11/25)
Quiz 5 Tuesday 11/22
Hashing, load factor (DAaPS 13.2)
Dictionary in C, BST in C, typedef (C4JP 5.1)
Week 10 (11/28-12/2)
dictionary, hashing, bitwise C operators