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) |