CSCI 235 Spring 2019
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 235
MATH 160
Others

Admin
previous     next     today     future     all    

Schedule for weeks 1 through 16

Wk Day Date TopicResourcesEvents

1TueJan 08
  • Course Introduction
  • OOP Review

  • ThuJan 10
  • GIT
  • Review OFWJ 1-7
  • Read Sections 1.1-1.3 of GIT Tutorial
  • Eclipse GIT Tutorial

  • FriJan 11
  • Review
  • Equality
  • Swapping in Java
  • Review OFWJ 8-10
  • Read How to Write an Equality Method in Java
  • Java equals Documentation
  • Java hashCode Documentation
  • HW 1 due

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

  • ThuJan 17
  • UML
  • Inheritance
  • Review OFWJ 8-10
  • HW 2 due

    FriJan 18
  • Java Swing
  • OFWJ 11
  • JSS Appendix C-D
  • Swing Examples (Bitbucket. Fork/clone to get/run them.)
  • HW 3 due

    3TueJan 22
  • More Swing
  • HW 4 due

    ThuJan 24
  • Design
  • OFWJ 13
  • JSS 1
  • Read Model-view-controller (Wikipedia)
  • MVC Diagram
  • MVC Examples Code (BitBucket)

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

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

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

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

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

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

    FriFeb 08ProjectProject 3 due

    6TueFeb 12Winter RecessNo Class

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

  • FriFeb 15
  • Computational Complexity
  • AIDMA (See Chapter 7, especially sections 7.2-7.3)
  • Project 4 due

    7TueFeb 19
  • Analysis of Algorithms
  • Growth rates
  • AIDMA (See Chapter 7, especially sections 7.2-7.3)
  • HW 7 due

    ThuFeb 21ReviewProject 5 due

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

    8TueFeb 26
  • Iterators
  • List processing
  • JSS 7

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

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

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

    ThuMar 07
  • Queues
  • JSS 5
  • Read Queue Notes
  • Queue Animation (Array)
  • Queue Animation (Linked List)

  • FriMar 08
  • Algorithm Analysis Practice
  • Project 8 due (now due Monday!)

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

    ThuMar 14
  • Recursion
  • Factorials
  • Fibonacci
  • Binary Search
  • Towers of Hanoi
  • JSS 8
  • Read Recursion Notes
  • Recursive Functions
  • Towers of Hanoi Stack implementation
  • Google search for recursion
  • Project 9 due

    FriMar 15Spring Break!No Class

    Spring Break Week

    11TueMar 26
  • Binary Search
  • Insertion Sort
  • Selection Sort
  • Bubble Sort
  • JSS 9
  • Read Binary Search Analysis
  • Basic Sorting Notes
  • Sorting Demos
  • BINARY search with FLAMENCO dance
  • Bubble-sort with Hungarian ("Csángó") folk dance
  • Select-sort with Gypsy folk dance
  • Insert-sort with Romanian folk dance

  • ThuMar 28
  • Merge Sort
  • Quick Sort
  • Radix Sort
  • Merge Sort Notes
  • Quick Sort Notes
  • Radix Sort Notes
  • Data Structure Visualizations
  • Search Visualizations
  • MergeSort Visualization
  • QuickSort Visualization
  • Quick-sort with Hungarian Dance
  • Merge-sort with Transylvanian-saxon (German) folk dance
  • 15 Sorting Algorithms in 6 Minutes

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

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

  • ThuApr 04
  • Balanced Trees
  • JSS 11.5-11.6
  • Balanced Tree Demo(no longer works?)
  • AVL Tree Demo
  • Java TreeMap Class
  • HW 9 due

    FriApr 05
  • Heaps
  • Priority Queues
  • Heap Sort
  • JSS 12
  • Heaps and Heapsort Notes
  • Heap Sort Demo
  • Project 11 due

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

  • ThuApr 11
  • Graphs

  • FriApr 12
  • Sets
  • Maps
  • JSS 13Project 12 due

    14TueApr 16AndroidRead: Introduction to Android at least through section 4.HW 10 due

    ThuApr 18Android

    FriApr 19Good Friday No Class

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

  • ThuApr 25
  • Bible Reader Stage 12 review
  • Review

  • FriApr 26ReviewProject 13 due

    ExMonApr 29Final Exam, 12:30-2:30 pm