CSCI 235 Spring 2016
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

CSCI 385
MATH 160
Others

Admin
previous     next     today     future     all    

Schedule for weeks 1 through 16

Wk Day Date TopicResourcesEvents

1TueJan 12
  • Course Introduction
  • OOP Review

  • ThuJan 14
  • 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 15
  • SVN and Eclipse
  • Review OFWJ 8-10
  • SVN and Eclipse
  • HW 1 due

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

  • ThuJan 21
  • UML
  • Inheritance
  • Review OFWJ 8-10
  • Read JSS Appendix A-B
  • Target Game
  • SampleClock2
  • HW 2 due

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

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

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

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

    4TueFeb 02
  • JUnit Testing
  • Testing Notes
  • JUnit Tutorial
  • junit.org
  • JUnit API
  • Assert API

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

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

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

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

    FriFeb 12ProjectProject 3 due

    6TueFeb 16Winter RecessNo Class

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

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

    7TueFeb 23
  • 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 25No Class (CIS)Project 5 due

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

    8TueMar 01
  • Iterators
  • List processing
  • JSS 7

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

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

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

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

  • FriMar 11
  • Algorithm Analysis Practice
  • Project 8 due

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

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

    FriMar 18Spring Break!No Class

    Spring Break Week

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

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

  • FriApr 01
  • 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 05
  • Treesort
  • Binary Search Trees
  • Balanced Trees
  • JSS 11.1-11.4
  • BST Notes

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

    FriApr 08
  • Sets
  • Maps
  • JSS 13

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

  • ThuApr 14
  • Heaps
  • Data Structure Efficiency
  • Project 11 due

    FriApr 15AndroidRead: Introduction to Android HW 10 due

    14TueApr 19Android (continued)
  • Android Notes 1
  • Android Notes 2
  • Android Notes 3

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

    FriApr 22
  • Graphs

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

  • ThuApr 28
  • Bible Reader Stage 12 review
  • Review

  • FriApr 29Spring Fling
  • Project 13 due (noon)
  • No Class

  • ExTueMay 03Section 2 Exam, 12:30-2:30 pm

    ThuMay 05Section 1 Exam, 9-11 am