CSSE230 – Data Structures and Algorithms

Fall 2019 (aka 202010)

Schedule Overview

All non-Moodle web pages for the course are available from this index page.

This schedule page will begin with the schedule from a previous term, which will be updated as we go. We plan to update assignments and readings at least a week in advance. We’ll update daily schedules and slides just before class.

Preparation is to be completed before the class session.

Unless otherwise noted, all assignments are due at 11:00 PM on the day indicated.

Dr. Chenette's ScheduleDr. Hollingsworth's ScheduleCSSE Lab Assistants in F217Soph. Resident Tutor for CSSE230
Google sheetGoogle sheetScheduleTommy's schedule, Others

Schedule last updated Thu Nov 14.

Session quick links:  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Week Session Preparation Due Topics Resources Major Programs
0

1

Thu Sep 5

Details
  • Read the Syllabus
  • Bookmark this schedule page.
  • Review Weiss Ch. 1–6 this week: many pages, mostly review. Carefully read the new stuff and skim the rest: this document may help guide you).
  • 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 9

Details
  • Weiss §5.1, 5.2, 5.4–5.8, 7.2
  • Continue reviewing Weiss Ch. 1–6.
  • Post to "Introduce Yourself" on Piazza
  • Growable Arrays (at start of class)
  • Make progress on WarmUpAndStretching.
  • Growable Arrays discussion
  • Review of Asymptotic analysis and formal definition of Big O.
  • Big-oh’s cousins, big-Omega and big-Theta
Warm Up and Stretching
1

3

Wed Sep 11

Details
  • Continue reviewing Weiss Ch. 1–6; focus on §5.3
  • Homework 1 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
1

4

Thu Sep 12

Details
  • MCSS Linear Algorithm
Stacks and Queues
2

5

Mon Sep 16

Details
  • Finish review of Weiss Ch. 1–6, focus on ch. 6
  • 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 18

Details
  • Ch. 7.3 (review of recursion)
  • Ch. 15-17 (List implementation (review); skim, but may help for assignment)
  • Trees Intro
  • Implementing a Binary Tree using recursive methods.
Stacks and Queues
2

7

Thu Sep 19

Details
  • §18.1-18.3
  • More recursive binary tree methods.
  • Binary tree traversals
Doublets
3

8

Mon Sep 23

Details
  • §18.4
  • Study for Exam 1, take practice exam on Moodle
 
  • Iterators: Simple and lazy ones
Doublets
3

9

Wed Sep 25

Details
 
  • Homework 3
  • StacksAndQueues partner evaluation (on Moodle)
  • Exam 1
    Monday 9/23
    7:00 - 9:00 PM
    Section 2, O167
    Section 3, O169
    Night exam. No class Wed to compensate.
  Doublets
3

10

Thu Sep 26

Details
  • §19.1
  • Binary Search Tree (BST) methods: insert, remove, contains.
Binary Search Tree
4

11

Mon Sep 30

Details
 
  • Doublets partner eval
  • Size vs. Height in a binary tree
Binary Search Tree
4

12

Wed Oct 2

Details
  • § 19.4
  • Need for trees that are height-balanced but not completely balanced
Binary Search Tree
4

13

Thu Oct 3

Details
  • § 19.4
  • 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

Mon Oct 7

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

Wed Oct 9

Details
  • § 19.2
  • Quiz 14
  • Homework 5
  • You and your team should make as much progress as you can on EditorTrees before the break.
  • Discuss usage of rank field
  • EditorTrees work time with your team
EditorTrees
6

16

Mon Oct 14

Details
  • § 19.5
  • Red-black trees
EditorTrees
6

17

Wed Oct 16

Details
   
  • EditorTrees workday
EditorTrees
6

18

Thu Oct 17

Details
  • Chapter 20
  • Homework 6
  • EditorTrees Milestone 1 partner feedback on Moodle
  • Midterm course evaluation in Moodle
  • Hash Table intro
EditorTrees
7

19

Mon Oct 21

Details
  • Review chapter 20
  • Hash Table implementation
EditorTrees
7

20

Wed Oct 23

Details
  • §21.1-21.3
 
  • Priority Queues and Binary heaps
  • Heaps work time
EditorTrees
7

21

Thu Oct 24

Details
  • §21.5
  • Heapsort
  • Heapsort work time
  • See previous day
EditorTrees
8

22

Mon Oct 28

Details
  • § 14.1, 14.2
  • Graphs
GraphSurfing
8

23

Wed Oct 30

Details
  • Study for the exam!
  • EditorTrees team member performance evaluation survey (required; Thursday 11:00 PM)
  • Exam 3
    Tuesday 10/29
    7:00 - 9:00 PM
    Section 2, O157
    Section 3, O159
  GraphSurfing
8

24

Thu Oct 31

Details
 
  • TBA
  GraphSurfing
9

25

Mon Nov 4

Details
  • § 7.5
  • Extended Binary Trees
  • Intro to Recurrences
GraphSurfing
9

26

Wed Nov 6

Details
  • § 7.5.2, 7.5.3
  • § 8.1 – 8.5 (skip 8.4.1)
 
  • Recurrences and Master Theorem
  • Sorting review/overview
GraphSurfing
9

27

Thu Nov 7

Details
  • § 8.6 – 8.7 (skim Average case analysis of Quicksort)
  • Quicksort
  • Quicksort average case analysis
GraphSurfing
10

28

Mon Nov 11

Details
  • § 8.8
  • Quicksort improvements
  • Lower bound for sorting algorithms.
  • Radix sort
SortingRaces
10

29

Wed Nov 13

Details
   
  • TBA
  • Worktime for sorting assignment
  SortingRaces
10

30

Thu Nov 14

Details
 
  • CSSE230 Big Picture
  • Course evaluations
  • Discussion of Final Exam
SortingRaces
11

31

Mon Nov 18

Details
 
  • Practice final exam
  • Final Exam

    Wednesday, Nov 20
    1:00 PM - 6:00 PM
    Section 2, Olin 205
    Section 3, Olin 203-1