CSCI 235 Spring 2020
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 125
CSCI 255
Others

Admin
previous     next     today     future     all    

Schedule for weeks 1 through 16

Wk Day Date TopicResourcesEvents

1TueJan 07
  • Course Introduction
  • OOP Review

  • TueJan 07
  • Course Introduction
  • OOP Review

  • ThuJan 09
  • GIT
  • Review OFWJ 1-9 (Except 5)
  • Read Sections 1.1-1.3 of GIT Tutorial
  • Eclipse GIT Tutorial

  • ThuJan 09
  • GIT
  • Review OFWJ 1-9 (Except 5)
  • Read Sections 1.1-1.3 of GIT Tutorial
  • Eclipse GIT Tutorial

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

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

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

  • TueJan 14
  • Inheritance
  • GIT
  • Read JSS Appendix A-B

  • ThuJan 16
  • UML
  • Inheritance
  • Review OFWJ 10-12
  • Homework 2
  • HW 2 due

    ThuJan 16
  • UML
  • Inheritance
  • Review OFWJ 10-12
  • Homework 2
  • HW 2 due

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

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

    3TueJan 21
  • More Swing
  • HW 4 due

    TueJan 21
  • More Swing
  • HW 4 due

    ThuJan 23
  • Design
  • OFWJ 15
  • JSS 1
  • Read Model-view-controller (Wikipedia)
  • MVC Diagram
  • MVC Examples Code (BitBucket)
  • HW 5 due (Part A)

    ThuJan 23
  • Design
  • OFWJ 15
  • JSS 1
  • Read Model-view-controller (Wikipedia)
  • MVC Diagram
  • MVC Examples Code (BitBucket)
  • HW 5 due (Part A)

    FriJan 24
  • Bible Reader Design
  • Read Bible Reader Overview

  • FriJan 24
  • Bible Reader Design
  • Read Bible Reader Overview

  • 4TueJan 28
  • JUnit Testing
  • Testing Notes
  • JUnit Tutorial
  • junit.org
  • JUnit API
  • Assert API
  • HW 5 due (Part B)

    TueJan 28
  • JUnit Testing
  • Testing Notes
  • JUnit Tutorial
  • junit.org
  • JUnit API
  • Assert API
  • HW 5 due (Part B)

    ThuJan 30
  • Testing
  • Testing Clock Exercise

  • ThuJan 30
  • Testing
  • Testing Clock Exercise

  • FriJan 31
  • Bible Reader
  • Error Handling
  • Exceptions
  • OFWJ 14.1-14.8
  • HW 6 due

    FriJan 31
  • Bible Reader
  • Error Handling
  • Exceptions
  • OFWJ 14.1-14.8
  • HW 6 due

    5TueFeb 04
  • Error Handling
  • Exceptions
  • OFWJ 14.9-14.10
  • Read Pair Programming
  • Project 1 due

    TueFeb 04
  • Error Handling
  • Exceptions
  • OFWJ 14.9-14.10
  • Read Pair Programming
  • Project 1 due

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

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

    FriFeb 07ProjectProject 3 due

    FriFeb 07ProjectProject 3 due

    6TueFeb 11Winter RecessNo Class

    TueFeb 11Winter RecessNo Class

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

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

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

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

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

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

    ThuFeb 20ReviewProject 5 due

    ThuFeb 20ReviewProject 5 due

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

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

    8TueFeb 25
  • Iterators
  • List processing
  • JSS 7

    TueFeb 25
  • Iterators
  • List processing
  • JSS 7

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

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

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

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

  • 9TueMar 03
  • Linked Lists
  • Project 7 due

    TueMar 03
  • Linked Lists
  • Project 7 due

    ThuMar 05
  • Stacks
  • Read Stack Notes
  • Stack Example
  • Stack Animation (Array)
  • Stack Animation (Linked List)
  • Data Structures Examples (Fork/checkout)

  • ThuMar 05
  • Stacks
  • Read Stack Notes
  • Stack Example
  • Stack Animation (Array)
  • Stack Animation (Linked List)
  • Data Structures Examples (Fork/checkout)

  • FriMar 06StacksProject 8 due (last minute extension to Tuesday)

    FriMar 06StacksProject 8 due (last minute extension to Tuesday)

    10TueMar 10
  • Queues
  • JSS 5
  • Read Queue Notes
  • Queue Animation (Array)
  • Queue Animation (Linked List)

  • TueMar 10
  • Queues
  • JSS 5
  • Read Queue Notes
  • Queue Animation (Array)
  • Queue Animation (Linked List)

  • ThuMar 12
  • Algorithm Analysis Practice
  • ArrayListBible Algorithm Analysis Worksheet
  • ArrayListBible Algorithm Analysis Worksheet Solutions

  • ThuMar 12
  • Algorithm Analysis Practice
  • ArrayListBible Algorithm Analysis Worksheet
  • ArrayListBible Algorithm Analysis Worksheet Solutions

  • FriMar 13Spring Break!No Class

    FriMar 13Spring Break!No Class

    Spring Break Week

    11TueMar 24
  • Lists
  • JSS 6
  • (See last Thursday's schedule for ArrayListBible Algorithm Analysis Worksheet and solutions)
  • Basic Data Structure Complexity Worksheet (Excel)
  • Basic Data Structure Complexity Worksheet (PDF)

  • TueMar 24
  • Lists
  • JSS 6
  • (See last Thursdays schedule for ArrayListBible Algorithm Analysis Worksheet and solutions)
  • Basic Data Structure Complexity Worksheet (Excel)
  • Basic Data Structure Complexity Worksheet (PDF)

  • ThuMar 26
  • Recursion
  • Factorials
  • Fibonacci
  • Binary Search
  • Towers of Hanoi
  • JSS 8
  • Google search for recursion
  • Recursion Notes
  • RecursionExamples (GIT repository)
  • Towers of Hanoi Demo

  • ThuMar 26
  • Recursion
  • Factorials
  • Fibonacci
  • Binary Search
  • Towers of Hanoi
  • JSS 8
  • Google search for recursion
  • Recursion Notes
  • RecursionExamples (GIT repository)
  • Towers of Hanoi Demo

  • FriMar 27
  • Binary Search
  • Insertion Sort
  • Selection Sort
  • Bubble Sort
  • JSS 9
  • Read Binary Search Analysis
  • Read pages 263-265 of AIDMA (Click * for solutions)
  • Notes
  • Basic Sorting Notes
  • Demos
  • Search Demo (linear vs binary)
  • Sorting Demos
  • Search Visualizations
  • Sorting by Dancing videos:
  • 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
  • Heads up!
  • BibleReader Project Stage 10
  • HW 8 due

    FriMar 27
  • Binary Search
  • Insertion Sort
  • Selection Sort
  • Bubble Sort
  • JSS 9
  • Read Binary Search Analysis
  • Read pages 263-265 of AIDMA (Click * for solutions)
  • Notes
  • Basic Sorting Notes
  • Demos
  • Search Demo (linear vs binary)
  • Sorting Demos
  • Search Visualizations
  • Sorting by Dancing videos:
  • 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
  • Heads up!
  • BibleReader Project Stage 10
  • HW 8 due

    12TueMar 31
  • Merge Sort
  • Notes
  • Merge Sort Notes
  • Sorting Visualizations:
  • Sorting Demos
  • MergeSort Visualization
  • Sorting with dancing videos:
  • Merge-sort with Transylvanian-saxon (German) folk dance
  • Comparison of a bunch of sorting algorithms
  • 15 Sorting Algorithms in 6 Minutes
  • Project 9a (BibleReaderModel) due

    TueMar 31
  • Merge Sort
  • Notes
  • Merge Sort Notes
  • Sorting Visualizations:
  • Sorting Demos
  • MergeSort Visualization
  • Sorting with dancing videos:
  • Merge-sort with Transylvanian-saxon (German) folk dance
  • Comparison of a bunch of sorting algorithms
  • 15 Sorting Algorithms in 6 Minutes
  • Project 9a (BibleReaderModel) due

    ThuApr 02
  • Quicksort
  • Notes
  • Quick Sort Notes
  • Sorting Visualizations:
  • Sorting Demos
  • QuickSort Visualization
  • Sorting with dancing videos:
  • Quick-sort with Hungarian Dance
  • Comparison of a bunch of sorting algorithms
  • 15 Sorting Algorithms in 6 Minutes
  • Project 9b (GUI) due

  • ThuApr 02
  • Quicksort
  • Notes
  • Quick Sort Notes
  • Sorting Visualizations:
  • Sorting Demos
  • QuickSort Visualization
  • Sorting with dancing videos:
  • Quick-sort with Hungarian Dance
  • Comparison of a bunch of sorting algorithms
  • 15 Sorting Algorithms in 6 Minutes
  • Project 9b (GUI) due

  • FriApr 03
  • Trees
  • Binary Trees
  • Tree Traversals
  • JSS 10
  • Graphs and Trees Notes (pp 24-38)
  • Pre/In/Postfix Notation Demo
  • Reminder!
  • BibleReader Project Stage 10
  • Quiz 9 (related to Project 9)

  • FriApr 03
  • Trees
  • Binary Trees
  • Tree Traversals
  • JSS 10
  • Graphs and Trees Notes (pp 24-38)
  • Pre/In/Postfix Notation Demo
  • Reminder!
  • BibleReader Project Stage 10
  • Quiz 9 (related to Project 9)

  • 13TueApr 07
  • Binary Search Trees
  • Balanced Trees
  • JSS 11.1-11.4
  • BST Notes
  • BST Demo
  • Heads up!
  • Watch video for Thursday
  • HW 9 due

    TueApr 07
  • Binary Search Trees
  • Balanced Trees
  • JSS 11.1-11.4
  • BST Notes
  • BST Demo
  • Heads up!
  • Watch video for Thursday
  • HW 9 due

    ThuApr 09
  • Balanced Trees
  • Treesort
  • JSS 11.5-11.6
  • Watch AVL Trees (note: numbers negated from book's description)
  • BST Notes
  • AVL Tree Demo
  • Java TreeMap Class
  • Trees Worksheet
  • Heads up!
  • BibleReader Project Stage 11
  • Project 10 due

    ThuApr 09
  • Balanced Trees
  • Treesort
  • JSS 11.5-11.6
  • Watch AVL Trees (note: numbers negated from books description)
  • BST Notes
  • AVL Tree Demo
  • Java TreeMap Class
  • Trees Worksheet
  • Heads up!
  • BibleReader Project Stage 11
  • Project 10 due

    FriApr 10Good Friday No Class

    FriApr 10Good Friday No Class

    14TueApr 14
  • Heaps
  • Priority Queues
  • Heap Sort
  • JSS 12
  • Heaps and Heapsort Notes
  • Heap Sort Demo
  • Heaps Worksheet
  • RetainAll Worksheet
  • Heads up!
  • BibleReader Project Stage 12

  • TueApr 14
  • Heaps
  • Priority Queues
  • Heap Sort
  • JSS 12
  • Heaps and Heapsort Notes
  • Heap Sort Demo
  • Heaps Worksheet
  • RetainAll Worksheet
  • Heads up!
  • BibleReader Project Stage 12

  • ThuApr 16
  • Heaps
  • retainAll analysis
  • Graphs
  • Heaps Worksheet
  • RetainAll Worksheet
  • Read AIDMA Ch 10.1-10.3, 10.5
  • JSS 15
  • Graphs and Trees Notes (pp 1-23)
  • Graphs Worksheet
  • Project 11 due

    ThuApr 16
  • Heaps
  • retainAll analysis
  • Graphs
  • Heaps Worksheet
  • RetainAll Worksheet
  • Read AIDMA Ch 10.1-10.3 and 10.5
  • JSS 15
  • Graphs and Trees Notes (pp 1-23)
  • Graphs Worksheet
  • Project 11 due

    FriApr 17
  • Sets
  • Maps
  • JSS 13 (optional)
  • TreeMapBible Analysis Worksheet
  • Project 12a due (Concordance, tests 1-2)

    FriApr 17
  • Sets
  • Maps
  • JSS 13 (optional)
  • TreeMapBible Analysis Worksheet
  • Project 12a due (Concordance and tests 1-2)

    15TueApr 21
  • Hashing
  • Read JSS Appendix E
  • Hashing Notes
  • Hashing Worksheet
  • Project 12b due (Concordance, test 3)

    TueApr 21
  • Hashing
  • Read JSS Appendix E
  • Hashing Notes
  • Hashing Worksheet
  • Project 12b due (Concordance and test 3)

    ThuApr 23
  • Review

  • ThuApr 23
  • Review

  • FriApr 24
  • Bible Reader Stage 12 review
  • Review
  • Project 12c due (no late) (model, tests 4-6, GUI)

    FriApr 24
  • Bible Reader Stage 12 review
  • Review
  • Project 12c due (no late) (model and tests 4-6 and GUI)

    ExTueApr 28Final Exam, 9:00-11:00 am

    TueApr 28Final Exam 9:00-11:00 am