CSSE230 – Data Structures and Algorithms

Winter 2019-20 (aka 202020)

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. Williamson's ScheduleCSSE Lab Assistants in F217Soph. Resident Tutor for CSSE230
Google sheetRobert Williamson's ScheduleScheduleJoanna's schedule, Others

Schedule last updated Fri Feb 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
1

1

Tue Dec 3

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

Wed Dec 4

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-O’s cousins, big-Omega and big-Theta
Warm Up and Stretching
1

3

Fri Dec 6

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
2

4

Tue Dec 10

Details
  • MCSS Linear Algorithm
Stacks and Queues
2

5

Wed Dec 11

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

Fri Dec 13

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
3

7

Tue Dec 17

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

8

Wed Dec 18

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

9

Fri Dec 20

Details
 
  • Homework 3
  • StacksAndQueues partner evaluation (on Moodle)
  • Exam 1
    Thu 12/19
    7:00 - 9:00 PM
    Section 1, O167
    Section 2, O169
    Section 4, O159
    Night exam. No class Fri to compensate.
  Doublets
4

10

Tue Jan 7

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

11

Wed Jan 8

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

12

Fri Jan 10

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

13

Tue Jan 14

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

Wed Jan 15

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 Jan 17

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

Tue Jan 21

Details
  • § 19.5
  • Red-black trees
EditorTrees
6

17

Wed Jan 22

Details
   
  • EditorTrees workday
EditorTrees
6

18

Fri Jan 24

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

19

Tue Jan 28

Details
  • Review chapter 20
  • Hash Table analysis
EditorTrees
7

20

Wed Jan 29

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

21

Fri Jan 31

Details
  • §21.5
  • Heapsort
  • Heapsort work time
EditorTrees
8

22

Tue Feb 4

Details
  • § 14.1, 14.2
  • Graphs
GraphSurfing
8

23

Wed Feb 5

Details
  • Study for the exam!
  • EditorTrees team member performance evaluation survey (required; Thursday 11:00 PM)
  • Exam 3
    Wed 2/5
    7:00 - 9:00 PM
    Section 1, O257
    Section 2, O259
    Section 4, O267
  GraphSurfing
8

24

Fri Feb 7

Details
 
  • TBA
  GraphSurfing
9

25

Tue Feb 11

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

26

Wed Feb 12

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

Fri Feb 14

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

28

Tue Feb 18

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

29

Wed Feb 19

Details
   
  • TBA
  • Worktime for sorting assignment
  SortingRaces
10

30

Fri Feb 21

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

31

Tue Feb 25

Details
 
  • Practice final exam
  • Final Exam
    TBA