This page contains the daily course schedule for the entire semester, as well as links to slides used in the lecture. There is also high-level information regarding which homework assignment is due each week.
| Week | Day # | Day | Date | Module | Topic | Slides | Lab Topic (Mon) | HW1 Due Wed. at 11:59pm |
HW2 Due Fri. at 11:59pm |
Quiz Topic (Mon) |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | Wednesday | 1/19/2022 | Introduction to Course | Course Introduction, Syllabus, etc. | Floryan Basit |
||||
| 2 | Friday | 1/21/2022 | Basic Java 1 | Hello World; Primitive Data Types; Using Simple Objects | Floryan Basit |
|||||
| 2 | 3 | Monday | 1/24/2022 | Writing Functions; Using Arrays | Floryan Basit |
Basic Java 1 | ||||
| 4 | Wednesday | 1/26/2022 | Control-Flow | Floryan Basit |
Basic Java 1 (Java Warmup - Power Function) | |||||
| 5 | Friday | 1/28/2022 | Fizz-Buzz and other live coding problems | Floryan Basit Extra: Python vs Java |
||||||
| 3 | 6 | Monday | 1/31/2022 | Basic Java 2 | References | Floryan Basit |
Basic Java 1 | |||
| 7 | Wednesday | 2/2/2022 | Methods and Parameters | Floryan Basit |
Basic Java 1 (Min and Max) | |||||
| 8 | Friday | 2/4/2022 | Methods / Parameters Live Coding Problems | No New Slides | Basic Java 1 (Four Functions) | |||||
| 4 | 9 | Monday | 2/7/2022 | Basic Java 3 | Classes and Enums | Floryan Basit |
Basic Java 2 | Basic Java 1 (Quiz) | ||
| 10 | Wednesday | 2/9/2022 | Example Class | Floryan Basit |
Basic Java 2 (Roomba) | |||||
| 11 | Friday | 2/11/2022 | More Classes; How to use the Java API | Floryan Basit |
Basic Java 2 (Roomba Report) | |||||
| 5 | 12 | Monday | 2/14/2022 | Lists: Vectors | What is a list, Interfaces, and Polymorphism. | Floryan Basit |
Basic Java 3 | Basic Java 2 (Quiz) | ||
| 13 | Wednesday | 2/16/2022 | Vectors | Floryan Basit Extra: Object Types |
Basic Java 3 (Blackjack) | |||||
| 14 | Friday | 2/18/2022 | Java Generics (In the context of Vectors) | Floryan Basit |
Basic Java 3 (BlackJack Report | |||||
| 6 | 15 | Monday | 2/21/2022 | LLs / Stacks / Queues | Linked Lists and Iterators | Floryan Basit |
Vectors | Basic Java 3 (Quiz) | ||
| 16 | Wednesday | 2/23/2022 | Stacks | Floryan Basit |
Vectors (Coding) | |||||
| 17 | Friday | 2/25/2022 | Queues | Floryan Basit |
||||||
| 7 | 18 | Monday | 2/28/2022 | Big-Oh / Recursion | Big-Oh, Big-Omega, Big-Theta | Floryan Basit |
LL, Stacks, Queues | Vectors Quiz Retakes Modules 1-3 (Choose 1) |
||
| 19 | Wednesday | 3/2/2022 | More Big-Oh example problems | Floryan and Basit 1 Basit 2; Basit 3 |
LL, Stacks Queues (Coding) | |||||
| 20 | Friday | 3/4/2022 | Amortized Analysis | Floryan and Basit | LL, Stacks, Queues (Report) | |||||
| Monday | 3/7/2022 | Enjoy the | ||||||||
| Wednesday | 3/9/2022 | UVA SPRING BREAK | Spring | |||||||
| Friday | 3/11/2022 | Break! | ||||||||
| 8 | 21 | Monday | 3/14/2022 | Trees | Recursion + Examples | Floryan Basit |
Big-Oh | LL, Stacks, Queues (Quiz) | ||
| 22 | Wednesday | 3/16/2022 | Introduction to Trees + Tree Traversals | Floryan Basit |
Big-Oh (Coding) | |||||
| 23 | Friday | 3/18/2022 | BST Structure, Find, Insert | Floryan Basit |
Big-Oh (Report) | |||||
| 9 | 24 | Monday | 3/21/2022 | BST FindMin/Max, Remove, and Runtime Analysis | Floryan Basit |
Trees (BST) | Big-Oh (Quiz) | |||
| 25 | Wednesday | 3/23/2022 | AVL Trees | Floryan Basit |
Trees (BST Coding) | |||||
| 26 | Friday | 3/25/2022 | Inheritance (Red-Black Trees if time) | Floryan Basit |
||||||
| 10 | 27 | Monday | 3/28/2022 | Inheritance and Red-Black Trees | Floryan Basit |
Trees (AVL) | Quiz Retakes Modules 4-6 (Choose 1) | |||
| 28 | Wednesday | 3/30/2022 | Basic Sorts | Introduction to Sorting, Comparable, compareTo, and Bubble Sort | Floryan Basit ~ Bubble Sort |
Trees (AVL Coding) | ||||
| 29 | Friday | 4/1/2022 | Insertion Sort, Lower-Bounds Adjacent Proof | Floryan Basit |
Trees (Report) | |||||
| 11 | 30 | Monday | 4/4/2022 | Advanced Sorts | Mergesort | Floryan Basit ~ Mergesort |
Basic Sorts | Trees (Quiz) | ||
| 31 | Wednesday | 4/6/2022 | Quicksort | Floryan Basit |
Basic Sorts (Coding) | |||||
| 32 | Friday | 4/8/2022 | Lower-Bound Proof + Other Sorting Methods | Floryan Basit (links) |
||||||
| 12 | 33 | Monday | 4/11/2022 | Hash Tables | ADTs So Far / Maps and Sets in Java | Floryan Basit |
Advanced Sorts | Basic Sorts (Quiz) | ||
| 34 | Wednesday | 4/13/2022 | Hash Tables + Separate Chaining | Floryan Basit |
Advanced Sorts (Coding) | |||||
| 35 | Friday | 4/15/2022 | Open Addressing + Analysis | Floryan Basit |
Advanced Sorts (Report) | |||||
| 13 | 36 | Monday | 4/18/2022 | Priority Queues | Priority Queues + Binary Heap Structure | Floryan Basit |
Hash Tables | Advanced Sorts (Quiz) | ||
| 37 | Wednesday | 4/20/2022 | Binary Heap Operations (Insert, DeleteMin, findMin) | Floryan Basit |
Hash Tables (Coding) | |||||
| 38 | Friday | 4/22/2022 | Heapsort | Floryan Basit |
Hash Tables (Report) | |||||
| 14 | 39 | Monday | 4/25/2022 | Concurrency | Basic Concurrency and Thread Example | Floryan Basit |
Priority Queues | Hash Tables (Quiz) | ||
| 40 | Wednesday | 4/27/2022 | Exception Handling | Floryan Basit |
Priority Queues (Coding) | |||||
| 41 | Friday | 4/29/2022 | Locks, Deadlocks | Floryan Basit |
Priority Queues (Report) | |||||
| 15 | 42 | Monday | 5/2/2022 | Course Conclusion | Floryan Basit |
Concurrency | Concurrency (Coding) | Priority Queues Retakes Modules 7-10 (Choose 2) |