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

1MonJan 08
  • Course Introduction
  • OOP Review

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

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

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

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

    3MonJan 22
  • More Swing
  • HW 4 due

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

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

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

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

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

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

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

    FriFeb 09ProjectProject 3 due

    6MonFeb 12Winter RecessNo Class

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

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

    7MonFeb 19
  • 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

    WedFeb 21ReviewProject 5 due

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

    8MonFeb 26
  • Iterators
  • List processing
  • JSS 7

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

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

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

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

  • FriMar 09
  • Algorithm Analysis Practice
  • Project 8 due

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

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

    FriMar 16Spring Break!No Class

    Spring Break Week

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

  • WedMar 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

  • FriMar 30Good Friday No Class

    12MonApr 02EasterNo Class

    WedApr 04
  • 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

    FriApr 06
  • Treesort
  • Binary Search Trees
  • Balanced Trees
  • JSS 11.1-11.4
  • BST Notes

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

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

    FriApr 13
  • Sets
  • Maps
  • JSS 13

    14MonApr 16AndroidRead: Introduction to AndroidHW 10 due

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

  • FriApr 20
  • Graphs
  • Project 12 due

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

  • WedApr 25
  • Bible Reader Stage 12 review
  • Review

  • FriApr 27ReviewProject 13 due

    ExThuMay 03Final Exam, 12:30-2:30 pm