CSCI 235 Spring 2015
Data Structures and Software Design
Archived Class
Charles Cusack
Computer Science
Hope College
Main
Schedule
Grading
Gradebook
Homework
Links

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
  • Course Introduction
  • OOP Review

  • ThuJan 08
  • Review
  • Equality
  • Swapping in Java
  • Review OFWJ 1-7
  • Read How to Write an Equality Method in Java
  • Java equals Documentation
  • Java hashCode Documentation

  • FriJan 09
  • SVN and Eclipse
  • Review OFWJ 8-10
  • SVN and Eclipse
  • HW 1 due

    2TueJan 13
  • Inheritance
  • SVN
  • Read Version Control with Subversion Preface (pages xiv-xv) and Ch 1 (pages 1-14)

  • ThuJan 15
  • UML
  • Inheritance
  • Review OFWJ 8-10
  • Read JSS Appendix A-B
  • Target Game
  • SampleClock2

  • FriJan 16
  • Java Swing
  • OFWJ 11
  • JSS Appendix C-D
  • Look at SimpleApplet
  • Look at SwingExample
  • HW 2 due

    3TueJan 20
  • More Swing
  • Sorting Demo
  • ListenerExample
  • HW 3 due
    HW 4 due

    ThuJan 22
  • Design
  • OFWJ 13
  • JSS 1
  • Read 3-tier Applications
  • MVC Diagram
  • Model-view-controller (Wikipedia)
  • MVC_Ferzle
  • PiEstimator
  • TableExample

  • FriJan 23
  • Bible Reader Design
  • Read Bible Reader Overview
  • HW 5 due

    4TueJan 27
  • JUnit Testing
  • Testing Notes
  • JUnit Tutorial
  • junit.org
  • JUnit API
  • Assert API

  • ThuJan 29
  • Testing
  • Testing Clock Exercise
  • Project 0 due

    FriJan 30
  • Bible Reader
  • Error Handling
  • Exceptions
  • OFWJ 12.1-12.8
  • HW 6 due

    5TueFeb 03
  • Error Handling
  • Exceptions
  • OFWJ 12.9-12.10
  • Read Pair Programming
  • Project 1 due

    ThuFeb 05
  • File I/O
  • FileIO example
  • HTMLeditor
  • Scatter Plot
  • Project 2 due

    FriFeb 06ProjectProject 3 due

    6TueFeb 10Winter RecessNo Class

    ThuFeb 12
  • Analysis of Algorithms
  • Growth rates
  • Limits
  • JSS 2
  • Read Analysis of Algorithms Notes
  • Read Asympotic Notation Handout
  • Asymptotic Notation Notes
  • FunctionGrowth Applet

  • FriFeb 13
  • Computational Complexity
  • An Active Introduction to Discrete Math and Algorithms (See Chapter 7, especially sections 7.2-7.3)
  • Project 4 due

    7TueFeb 17
  • Analysis of Algorithms
  • Growth rates
  • An Active Introduction to Discrete Math and Algorithms (See Chapter 7, especially sections 7.2-7.3)
  • HW 7 due

    ThuFeb 19
  • Review
  • Bible Reader
  • Project 5 due

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

    8TueFeb 24
  • Iterators
  • List processing
  • JSS 7

    ThuFeb 26
  • Java Collections
  • JSS 3
  • Collections Notes
  • Java Collection Links
  • Java Collections Diagram
  • Java Collections Introduction
  • Data Structure Visualizations
  • Project 6 due

    FriFeb 27
  • Linked Structures
  • JSS 4
  • Read Linked List Notes
  • Data Structure Visualizations (runnable jarfile w/ linked lists, etc.)

  • 9TueMar 03
  • Stacks
  • Read Stack Notes
  • Stack Example
  • Stack Animation (Array)
  • Stack Animation (Linked List)
  • Project 7 due

    ThuMar 05
  • Queues
  • JSS 5
  • Read Queue Notes
  • Queue Example (unimplemented)
  • Queue Animation (Array)
  • Queue Animation (Linked List)

  • FriMar 06
  • Misc
  • Project 8 due

    10TueMar 10
  • Lists
  • JSS 6
  • HW 8 due

    ThuMar 12
  • Recursion
  • Factorials
  • Fibonacci
  • Binary Search
  • Towers of Hanoi
  • JSS 8
  • Read Recursion Notes
  • Recursive Functions
  • Project 9 due

    FriMar 13Spring Break!No Class

    Spring Break Week

    11TueMar 24
  • Binary Search
  • Insertion Sort
  • Selection Sort
  • Bubble Sort
  • JSS 9
  • Read Binary Search Analysis
  • Basic Sorting Notes
  • Sorting Demos

  • ThuMar 26
  • Merge Sort
  • Quick Sort
  • Radix Sort
  • Merge Sort Notes
  • Quick Sort Notes
  • Radix Sort Notes
  • Radix Sort Demo (binary)
  • Data Structure Visualizations

  • FriMar 27
  • Trees
  • Binary Trees
  • Tree Traversals
  • JSS 10
  • Graphs and Trees Notes (pp 24-38)
  • Pre/In/Postfix Notation Demo
  • Tree Traversal Demo
  • Project 10 due

    12TueMar 31
  • Treesort
  • Binary Search Trees
  • Balanced Trees
  • JSS 11.1-11.4
  • BST Notes
  • Balanced Tree Demo

  • ThuApr 02
  • Balanced Trees
  • JSS 11.5-11.6HW 9 due

    FriApr 03Good FridayNo Class

    13TueApr 07
  • Sets
  • Maps
  • JSS 13

    ThuApr 09
  • Heaps
  • Priority Queues
  • Heap Sort
  • JSS 12
  • Heaps and Heapsort Notes
  • Heap Sort Demo
  • Project 11 due

    FriApr 10
  • Heaps
  • Data Structure Efficiency
  • HW 10 due

    14TueApr 14
  • Graphs
  • JSS 15
  • Graphs and Trees Notes (pp 1-23)
  • Project 13.1 due

  • ThuApr 16
  • Graphs
  • AIDMA Read Ch 10.1-10.3, 10.5
  • Algoraph
  • Project 12 due

  • FriApr 17
  • Graphs

  • 15TueApr 21
  • Hashing
  • JSS Appendix E
  • Hashing Notes

  • ThuApr 23
  • Review

  • FriApr 24Spring Fling
  • Project 13.2 due (noon)
  • No Class

  • ExMonApr 27Section 2 Exam, 3-5pm

    WedApr 29Section 1 Exam, 12:30-2:30pm