CSSE230 – Data Structures and Algorithms

Fall 2017–18 (aka 201810)

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’ll try 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. Miller’s scheduleLab Assistants, CSSE230Lab Assistants, any CSSE courseSoph. Resident Tutor for CSSE230
Google sheetGoogle sheetGoogle sheetPDFGoogle calendar

Schedule last updated Sun Oct 22.

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 Aug 31

Details
  • Read the Syllabus
  • Bookmark this schedule page.
  • Email your instructor if you forgot your SVN password
  • 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 - I use Java EE), and
    • Subclipse (Update from Eclipse > Help > Install, URL = http://subclipse.tigris.org/update_1.8.x
  • 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 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-oh’s cousins, big-Omega and big-Theta
Warm Up and Stretching
1

3

Tue Sep 5

Details
  • Continue reviewing Weiss Ch. 1–6; focus on §5.3
  • Homework 1 Submit to drop box in Moodle.
  • Make progress on WarmUpAndStretching.
  • MCSS Cubic and Quadratic Algorithms
Warm Up and Stretching
1

4

Thu Sep 7

Details
  • MCSS Linear Algorithm
Stacks and Queues
2

5

Mon Sep 11

Details
  • UML Diagram of Collections framework (from HW2)
  • Abstract data types (ADTs)
  • Review of basic data structures in the Java Collections Framework
Stacks and Queues
2

6

Tue Sep 12

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 14

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

8

Mon Sep 18

Details
  • Study for Exam 1, take practice exam on Moodle
  • StacksAndQueues partner evaluation (on Moodle)
  • Exam 1
    Monday
    7:00 - 9:00 PM
    Section 1, O157
    Section 2, O167
    Section 4, O159
    Night exam. No class today to compensate.
  Doublets
3

9

Tue Sep 19

Details
  • §18.4
  • Iterators: Simple and lazy ones
Doublets
3

10

Thu Sep 21

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

11

Mon Sep 25

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

12

Tue Sep 26

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

13

Thu Sep 28

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 2

Details
  • Re-write any tree methods you haven't yet mastered
 
  • Student questions on EditorTree Requirements
  • Practice with AVL Tree Rotations
  • Exam 2a in class
EditorTrees
5

15

Tue Oct 3

Details
  • § 19.2
  • Discuss usage of rank field
  • EditorTrees work time with your team
EditorTrees
5

16

Thu Oct 5

Details
 
  • EditorTrees workday
  EditorTrees
6

17

Mon Oct 9

Details
  • § 19.5
 
  • Red-black trees
EditorTrees
6

18

Tue Oct 10

Details
  • Chapter 20
  • Hash Table intro
EditorTrees
7

19

Mon Oct 16

Details
  • Review chapter 20
  • Hash Table implementation
EditorTrees
7

20

Tue Oct 17

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

21

Thu Oct 19

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

22

Mon Oct 23

Details
  • § 14.1, 14.2
  • Graphs
GraphSurfing
8

23

Tue Oct 24

Details
  • Study for the exam!
  • EditorTrees team member performance evaluation survey (required; Thursday 11:00 PM)
  • Exam 2
    Wednesday
    7:00 - 9:00 PM
    Section 1, O157
    Section 2, O167
    Section 4, O159
    Night exam. No class today to compensate.
  GraphSurfing
8

24

Thu Oct 26

Details
 
  • TBA
  GraphSurfing
9

25

Mon Oct 30

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

26

Tue Oct 31

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 2

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

28

Mon Nov 6

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

29

Tue Nov 7

Details
 
  • HardyPartTwo partner eval
  • TBA
  • Worktime for sorting assignment
  SortingRaces
10

30

Thu Nov 9

Details
 
  • Course evaluations
  • Discussion of Final Exam
  • Practice problems for final exam (no solutions posted, but can ask us)
SortingRaces
11

31

Mon Nov 13

Details
 
  • Final exam review packet (not collected)
  • Final Exam

    Wednesday, Nov 15
    6:00 PM - 10:00 PM
    Section 1, Olin 167
    Section 2, Myers 111
    Section 4, Olin 169