CSSE230 – Data Structures and Algorithms

Fall 2013–14

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:59 PM on the day indicated.

Schedule last updated Wed Oct 30.

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

Fri Sep 6

Details
  • Bookmark this schedule page in your browser.
  • Read the Syllabus
  • Email your instructor if you forgot your SVN password (different from your normal Rose-hulman network password)
  • Review Weiss Ch. 1–6 before Day 4: many pages, mostly review. Carefully read the new stuff and skim the rest: this document may help guide your reading).
  • Install software for the course:
  • Nothing today, but lots this week!
  • 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

Tue Sep 10

Details
  • Review the Syllabus, bring questions to class
  • Weiss §5.1, 5.2, 5.4–5.8, 7.2
  • Continue reviewing Weiss Ch. 1–6.
  • Post to "Introduce Yourself" on Piazza (see link in syllabus); what you write can be as short or long as you wish by Monday, 11:59 PM.
  • Complete Diagnostic Quiz 1, Quiz2, and Quiz3, on Moodle under Diagnostic Quizzes, by Monday, 11:59 PM (no late days may be used)
  • Written Assignment 1 Submit to drop box in Moodle.
    Until Fall break, written assignments will be due on Tuesday at 11:59 PM.
  • Growable Arrays completion and discussion
  • Proving properties by mathematical induction.
  • Review of Asymptotic analysis and formal definition of Big O.
  • Big-oh’s cousins, big-Omega and big-Theta
  • Limits and asymptotic behavior
Warm Up and Stretching
1

3

Wed Sep 11

Details
  • Continue reviewing Weiss Ch. 1–6.
  • Know the definitions in the Key Concepts at the ends of Ch. 1–3 (include Chapter 4 by Session 4)
  • Make progress on WarmUpAndStretching.
  • Abstract data types (ADTs)
  • Review of basic data structures
Warm Up and Stretching
1

4

Fri Sep 13

Details
  • Finish review of Weiss Ch. 1–6
  • Continue Data Structures Grand Tour
  • Review Comparable, function objects, Comparator.
Pascal Christmas Tree
2

5

Tue Sep 17

Details
  • MCSS Cubic and Quadratic Algorithms
Pascal Christmas Tree
2

6

Wed Sep 18

Details
 
  • MCSS Linear Algorithm
Pascal Christmas Tree
2

7

Fri Sep 20

Details
  • §7.1-7.3, 7.5.1
  • Recursion overview
  • Recursive size of linked list
  • Recursive parseInt OR binary Search (instructor choice)
  • Recursion exercise: Tree problem from WA3
Hardy Part 2
and Evaluator
3

8

Tue Sep 24

Details
  • Ch. 15-17 (should be mostly review)
  • §18.1-18.3
  • Java Collections Framework
  • Trees intro
Hardy Part 2
and Evaluator
3

9

Wed Sep 25

Details
  • Install Weiss packages on your system so they will be available for you to use
  • Pascal partner evaluation (on Moodle) due at 5 PM.
  • More binary trees
  • Binary tree traversals
  • Questions about Exam 1
Hardy Part 2
and Evaluator
3

10

Fri Sep 27

Details
  • §18.4
  • More tree methods (contains, duplicate, equals)
  • Binary tree iterators
  • Alternate approaches to iterators
  • Size vs. Height in a binary tree
Displayable Binary Tree
4

11

Tue Oct 1

Details
  • Prepare for Exam 1
  • Exam 1 in class
  Displayable Binary Tree
4

12

Wed Oct 2

Details
  • § 19.1 - 19.3
  • Hardy/Evaluator partner evaluation (on Moodle)
  • Doublets partner preference survey (on Moodle)
  • Size vs. Height in a binary tree
  • BST insert, contains, delete
Displayable Binary Tree
4

13

Fri Oct 4

Details
  • § 19.4
  • Doublets preview, meet partner
  • Finding kth element of a BST, need for rank
  • Definition of Height-balanced tree
  • Induction example: Fibonacci
  • Completely-balanced trees: nice idea, but ...
  • Height-balanced trees, maximum height
Doublets
5

14

Tue Oct 8

Details
 
  • AVL Trees: How to find the node where rotation is needed
  • Single and double rotations; effect on subtree height.
  • Worktime
Doublets
5

15

Wed Oct 9

Details
 
  • EditorTrees team preference survey.
  • Midterm course evaluation in Moodle.
  • Practice with AVL Tree Rotations
  • Doublets work time.
Doublets
5

16

Fri Oct 11

Details
  • §7.7
  • EditorTrees intro and teams
  • Exhaustive search, non-attacking queens problem.
EditorTrees
6

17

Tue Oct 15

Details
 
  • Student questions on EditorTree Requirements
  • EditorTree work time
  EditorTrees
6

18

Wed Oct 16

Details
  • §20.1-20.3
  • Doublets partner evaluation
  • Hash Table intro
EditorTrees
7

19

Tue Oct 22

Details
  • §20.4-20.7
  • Editor Trees Milestone 1
  • Hash tables (continued)
  • Editor Trees milestone 2 worktime
EditorTrees
7

20

Wed Oct 23

Details
  • § 7.5
 
  • Extended Binary Trees
  • Intro to Recurrences
EditorTrees
7

21

Fri Oct 25

Details
  • Study for the exam!
  • Written Assignment 7 (grace period extension until Sunday night, although you must still submit it by Thursday night to earn an early day)
  • Exam 2 in class
  EditorTrees
8

22

Tue Oct 29

Details
  • § 7.5.2, 7.5.3
  • § 8.1 – 8.5 (skip 8.4.1)
  • Editor Trees Milestone 2
  • Recurrences and Master Theorem
  • Sorting review/overview
EditorTrees
8

23

Wed Oct 30

Details
  • § 8.6 – 8.7 (skim Average case analysis of Quicksort)
 
  • Quicksort
  • Quicksort average case analysis
EditorTrees
8

24

Fri Nov 1

Details
  • § 8.8
  • Quicksort improvements
  • Lower bound for sorting algorithms.
  • Radix sort
EditorTrees
9

25

Tue Nov 5

Details
 
  • Skip lists
  • Skiplist project intro
SkipLists
9

26

Wed Nov 6

Details
  • §21.1-21.3
  • EditorTrees team member performance Evaluation Survey.
  • Priority Queues and Binary heaps
SkipLists
9

27

Fri Nov 8

Details
  • §21.5
  • Heapsort
  • SkipLists work time
SkipLists
10

28

Tue Nov 12

Details
  • §14.1
  • Graphs
SortingRaces
10

29

Wed Nov 13

Details
   
  • Worktime for sorting assignment
  SortingRaces
10

30

Fri Nov 15

Details
 
  • SortingRaces (You may also use a late day if you have one.)
  • Course evaluations
  • Discussion of Final Exam
  • Practice problems for final exam
SortingRaces
11

31

Tue Nov 19

Details
 
  • Final Exam
    Wednesday
    6:00 PM - 10:00 PM
    Olin 169