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

Policies
Advice
College
    Policies

Notes
Programs
Tutorials

Others

Admin
previous     next     today     future     all    

Schedule for weeks 1 through 16

Wk Day Date TopicResourcesEvents

1TueJan 10
  • Course Introduction
  • OOP Review

  • ThuJan 12
  • 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 13
  • GIT
  • Review OFWJ 8-10
  • Read Part 1 of GIT Tutorial
  • HW 1 due

    2TueJan 17
  • Inheritance
  • GIT
  • Read JSS Appendix A-B

  • ThuJan 19
  • UML
  • Inheritance
  • Review OFWJ 8-10
  • Target Game
  • SampleClock2
  • HW 2 due

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

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

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

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

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

  • ThuFeb 02
  • Testing
  • Testing Clock Exercise
  • Project 0 due

    FriFeb 03
  • Bible Reader
  • Error Handling
  • Exceptions
  • OFWJ 12.1-12.8
  • HW 6 due

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

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

    FriFeb 10ProjectProject 3 due

    6TueFeb 14Winter RecessNo Class

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

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

    7TueFeb 21
  • 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 23ReviewProject 5 due

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

    8TueFeb 28
  • Iterators
  • List processing
  • JSS 7

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

    FriMar 03
  • Linked Structures
  • JSS 4
  • Read Linked List Notes
  • Data Structure Visualizations (runnable jarfile w/ linked lists, etc.)
  • Updated Data structure visualizations

  • 9TueMar 07
  • Stacks
  • Read Stack Notes
  • Stack Example
  • Stack Animation (Array)
  • Stack Animation (Linked List)
  • Data Structures Examples (Fork/checkout)
  • Project 7 due

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

  • FriMar 10
  • Algorithm Analysis Practice
  • Project 8 due

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

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

    FriMar 17Spring Break!No Class

    Spring Break Week

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

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

  • FriMar 31
  • 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

    12TueApr 04
  • Treesort
  • Binary Search Trees
  • Balanced Trees
  • JSS 11.1-11.4
  • BST Notes

  • ThuApr 06
  • Balanced Trees
  • JSS 11.5-11.6
  • Balanced Tree Demo
  • Java TreeMap Class
  • HW 9 due

    FriApr 07
  • Sets
  • Maps
  • JSS 13

    13TueApr 11
  • Heaps
  • Priority Queues
  • Heap Sort
  • JSS 12
  • Heaps and Heapsort Notes
  • Heap Sort Demo
  • Project 11 due

    ThuApr 13
  • Heaps
  • Data Structure Efficiency
  • HW 10 due

    FriApr 14No ClassGood Friday

    14TueApr 18AndroidRead: Introduction to Android

    ThuApr 20
  • Graphs
  • Read AIDMA Ch 10.1-10.3, 10.5
  • JSS 15
  • Graphs and Trees Notes (pp 1-23)

  • FriApr 21
  • Graphs
  • Project 12 due

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

  • ThuApr 27
  • Bible Reader Stage 12 review
  • Review

  • FriApr 28ReviewProject 13 due

    ExMonMay 01Exam, 12:30-2:30 pm