CSCI 235 Spring 2009
Software Design & Data Structures
Archived Class
Charles Cusack
Computer Science
Hope College
Main
Schedule
Grading
Gradebook
Projects
Homework
Policies
College Policies
Advice
Notes
Programs
Tutorials
CSCI 125
CSCI 255
MATH 131 (01 and 02)
Others
Admin
previous next
today
future
all
Schedule for weeks 1 through 16
Wk
Day
Date
Topic
Resources
Events
1
Tue
Jan 06
Introduction to the Course
Review of prerequisite topics
Course Webpage
Review Questions
Project 1
HW 1
Q2 in class
Thu
Jan 08
Advanced OOP
Review
OFWJ
Ch 1-7
HW 1
Q2 in class
HW 1
due
Fri
Jan 09
Software Development
Object Oriented Design
JSS 1.1-1.7
JSS 2.1-2.17
2
Tue
Jan 13
Inheritance
Hierarchies
Subtyping
has-a
and
is-a
OFWJ
8.1-8.11
Inheritance 1 (DyKnow)
Thu
Jan 15
Polymorphism
Casting
Wrapper classes
Method overriding
super
Protected access
OFWJ
9.1-9.10
Inheritance 2 (DyKnow)
Fri
Jan 16
Inheritance and Polymorphism
Inheritance Exercise
HW 2
due
Inheritance Exercise
3
Tue
Jan 20
Abstract classes
Interfaces
OFWJ
10.1-10.8
SampleClock2
Project 1
due
Finish Inheritance Exercise
Thu
Jan 22
Abstract classes
Interfaces
foxes-and-rabbits-v3.zip
(Look at before class)
Project 2
Foxes and Rabbits and Ferzles?
Fri
Jan 23
Abstract classes
Interfaces
The
equals
method
EqualityAndSwap.java
4
Tue
Jan 27
GUI
Java Swing
Event Handling
Threads (just a little)
OFWJ
11.1-11.10
SimpleApplet
SwingExample
HW 3
due
Thu
Jan 29
Java Swing
ListenerExample
SwingExample
Sorting Demo
Swing Worksheet (DyKnow)
Fri
Jan 30
Error Handling
Exceptions
OFWJ
12.1-12.6
HW 4
due
Exceptions Worksheet 1 (DyKnow)
5
Tue
Feb 03
Exception Handling
OFWJ
12.8-12.10
ListenerExample
Exceptions Worksheet 2 (DyKnow)
Thu
Feb 05
File I/O
FileIO
example
HTMLeditor
Scatter Plot
Do Scatter Plot exercise.
Fri
Feb 06
More on Design
OFWJ
13.1-13.8
Read
Model View Controller
Read
3-tier Applications
MVC_Ferzle
PiEstimator
TableExample
Project 2
due
6
Tue
Feb 10
Winter Break
No Class
Thu
Feb 12
Analysis of Algorithms
Growth rates
Limits
JSS 1.6
Read
Asympotic Notation Handout
Read
Analysis of Algorithms Notes
Read
Asymptotic Notation Notes
FunctionGrowth Applet
Fri
Feb 13
Analysis of Algorithms
Growth rates
Limits
Read
The Complexity of Songs
Complexity Worksheet (DyKnow)
7
Tue
Feb 17
Analysis of Algorithms
Growth rates
Limits
Review
HW 7
due
Thu
Feb 19
Catch up, review
JSS 1.1-1.5,1.7 (Review)
JSS 2.1-2.17 (Review)
HW 5/6
due
Fri
Feb 20
OFWJ 8-13
JSS 1-2
Midterm Exam
8
Tue
Feb 24
Java Collections
Sets
Arrays
Read JSS 3.1-3.6
Questions to think about
Java Collections Framework
Java Collection Tutorial
Java Collections
(pictures)
Data Structure Visualizations
Thu
Feb 26
Linked Lists
Read JSS 4.1-4.5
Read
Linked List Notes
Fri
Feb 27
Set Example:
Black Jack
JSS 5.1-5.3 (examine the code)
Read
Black Jack Questions
9
Tue
Mar 03
Stacks
JSS 6.1-6.7
Stack Notes
Stack Example
Project 3
due
Stack Implementation
Thu
Mar 05
Queues
JSS 7.1-7.8
Queue Notes
Queue Example
HW 8
due
Queue Implementation
Fri
Mar 06
Lists
JSS 8.1-8.5
10
Tue
Mar 10
Recursion
Factorials
Fibonacci
JSS 9.1-9.3
JSS 10.1-10.4
Read
Recursion Notes
Recursive Functions
HW 9
due
Thu
Mar 12
Binary Search
Towers of Hanoi
Read
Binary Search Analysis
Towers of Hanoi: Array
Towers of Hanoi: Stack
Recursion Exercise
Fri
Mar 13
Spring Break
No Class
Spring Break Week
11
Tue
Mar 24
Binary Trees
Binary Search Trees
JSS 12.1-12.5
Graphs and Trees Notes
(pp 24-38)
Thu
Mar 26
Binary Trees
Binary Search Trees
AVL Trees
JSS 13.1-13.7
BST Notes
BST Applet
Balanced Tree Demo
Project 4
due
Fri
Mar 27
Tree Maps
JSS 13.7
12
Tue
Mar 31
Tree Sort
Tree Sets
JSS 18.1-18.5
Thu
Apr 02
Graphs
Trees
Graphs and Trees Notes
(pp 1-23)
Lemke Game
HW 6
due (optional)
Fri
Apr 03
More on Graphs
13
Tue
Apr 07
Heaps
Priority Queues
Heap Sort
Huffman Encoding
Tree-Type Data Structures
JSS 15.1-15.6
Heaps and Heapsort Notes
Heap Sort Applet
Greedy Algorithms Notes
(pgs 5-18)
Trees Worksheet
Thu
Apr 09
Hashing
JSS 17.1-17.5
Hashing Notes
Project 5
due
Fri
Apr 10
Good Friday
No class
14
Tue
Apr 14
Hashing
Hashing Applet
Data Structure Visualizations
Thu
Apr 16
Insertion Sort
Selection Sort
Bubble Sort
JSS 11.1-11.2
Basic Sorting Notes
Sorting Demos 1
Sorting Demos 2
Sorting Demos 3
Fri
Apr 17
Merge Sort
Quick Sort
Merge Sort Notes
Quick Sort Notes
HW 10
due
15
Tue
Apr 21
Radix Sort
Radix Sort Notes
Radix Sort Demo (binary)
Data Structure Visualizations
Thu
Apr 23
Semester Review
Exam Study Guide
Fri
Apr 24
Project 6
due
Ex
Fri
May 01
Everything
Pencil and paper
Final Exam
@ 9:00am