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 255
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 12
  • Project
  • Project 3 due

  • 6TueFeb 16
  • Winter Recess
  • No 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 25
  • No 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 18
  • Spring 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 15
  • Android
  • Read: Introduction to Android
  • HW 10 due

  • 14TueApr 19
  • Android (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 29
  • Spring Fling
  • Project 13 due (noon)
  • No Class

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

  • ThuMay 05
  • Section 1 Exam, 9-11 am