CSCI 235 Fall 2007
Software Design & Data Structures
Archived Class
Charles Cusack
Computer Science
Hope College
Main
Schedule
Grading
Gradebook
Policies
Advice
College Policies
Notes
Programs
Tutorials
CSCI 235
MATH 160
Others
Admin
previous next
today
future
all
Schedule for weeks 1 through 16
Wk
Day
Date
Topic
Resources
Events
1
Mon
Aug 27
No class yet
No Class
Wed
Aug 29
Introduction to the Course
Review of prerequisite topics
Course Webpage
Review Questions
Project 1
HW 1
Q2 in class
Fri
Aug 31
Overview of advanced OOP
Review
OFWJ
Chapters 1-7
HW 1
Q2 in class
HW 1
due
2
Mon
Sep 03
Inheritance
Hierarchies
Subtyping
has-a
and
is-a
OFWJ
8.1-8.11
Inheritance Worksheet 1
Inheritance Worksheet 1 Answers
Inheritance 1 (DyKnow)
Wed
Sep 05
Polymorphism
Casting
Wrapper classes
Method overriding
super
Protected access
OFWJ
9.1-9.10
TimerExample
Inheritance Worksheet 2 Answers
Inheritance 2 (DyKnow)
Fri
Sep 07
Inheritance and Polymorphism
DrawingExample.zip
HW 2
due
Inheritance 3 (DyKnow)
3
Mon
Sep 10
Abstract classes
Interfaces
OFWJ
10.1-10.8
SampleClock2
Project 1
due
Finish Inheritance 3 (DyKnow)
Wed
Sep 12
Abstract classes
Interfaces
foxes-and-rabbits-v2.zip
Project 1 solutions
Project 2
Begin
HW 4a
Fri
Sep 14
Abstract classes
Interfaces
The
equals
method
EqualityAndSwap.java
HW 4a
due
View HW 4a Solutions
4
Mon
Sep 17
GUI
Java Swing
Event Handling
OFWJ
11.1-11.10
SimpleApplet
SwingExample
HW 3
due
Swing Worksheet (DyKnow)
Wed
Sep 19
Games (briefly)
Java Swing
Threads (just a little)
MazeDude.jar
SimpleApplet
ListenerExample
SwingExample
Sorting Demo
Fri
Sep 21
Error Handling
Exceptions
OFWJ
12.1-12.6
HW 4
due
Exceptions Worksheet 1 (DyKnow)
5
Mon
Sep 24
Error Handling
File I/O
OFWJ
12.8-12.10
SimpleApplet
FileIO
example
HTMLeditor
Exceptions Worksheet 2 (DyKnow)
Wed
Sep 26
More on File I/O
Scatter Plot
Do Scatter Plot
Fri
Sep 28
Software Development
Object Oriented Design
JSS 1.1-1.5,1.7
JSS 2.1-2.17
Project 2
due
6
Mon
Oct 01
More on Design
OFWJ
13.1-13.8
Read
Model View Controller
Read
3-tier Applications
MVC_Ferzle
PiEstimator
TableExample
Wed
Oct 03
CIS
No Class
Fri
Oct 05
Analysis of Algorithms
Growth rates
Limits
JSS 1.6
Read
Asympotic Notation Handout
Read
Analysis of Algorithms Notes
Read
Asymptotic Notation Notes
FunctionGrowth Applet
HW 5
due
7
Mon
Oct 08
Analysis of Algorithms
Growth rates
Limits
Project 2 solution
Grading Criteria Details
HW 6
due
Complexity Worksheet (DyKnow)
Wed
Oct 10
Analysis of Algorithms
Growth rates
Limits
Review
Fri
Oct 12
OFWJ 8-13
JSS 1-2
Midterm Exam
8
Mon
Oct 15
Fall Recess
No Class
Wed
Oct 17
Sets
Arrays
Linked Structures
Read JSS 3.1-3.6
Read JSS 4.1-4.5
Java Collections Framework
Java Collection Tutorial
Java Collections
(pictures)
Data Structure Visualizations
Fri
Oct 19
Example: Black Jack
JSS 5.1-5.3 (examine the code)
Read
Black Jack Questions
Project 3
due
9
Mon
Oct 22
Stacks
JSS 6.1-6.7
Stack Notes
C++ Stack Class
Stack Implementation
Wed
Oct 24
Queues
JSS 7.1-7.8
Queue Notes
HW 7
due
Queue Implementation
Fri
Oct 26
Stacks
Queues
10
Mon
Oct 29
Lists
JSS 8.1-8.5
Read
Linked List Notes
C++ Linked List Class
MazeDudeII.zip
Wed
Oct 31
Example: Calculator
Recursion
Factorials
Fibonacci
Binary Search
JSS 9.1-9.3
JSS 10.1-10.4
Recursive Functions
Recursion Notes
Recursive Functions
Fri
Nov 02
Recursion:
Towers of Hanoi
Path in Forest
Towers of Hanoi: Array
Towers of Hanoi: Stack
HW 8
due
11
Mon
Nov 05
Binary Trees
Binary Search Trees
JSS 12.1-12.5
Graphs and Trees Notes
(pp 24-38)
Project 4
due
Wed
Nov 07
Binary Trees
Binary Search Trees
AVL Trees
JSS 13.1-13.7
BST Notes
BST Applet
Balanced Tree Demo
Fri
Nov 09
Tree Maps
Tree Sort
Tree Sets
JSS 13.7
HW 9
due
12
Mon
Nov 12
Graphs
JSS 18.1-18.5
Graphs and Trees Notes
(pp 1-23)
Wed
Nov 14
Heaps
Priority Queues
Heap Sort
Huffman Encoding
JSS 15.1-15.6
Heaps and Heapsort Notes
Heap Sort Applet
Greedy Algorithms Notes
(pgs 5-18)
Fri
Nov 16
Trees
Your brainz
Dr. DeJongh
13
Mon
Nov 19
Hashing
JSS 17.1-17.5
Hashing Notes
Wed
Nov 21
Hashing
Hashing Applet
Data Structure Visualizations
Project 5
due
Fri
Nov 23
Thanksgiving Break
No Class
14
Mon
Nov 26
Insertion Sort
Selection Sort
Bubble Sort
JSS 11.1-11.2
Basic Sorting Notes
Sorting Demos 1
Sorting Demos 2
Sorting Demos 3
Wed
Nov 28
Merge Sort
Quick Sort
Radix Sort
Merge Sort Notes
Quick Sort Notes
Radix Sort Notes
Radix Sort Demo (binary)
Radix Sort Demo (decimal)
Data Structure Visualizations
Fri
Nov 30
Sorting Review
15
Mon
Dec 03
Semester Review
Wed
Dec 05
Semester Review
Exam Study Guide
Fri
Dec 07
Project 6
due (no late assignments this time)
Ex
Wed
Dec 12
Everything
Pencil and paper
Final Exam
@ 8:00am