Week |
Session |
Preparation |
Due |
Topics |
Resources |
Major Programs |
0 |
1
Thu Sep 3
Details
|
- Read the Syllabus
- Bookmark this schedule page.
- Zybook text, 1.1 - 1.6 (see syllabus for purchasing); this will be part of HW1.
- Install software for the course:
- Java 8
- Eclipse (current version)
|
- Nothing today
- Always look at the Major Programs column, too, for the programming assignment of the week.
|
- Course introduction
- Growable Array analysis
-
Week 1: On your own: Skim/read review from the book and get back up-to-speed on programming by doing the WarmUpAndStretching assignment In class: Algorithm analysis |
|
|
Warm Up and Stretching
|
1 |
2
Mon Sep 7
Details
|
- Zybook text, 2.1 - 2.6; this will be part of HW1.
|
- Post to "Introduce Yourself" on CampusWire (you should get an invite via email on day 1; if it comes late, I'll be flexible with the deadline).
- Growable Arrays (at start of class)
- Make progress on WarmUpAndStretching.
|
- Growable Arrays discussion
- Review of Asymptotic analysis and formal definition of Big O.
- Big-O’s cousins, big-Omega and big-Theta
|
|
Warm Up and Stretching
|
1 |
3
Wed Sep 9
Details
|
- Zybook text, 2.7 - 2.9; this will be part of HW2.
|
- Make progress on WarmUpAndStretching.
|
- MCSS Cubic and Quadratic Algorithms
|
|
Warm Up and Stretching
|
1 |
4
Thu Sep 10
Details
|
|
- Homework 1 (11:00 pm) Submit to HW1 drop box in Moodle. This and all other HW and programming assignments are due at 11:00 PM unless we specify otherwise for a particular assignment.
|
|
|
Warm Up and Stretching
|
2 |
5
Mon Sep 14
Details
|
- Zybook text, 4.1-4.16; this will be part of HW2.
|
- Warm Up and Stretching Commit and push to Git server by 11:00 PM.
- UML Diagram of Collections framework (from HW2). Bring your answer to class so you can refer to it.
|
- Abstract data types (ADTs)
- Review of basic data structures in the Java Collections Framework
|
|
Stacks and Queues
|
2 |
6
Wed Sep 16
Details
|
- Zybook text, 6.1 - 6.2; this will be part of HW3.
|
|
- Trees Intro
- Implementing a Binary Tree using recursive methods.
|
|
Stacks and Queues
|
2 |
7
Thu Sep 17
Details
|
|
|
- More recursive binary tree methods.
- Binary tree traversals
|
|
Stacks and Queues
|
3 |
8
Mon Sep 21
Details
|
|
|
- Iterators: Simple and lazy ones
|
|
Doublets
|
3 |
9
Wed Sep 23
Details
|
- Study for Exam 1, take practice exam on Moodle
|
- StacksAndQueues partner evaluation (on Moodle)
|
- Exam 1
Weds, 9/23 7:00 - 9:00 PM Section 1: Olin 257 Section 2: Olin 259 Section 3: Olin 267
|
|
Doublets
|
3 |
10
Thu Sep 24
Details
|
- Zybook text, 6.3 - 6.6; this will be part of HW4.
|
|
- Binary Search Tree (BST) methods: insert, remove, contains.
|
|
Doublets
|
4 |
11
Mon Sep 28
Details
|
- Zybook text, 6.7 - 6.11; this will be part of HW4.
|
|
- Size vs. Height in a binary tree
|
|
Binary Search Tree
|
4 |
12
Wed Sep 30
Details
|
- Zybook text, 7.1; this will be part of HW5.
|
|
- Need for trees that are height-balanced but not completely balanced
|
|
Binary Search Tree
|
4 |
13
Thu Oct 1
Details
|
- Zybook text, 7.2 - 7.4; this will be part of HW5.
|
|
- AVL Trees: How to find the node where rotation is needed
- Single and double rotations; effect on subtree height.
- Intro EditorTree and need for rank field
- Meet team
|
|
Binary Search Tree
|
5 |
14
Mon Oct 5
Details
|
|
|
- Student questions on EditorTree Requirements
- Discuss usage of rank field
- EditorTrees work time with your partner
|
|
EditorTrees
|
5 |
15
Wed Oct 7
Details
|
- Re-write any tree methods you haven't yet mastered
|
|
- Exam 2 in class - programming only
- Practice with AVL Tree Rotations
|
|
EditorTrees
|
6 |
16
Mon Oct 12
Details
|
- Zybook text, 7.5 - 7.8; this will be part of HW6 (but optional, for fun or extra credit to replace any missed readings).
|
|
- Red-black trees (optional)
|
|
EditorTrees
|
6 |
17
Wed Oct 14
Details
|
|
|
|
|
EditorTrees
|
6 |
18
Thu Oct 15
Details
|
- Zybook text, 5.1-5.3; this will be part of HW6
|
|
|
|
EditorTrees
|
7 |
19
Mon Oct 19
Details
|
- Zybook text, 5.4-5.9; this will be part of HW6
|
|
|
|
EditorTrees
|
7 |
20
Wed Oct 21
Details
|
- Zybook text, 8.1-8.4; this will be part of HW7
|
|
- Priority Queues and Binary heaps
- Heaps work time
|
|
EditorTrees
|
7 |
21
Thu Oct 22
Details
|
|
|
- Heapsort
- Heapsort work time
|
|
EditorTrees
|
8 |
22
Mon Oct 26
Details
|
- Zybook text, 9.1-9.6; this will be part of HW8
|
|
|
|
EditorTrees
|
8 |
23
Wed Oct 28
Details
|
|
|
- Exam 3
Weds 10/28 7:00 - 9:00 PM Section 1: Olin 157 Section 2: Olin 159 Section 3: Olin 167 Night exam. No class today to compensate.
|
|
GraphSurfing
|
8 |
24
Thu Oct 29
Details
|
|
|
|
|
GraphSurfing
|
9 |
25
Mon Nov 2
Details
|
|
|
- Extended Binary Trees
- Intro to Recurrences
|
|
GraphSurfing
|
9 |
26
Wed Nov 4
Details
|
- Zybook text, 3.1 - 3.4; this will be part of HW9
|
|
- Recurrences and Master Theorem
- Sorting review/overview
|
|
GraphSurfing
|
9 |
27
Thu Nov 5
Details
|
- Zybook text, 3.5 - 3.8; this will be part of HW9
|
|
- Quicksort
- Quicksort average case analysis
|
|
GraphSurfing
|
10 |
28
Mon Nov 9
Details
|
|
|
- Quicksort improvements
- Lower bound for sorting algorithms.
- Radix sort
|
|
SortingRaces
|
10 |
29
Wed Nov 11
Details
|
|
|
- TBA
- Worktime for sorting assignment
|
|
SortingRaces
|
10 |
30
Thu Nov 12
Details
|
|
|
- CSSE230 Big Picture
- Course evaluations
- Exam 4 (short, in gradescope)
|
|
SortingRaces
|