You should consult this page regularly to see the most current version of the schedule of topics and readings. You should complete all assigned readings and attempt to work all the problems at the end of each section as you are studying. They will be good practice for the regular quizzes during the first ten minutes on Monday lectures, and may also appear on the midterms or final exam.

Week Day Date Topic
1 Mon Aug 26 Introduction and Java Basics
Wed Aug 28 Control Flow and Arrays
2 Mon Sep 2 Labor Day
Wed Sep 4 Classes, Objects, and Inheritance
3 Mon Sep 8 Exceptions and Text I/O
Wed Sep 10 Interfaces and Generics
4 Mon Sep 16 ArrayLists
Wed Sep 18 Analysis of Algorithms
5 Mon Sep 23 Singly Linked Lists
Wed Sep 25 Doubly Linked Lists
6 Mon Sep 30 Stacks and Queues
Wed Oct 2 Comparators and Iterators
7 Mon Oct 7 Midterm I
Wed Oct 9 Selection Sort and Insertion Sort
8 Mon Oct 14 Fall Break
Wed Oct 15 Mergesort
9 Mon Oct 21 Quicksort
Wed Oct 23 Binary Trees, Binary Search, Heaps, and Priority Queues
10 Mon Oct 28 Heapsort
Wed Oct 30 Dictionaries and Binary Search Trees
11 Mon Nov 4 2-3 Search Trees
Wed Nov 6 Left-leaning Red-Black BSTs
12 Mon Nov 11 Midterm II
Wed Nov 13 Hash Tables
13 Mon Nov 18 Hash Tables
Wed Nov 20 Graphs
14 Mon Nov 25 Graphs
Wed Nov 27 Thanksgiving Recess
15 Mon Dec 2 Shortest Paths
Wed Dec 4 Minimum Spanning Trees

© Alexandra Papoutsaki, 2024