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 TopicResourcesEvents

1MonAug 27No class yetNo Class

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

    FriAug 31
  • Overview of advanced OOP
  • Review OFWJ Chapters 1-7
  • HW 1 Q2 in class
  • HW 1 due

  • 2MonSep 03
  • Inheritance
  • Hierarchies
  • Subtyping
  • has-a and is-a
  • OFWJ 8.1-8.11
  • Inheritance Worksheet 1
  • Inheritance Worksheet 1 Answers
  • Inheritance 1 (DyKnow)

  • WedSep 05
  • Polymorphism
  • Casting
  • Wrapper classes
  • Method overriding
  • super
  • Protected access
  • OFWJ 9.1-9.10
  • TimerExample
  • Inheritance Worksheet 2 Answers
  • Inheritance 2 (DyKnow)

    FriSep 07Inheritance and PolymorphismDrawingExample.zip
  • HW 2 due
  • Inheritance 3 (DyKnow)

  • 3MonSep 10
  • Abstract classes
  • Interfaces
  • OFWJ 10.1-10.8
  • SampleClock2
  • Project 1 due
  • Finish Inheritance 3 (DyKnow)

  • WedSep 12
  • Abstract classes
  • Interfaces
  • foxes-and-rabbits-v2.zip
  • Project 1 solutions
  • Project 2
  • Begin HW 4a

  • FriSep 14
  • Abstract classes
  • Interfaces
  • The equals method
  • EqualityAndSwap.java
  • HW 4a due
  • View HW 4a Solutions

  • 4MonSep 17
  • GUI
  • Java Swing
  • Event Handling
  • OFWJ 11.1-11.10
  • SimpleApplet
  • SwingExample
  • HW 3 due
  • Swing Worksheet (DyKnow)

  • WedSep 19
  • Games (briefly)
  • Java Swing
  • Threads (just a little)
  • MazeDude.jar
  • SimpleApplet
  • ListenerExample
  • SwingExample
  • Sorting Demo

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

  • 5MonSep 24
  • Error Handling
  • File I/O
  • OFWJ 12.8-12.10
  • SimpleApplet
  • FileIO example
  • HTMLeditor
  • Exceptions Worksheet 2 (DyKnow)

    WedSep 26
  • More on File I/O
  • Scatter Plot
  • Do Scatter Plot

  • FriSep 28
  • Software Development
  • Object Oriented Design
  • JSS 1.1-1.5,1.7
  • JSS 2.1-2.17
  • Project 2 due

  • 6MonOct 01
  • More on Design
  • OFWJ 13.1-13.8
  • Read Model View Controller
  • Read 3-tier Applications
  • MVC_Ferzle
  • PiEstimator
  • TableExample

  • WedOct 03CISNo Class

    FriOct 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

  • 7MonOct 08
  • Analysis of Algorithms
  • Growth rates
  • Limits
  • Project 2 solution
  • Grading Criteria Details
  • HW 6 due
  • Complexity Worksheet (DyKnow)

  • WedOct 10
  • Analysis of Algorithms
  • Growth rates
  • Limits
  • Review

  • FriOct 12
  • OFWJ 8-13
  • JSS 1-2
  • Midterm Exam

  • 8MonOct 15Fall RecessNo Class

    WedOct 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

  • FriOct 19Example: Black Jack
  • JSS 5.1-5.3 (examine the code)
  • Read Black Jack Questions
  • Project 3 due

  • 9MonOct 22Stacks
  • JSS 6.1-6.7
  • Stack Notes
  • C++ Stack Class
  • Stack Implementation

  • WedOct 24Queues
  • JSS 7.1-7.8
  • Queue Notes
  • HW 7 due
  • Queue Implementation

  • FriOct 26
  • Stacks
  • Queues

  • 10MonOct 29Lists
  • JSS 8.1-8.5
  • Read Linked List Notes
  • C++ Linked List Class
  • MazeDudeII.zip

  • WedOct 31
  • Example: Calculator
  • Recursion
  • Factorials
  • Fibonacci
  • Binary Search
  • JSS 9.1-9.3
  • JSS 10.1-10.4
  • Recursive Functions
  • Recursion Notes
  • Recursive Functions

  • FriNov 02Recursion:
  • Towers of Hanoi
  • Path in Forest
  • Towers of Hanoi: Array
  • Towers of Hanoi: Stack
  • HW 8 due

    11MonNov 05
  • Binary Trees
  • Binary Search Trees
  • JSS 12.1-12.5
  • Graphs and Trees Notes (pp 24-38)
  • Project 4 due

  • WedNov 07
  • Binary Trees
  • Binary Search Trees
  • AVL Trees
  • JSS 13.1-13.7
  • BST Notes
  • BST Applet
  • Balanced Tree Demo

  • FriNov 09
  • Tree Maps
  • Tree Sort
  • Tree Sets
  • JSS 13.7
  • HW 9 due

    12MonNov 12
  • Graphs
  • JSS 18.1-18.5
  • Graphs and Trees Notes (pp 1-23)

  • WedNov 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)

  • FriNov 16TreesYour brainzDr. DeJongh

    13MonNov 19Hashing
  • JSS 17.1-17.5
  • Hashing Notes

  • WedNov 21Hashing
  • Hashing Applet
  • Data Structure Visualizations
  • Project 5 due

    FriNov 23Thanksgiving BreakNo Class

    14MonNov 26
  • Insertion Sort
  • Selection Sort
  • Bubble Sort
  • JSS 11.1-11.2
  • Basic Sorting Notes
  • Sorting Demos 1
  • Sorting Demos 2
  • Sorting Demos 3

  • WedNov 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

  • FriNov 30Sorting Review

    15MonDec 03Semester Review

    WedDec 05Semester Review
  • Exam Study Guide

  • FriDec 07Project 6 due (no late assignments this time)

    ExWedDec 12EverythingPencil and paperFinal Exam @ 8:00am