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 TopicResourcesEvents

1TueJan 06
  • Introduction to the Course
  • Review of prerequisite topics
  • Course Webpage
  • Review Questions
  • Project 1
  • HW 1 Q2 in class

    ThuJan 08
  • Advanced OOP
  • Review OFWJ Ch 1-7
  • HW 1 Q2 in class
  • HW 1 due

  • FriJan 09
  • Software Development
  • Object Oriented Design
  • JSS 1.1-1.7
  • JSS 2.1-2.17

  • 2TueJan 13
  • Inheritance
  • Hierarchies
  • Subtyping
  • has-a and is-a
  • OFWJ 8.1-8.11
  • Inheritance 1 (DyKnow)

  • ThuJan 15
  • Polymorphism
  • Casting
  • Wrapper classes
  • Method overriding
  • super
  • Protected access
  • OFWJ 9.1-9.10
  • Inheritance 2 (DyKnow)

  • FriJan 16Inheritance and Polymorphism Inheritance Exercise
  • HW 2 due
  • Inheritance Exercise

  • 3TueJan 20
  • Abstract classes
  • Interfaces
  • OFWJ 10.1-10.8
  • SampleClock2
  • Project 1 due
  • Finish Inheritance Exercise

  • ThuJan 22
  • Abstract classes
  • Interfaces
  • foxes-and-rabbits-v3.zip
    (Look at before class)
  • Project 2
  • Foxes and Rabbits and Ferzles?

    FriJan 23
  • Abstract classes
  • Interfaces
  • The equals method
  • EqualityAndSwap.java

  • 4TueJan 27
  • GUI
  • Java Swing
  • Event Handling
  • Threads (just a little)
  • OFWJ 11.1-11.10
  • SimpleApplet
  • SwingExample
  • HW 3 due

  • ThuJan 29
  • Java Swing
  • ListenerExample
  • SwingExample
  • Sorting Demo
  • Swing Worksheet (DyKnow)

  • FriJan 30
  • Error Handling
  • Exceptions
  • OFWJ 12.1-12.6
  • HW 4 due
  • Exceptions Worksheet 1 (DyKnow)

  • 5TueFeb 03
  • Exception Handling
  • OFWJ 12.8-12.10
  • ListenerExample
  • Exceptions Worksheet 2 (DyKnow)

    ThuFeb 05
  • File I/O
  • FileIO example
  • HTMLeditor
  • Scatter Plot
  • Do Scatter Plot exercise.

  • FriFeb 06
  • More on Design
  • OFWJ 13.1-13.8
  • Read Model View Controller
  • Read 3-tier Applications
  • MVC_Ferzle
  • PiEstimator
  • TableExample
  • Project 2 due

  • 6TueFeb 10Winter BreakNo Class

    ThuFeb 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

  • FriFeb 13
  • Analysis of Algorithms
  • Growth rates
  • Limits
  • Read The Complexity of Songs
  • Complexity Worksheet (DyKnow)

  • 7TueFeb 17
  • Analysis of Algorithms
  • Growth rates
  • Limits
  • Review
  • HW 7 due

    ThuFeb 19Catch up, review
  • JSS 1.1-1.5,1.7 (Review)
  • JSS 2.1-2.17 (Review)
  • HW 5/6 due

  • FriFeb 20
  • OFWJ 8-13
  • JSS 1-2
  • Midterm Exam

  • 8TueFeb 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

  • ThuFeb 26
  • Linked Lists
  • Read JSS 4.1-4.5
  • Read Linked List Notes

  • FriFeb 27Set Example:
  • Black Jack
  • JSS 5.1-5.3 (examine the code)
  • Read Black Jack Questions

  • 9TueMar 03Stacks
  • JSS 6.1-6.7
  • Stack Notes
  • Stack Example
  • Project 3 due
  • Stack Implementation

  • ThuMar 05Queues
  • JSS 7.1-7.8
  • Queue Notes
  • Queue Example
  • HW 8 due
  • Queue Implementation

  • FriMar 06Lists
  • JSS 8.1-8.5

  • 10TueMar 10
  • Recursion
  • Factorials
  • Fibonacci
  • JSS 9.1-9.3
  • JSS 10.1-10.4
  • Read Recursion Notes
  • Recursive Functions
  • HW 9 due

    ThuMar 12
  • Binary Search
  • Towers of Hanoi
  • Read Binary Search Analysis
  • Towers of Hanoi: Array
  • Towers of Hanoi: Stack
  • Recursion Exercise

  • FriMar 13Spring BreakNo Class

    Spring Break Week

    11TueMar 24
  • Binary Trees
  • Binary Search Trees
  • JSS 12.1-12.5
  • Graphs and Trees Notes (pp 24-38)

  • ThuMar 26
  • Binary Trees
  • Binary Search Trees
  • AVL Trees
  • JSS 13.1-13.7
  • BST Notes
  • BST Applet
  • Balanced Tree Demo
  • Project 4 due

  • FriMar 27
  • Tree Maps
  • JSS 13.7

  • 12TueMar 31
  • Tree Sort
  • Tree Sets
  • JSS 18.1-18.5

  • ThuApr 02
  • Graphs
  • Trees
  • Graphs and Trees Notes (pp 1-23)
  • Lemke Game
  • HW 6 due (optional)

    FriApr 03More on Graphs

    13TueApr 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

  • ThuApr 09Hashing
  • JSS 17.1-17.5
  • Hashing Notes
  • Project 5 due

  • FriApr 10Good FridayNo class

    14TueApr 14Hashing
  • Hashing Applet
  • Data Structure Visualizations

  • ThuApr 16
  • Insertion Sort
  • Selection Sort
  • Bubble Sort
  • JSS 11.1-11.2
  • Basic Sorting Notes
  • Sorting Demos 1
  • Sorting Demos 2
  • Sorting Demos 3

  • FriApr 17
  • Merge Sort
  • Quick Sort
  • Merge Sort Notes
  • Quick Sort Notes
  • HW 10 due

  • 15TueApr 21
  • Radix Sort
  • Radix Sort Notes
  • Radix Sort Demo (binary)
  • Data Structure Visualizations

  • ThuApr 23Semester Review
  • Exam Study Guide

  • FriApr 24Project 6 due

    ExFriMay 01EverythingPencil and paperFinal Exam @ 9:00am