The schedule below is organized to show you, for each day in the course:
- Out of Class Learning: Consists of materials to review individually out of class, typically readings or short videos. For learning only, not graded.
- In Class Learning: What will we do in class? Will include links to slides, recording, in-class exercises, and discussion directions. In class exercises and discussion sections are graded for participation, but not correctness.
- Graded Work Due: What outside work are you responsible for completing? Typically APTs (small programming problems) and projects (larger programming projects), graded for correctness. Work is always due by 11:59 pm eastern time on the indicated day unless otherwise specified.
Key: (L = Lecture, D = Discussion, Z = Zybook, P = Project, APT = Algorithmic Problem Solving & Testing)
Zybook readings can be found at the online textbook.
APT Exercises can be found and submitted on the APT site.
Code from class or project starter code can be found on our coursework gitlab page.
Note that this schedule tentative and subject to change.
| Week | Day | Out of Class | In Class | Due |
|---|---|---|---|---|
| 1 | M 8/29 | Z8 | L1: What is Computer Science [slides] [WOTO] [recording] [L01 Supplement] | |
| W 8/31 | Review Z1-Z7 on introductory Java as needed | L2: Intro to Java [slides] [WOTO1] [WOTO2] [recording] | ||
| F 9/2 | APT Submission Walkthrough Video (~10 minutes) | D1: Algorithmic Problem Solving and APTs [discussion document] | ||
| 2 | M 9/5 | Z9 | L3: Object-Oriented Programming [slides] [WOTO1] [WOTO2] [recording] [L3 Supplement Video] | |
| W 9/7 | Z10 | L4: Interfaces, Implementations, ArrayList [slides] [WOTO1] [recording] | APT Exercises 1 | |
| F 9/9 | Git Intro Video [~14 minutes] | D2: Sets, Strings, Git [discussion document] | ||
| 3 | M 9/12 | Z11 | L5: Maps and Sets [slides] [WOTO1] [WOTO2] [recording] | Project 0: Person201 |
| W 9/14 | Z12 | L6: Hashing, HashMaps, Hashsets [slides] [WOTO1] [WOTO2] [recording] | APT Exercises 2 | |
| F 9/16 | D3: Java and Problem-Solving [discussion document] | |||
| 4 | M 9/19 | Z13 | L7: Runtime Efficiency [slides] [WOTO] [recording] [L7 supplement video] | Project 1: NBody |
| W 9/21 | Z13 (continued) | L8: Asymptotic (Big-O) Analysis [slides] [WOTO1] [WOTO2] [recording] | APT Exercises 3 | |
| F 9/23 | D4: Maps, Big O, hashing [discussion document] | |||
| 5 | M 9/26 | Z14 | L9: Memory, Pointers, LinkedList [slides] [WOTO1] [WOTO2] [recording] | |
| W 9/28 | L10: Exam 1 (covers weeks 1-4) | APT Exercises 4 | ||
| F 9/30 | D5: Anagrams, Thesaurus [discussion document] | |||
| 6 | M 10/3 | Z14 (continued) | L11: Linked List and Pointer Problems [slides] [WOTO1] [WOTO2] [recording] | Project 2: Markov |
| W 10/5 | Z15 | L12: Debugging and Testing [slides] [recording] | APT Exercises 5 | |
| F 10/7 | D6: Linked list [discussion document] | |||
| 7 | M 10/10 | No meeting - Fall Break | ||
| W 10/12 | Z16 | L13: Recursion [slides] [WOTO] [recording] | APT Exercises 6 [extended to Th 10/13] | |
| F 10/14 | D7: Debugging, Recursion, Sorting [discussion document] | |||
| 8 | M 10/17 | Z17 | L14: Sorting, Comparable, Comparator [slides] [WOTO1] [recording] | Project 3: DNA |
| W 10/19 | Z18 | L15: Stacks, Queues, Priority Queues [slides] [WOTO1] [recording] | APT Quiz 1 | |
| F 10/21 | D8: Sorting [discussion document] | |||
| 9 | M 10/24 | L16: Binary Search Tree [slides] [WOTO1] [WOTO2] [recording] | ||
| W 10/26 | Z19 | L17: Exam 2 (covers weeks 5-8) | APT Exercises 7 | |
| F 10/28 | D9: Trees [discussion document] | |||
| 10 | M 10/31 | Z19 (continued) | L18: Tree Recursion [slides] [WOTO1] [WOTO2] [recording] | Project 4: Autocomplete |
| W 11/2 | Z22 | L19: Greedy Algorithms, Huffman [slides] [WOTO1] [recording] [diameter code] | APT Exercises 8 | |
| F 11/4 | D10: More Trees, Huffman [discussion document] | |||
| 11 | M 11/7 | Z20 | L20: Binary Heaps [slides] [WOTO1] [WOTO2] [recording] | |
| W 11/9 | Z21 | L21: Balanced Binary Search Trees [slides] [WOTO] [recording] | APT Exercises 9 | |
| F 11/11 | D11: Huffman, APT Quiz 2 Practice [discussion document] | |||
| 12 | M 11/14 | Z23 | L22: Graphs, Recursive DFS [slides] [WOTO1] [recording] | Project 5: Huffman |
| W 11/16 | Z24 | L23: Iterative DFS, BFS [slides] [WOTO1] [WOTO2] [recording] | APT Exercises 10 | |
| F 11/18 | D12: Graph Search Problems [discussion document] | |||
| 13 | M 11/21 | Z24 (continued) | L24: Shortest Paths in Weighted Graphs [slides] [WOTO] [recording] | APT Quiz 2 [extended to Tu 11/21, access on Sakai] |
| W 11/23 | No meeting - Thanksgiving Break | |||
| F 11/25 | No meeting - Thanksgiving Break | |||
| 14 | M 11/28 | Z24 (continued) | L25: Minimum Spanning Tree [slides] [WOTO] [recording] [mst code] | |
| W 11/30 | L26: Disjoint Sets [slides] [WOTO1] [recording] [disjoint sets code] | OPTIONAL APT Exercises 11 | ||
| F 12/2 | D13: More Graph Problems [discussion document] | |||
| 15 | M 12/5 | L27: Exam 3 (covers weeks 9-13) | ||
| W 12/7 | L28: Last Lecture, Review and Celebrate [slides] [last WOTO] [recording] | Project 6: Route | ||
| F 12/9 | D14: Last Discussion, Review [discussion document] | |||
| 16 | M 12/12 | No meeting - Reading Period | ||
| W 12/14 | No meeting - Reading Period | |||
| Th 12/15 | Final exam 7-10 pm (comprehensive) | |||