| Day | Comments | Topic | Resources |
|---|---|---|---|
| Week 1: Introduction + Programming Fundamentals | |||
| Mon Aug 24 | Policies, Arrays |
Executable
Mountain Goat Puzzle Java basics [Eck 2.1-2.2] Java control [Eck 3.1-3.5] Arrays [Eck 7.1-7.2] |
|
| Wed Aug 26 | Hw1 out |
Arrays, Methods | Methods [Eck 4.1-4.4] |
| Thu Aug 27 | Lab 1 | ||
| Fri Aug 28 | Array algorithms | MountainGoatsPuzzle.java | |
| Week 2: Objects and ArrayLists | |||
| Mon Aug 30 | Objects |
Objects[Eck 5.1-5.2] |
|
| Tue Aug 31 | Hw1 due | ||
| Wed Sep 1 | Quiz 1 | ArrayLists |
Generics[Eck 7.3.4] |
| Thu Sep 2 | Hw2 out | Lab 2 | |
| Fri Sep 3 | Using Objects and ArrayLists | ArrayList summary Facebook.zip |
|
| Week 3: Interfaces | |||
| Mon Sep 6 | Labor Day - no classes | ||
| Tue Sep 7 | Hw2 due | ||
| Wed Sep 8 | Quiz 2 Hw3 out |
Interfaces | HeathGame.zip Interfaces[Eck 5.7.1] |
| Thu Sep 9 | Lab 3 | ||
| Fri Sep 10 | Interfaces and Introduction to Recursion | ||
| Week 4: Recursion | |||
| Mon Sep 13 | Recursion examples | ||
| Tue Sep 14 | Hw3 due | ||
| Wed Sep 15 | Quiz 3 Hw4 out |
Recursion | RecursionExamples.java |
| Thu Sep 16 | Lab 4 | ||
| Fri Sep 17 | Efficiency | Lecture notes | |
| Week 5: Efficiency | |||
| Mon Sep 20 | Efficiency and Recursion | Lecture notes ForestFire.zip |
|
| Tue Sep 21 | Hw4 due | ||
| Wed Sep 22 | Quiz 4 Hw5 out |
Backtracking | Lecture notes |
| Thu Sep 23 | Lab 5 | ||
| Fri Sep 24 | Big-Oh | Lecture notes Big-Oh[Eck 8.6] |
|
| Week 6: ArrayList Implementation | |||
| Mon Sep 27 | ArrayList implementation | Lecture Notes MyList API using Javadoc MyArrayList.zip Partially filled arrays[Eck 7.3.1] | |
| Tues Sep 28 | Hw5 due | ||
| Wed Sep 29 | Midterm review | Review slides | |
| Thu Sep 30 | Exam 1 | ||
| Fri Oct 1 | Dynamic Arrays |
Lecture Notes Dynamic arrays & ArrayLists[Eck 7.3.2-7.3.4] |
|
| Week 7: Search and Sort | |||
| Mon Oct 4 | Binary Search | Lecture Notes Search Algorithms[Eck 7.4.1] Recursive Binary Search[Eck 9.9.1] | |
| Tues Oct 5 | No Hw due | ||
| Wed Oct 6 | Quiz 5 | Quadratic Sorts | Comparable lecture notes Quadratic Sorts[Eck 7.4.3-7.4.4] Equality and Comparison[Eck 10.1.6] |
| Thu Oct 7 | Hw6 out | Lab 6 | |
| Fri Oct 8 | Sub Quadratic Sorts | Lecture notes Quick Sort[Eck 9.1.3] Sorting animations |
Week 8: Linked Lists |
| Mon Oct 11 | Linked Lists Intro | Sorting lecture notes (cont'd) Linked List Intro[Eck 9.2.1-9.2,2] |
|
| Tue Oct 12 | Hw6 due | ||
| Wed Oct 13 | Quiz 6 Hw7 out |
Linked Lists |
Linked Lists Basics[Eck 9.2.3] |
| Thu Oct 14 | SinglyLinkedList implementation | SinglyLinkedList.java Linked Lists add/remove[Eck 9.2.4-9.2.5] ArrayList & LinkedList[Eck 10.2.1] (ignore iterators) |
|
| Fri Oct 15 | Midsemester break - no classes | Week 9: Stacks & Queues | |
| Mon Oct 11 | Other linked lists, Stacks | Lecture notes ListStack.java Stacks[Eck 9-9.3.1] |
|
| Tue Oct 19 | Hw7 due | ||
| Wed Oct 20 | Quiz 7 |
Queues | Lecture notes ListQueue.java Queues[Eck 9.3.2] Postfix expressions[Eck 9.3.3] |
| Thu Oct 21 | Hw8 out | Lab 7 | |
| Fri Oct 22 | Stack and Queue Intro to binary trees |
Stack & Queues example Binary tree notes |
Week 10: Binary Trees |
| Mon Oct 25 | Binary Trees - traversals | Binary
tree notes Binary Trees[Eck 9.4-9.4.1] |
|
| Tue Oct 26 | Hw8 due | ||
| Wed Oct 27 | Quiz 8 |
Binary trees - recursive definitions | Lecture notes |
| Thu Oct 28 | Hw9 out | Lab 8 | |
| Fri Oct 29 | Binary trees examples | Lecture notes | Week 11: Maps & Sets |
| Mon Nov 1 | Files & Exceptions Sets |
Files &
Exceptions slides
4 per
page Sets lecture notes |
|
| Tue Nov 2 | No HW due | ||
| Wed Nov 3 | Iterators | Iterator lecture notes Iterators[Eck 10.1.5] |
|
| Thu Nov 4 | Maps | Maps lecture notes Maps[Eck 10.3-10.3.1] |
|
| Fri Nov 5 | Exam 2 | Exam (in class) | Week 12: Binary Search Trees |
| Mon Nov 8 | Inverting a Map SimpleMap.java |
Lecture notes Sets & Maps Example[Eck 10.4.2] Sets and Maps Worksheet |
|
| Tue Nov 9 | Hw9 due | Wed Nov 10 | Quiz 9 |
Intro to Binary Search Trees | Lecture notes Binary Search Trees[Eck 9.4.2] |
| Thu Nov 11 | Hw10 out | Lab 9 | |
| Fri Nov 12 | Binary Search Trees | Lecture notes |
Week 13: Hashing |
| Mon Nov 15 | BST remove, hash tables | Lecture notes TreeSet & HashSet[Eck 10.2.3] |
Tue Nov 16 | Hw10 due |
| Wed Nov 17 | hash tables | Lecture notes Hashing[Eck 10.3.3] |
|
| Thu Nov 18 | Hw11 out | Lab 10 | |
| Fri Nov 19 | Quiz 10 | hash codes, tree sort | Lecture notes Hashing Worksheet |
Week 14: More sorting |
| Mon Nov 22 | Bucket sort, Priority Queues | Lecture notes |
Tue Nov 23 | No HW due |
| Wed Nov 24 | Thanksgiving break - no classes | ||
| Thu Nov 25 | Thanksgiving break - no classes | ||
| Fri Nov 26 | Thanksgiving break - no classes | Week 15: Heaps | |
| Mon Nov 29 | Heaps | Lecture notes Heaps worksheet Dave's lecture notes and solution to worksheet |
|
| Tue Nov 30 | Hw11 due | Wed Dec 1 | Quiz 11 |
Inheritance |
| Thu Dec 2 | Lab 11 | ||
| Fri Dec 3 | Review | ||