Week |
Session |
Preparation |
Due |
Topics |
Resources |
Major Programs |
1 |
1
Fri Jun 5
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 Jun 8
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 Jun 10
Details
|
- Zybook text, 2.7 - 2.9; this will be part of HW2.
|
- Homework 1 (Tuesday, 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.
- Make progress on WarmUpAndStretching.
|
- MCSS Cubic and Quadratic Algorithms
|
|
Warm Up and Stretching
|
2 |
4
Fri Jun 12
Details
|
|
|
|
|
Stacks and Queues
|
2 |
5
Mon Jun 15
Details
|
- Zybook text, 4.1-4.16; this will be part of HW2.
|
- 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 Jun 17
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
|
3 |
7
Fri Jun 19
Details
|
|
|
- More recursive binary tree methods.
- Binary tree traversals
|
|
Doublets
|
3 |
8
Mon Jun 22
Details
|
- Study for Exam 1, take practice exam on Moodle
|
|
|
|
Doublets
|
3 |
9
Wed Jun 24
Details
|
|
- Homework 3 (Tuesday)
- StacksAndQueues partner evaluation (on Moodle)
|
- Iterators: Simple and lazy ones
|
|
Doublets
|
4 |
10
Fri Jun 26
Details
|
- Zybook text, 6.3 - 6.6; this will be part of HW4.
|
|
- Binary Search Tree (BST) methods: insert, remove, contains.
|
|
Binary Search Tree
|
4 |
11
Mon Jun 29
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 Jul 1
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
|
5 |
13
Fri Jul 3
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
|
|
EditorTrees
|
5 |
14
Wed Jul 8
Details
|
- Re-write any tree methods you haven't yet mastered
|
|
- Student questions on EditorTree Requirements
- Practice with AVL Tree Rotations
- Exam 2 in class - programming only
|
|
EditorTrees
|
5 |
15
Fri Jul 10
Details
|
|
|
- Discuss usage of rank field
- EditorTrees work time
|
|
EditorTrees
|
6 |
16
Mon Jul 20
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 for online version)
|
|
EditorTrees
|
6 |
17
Wed Jul 22
Details
|
|
|
|
|
EditorTrees
|
6 |
18
Fri Jul 24
Details
|
- Zybook text, 5.1-5.3; this will be part of HW6
|
|
|
|
EditorTrees
|
7 |
19
Mon Jul 27
Details
|
- Zybook text, 5.4-5.9; this will be part of HW6
|
|
|
|
EditorTrees
|
7 |
20
Wed Jul 29
Details
|
- Zybook text, 8.1-8.4; this will be part of HW7
|
|
- Priority Queues and Binary heaps
- Heaps work time
|
|
EditorTrees
|
7 |
21
Fri Jul 31
Details
|
|
|
- Heapsort
- Heapsort work time
|
|
EditorTrees
|
8 |
22
Mon Aug 3
Details
|
|
|
|
|
GraphSurfing
|
8 |
23
Wed Aug 5
Details
|
|
|
|
|
GraphSurfing
|
8 |
24
Fri Aug 7
Details
|
- Zybook text, 9.1-9.6; this will be part of HW8
|
|
|
|
GraphSurfing
|
9 |
25
Mon Aug 10
Details
|
|
|
- Extended Binary Trees
- Intro to Recurrences
|
|
GraphSurfing
|
9 |
26
Wed Aug 12
Details
|
- Zybook text, 3.1 - 3.4; this will be part of HW9
|
|
- Recurrences and Master Theorem
- Sorting review/overview
|
|
GraphSurfing
|
9 |
27
Fri Aug 14
Details
|
- Zybook text, 3.5 - 3.8; this will be part of HW9
|
|
- Quicksort
- Quicksort average case analysis
|
|
GraphSurfing
|
10 |
28
Mon Aug 17
Details
|
|
|
- Quicksort improvements
- Lower bound for sorting algorithms.
- Radix sort
|
|
HeapsAndTwoSorts
|
10 |
29
Wed Aug 19
Details
|
|
|
- TBA
- Worktime for sorting assignment
|
|
HeapsAndTwoSorts
|
10 |
30
Fri Aug 21
Details
|
|
|
- CSSE230 Big Picture
- Course evaluations
- Exam 4 (short, in gradescope)
|
|
HeapsAndTwoSorts
|