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
Topic
Resources
Events
1
Tue
Jan 08
Course Introduction
OOP Review
Thu
Jan 10
GIT
Review
OFWJ
1-7
Read Sections 1.1-1.3 of
GIT Tutorial
Eclipse GIT Tutorial
Fri
Jan 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
2
Tue
Jan 15
Inheritance
GIT
Read
JSS
Appendix A-B
Thu
Jan 17
UML
Inheritance
Review
OFWJ
8-10
HW 2
due
Fri
Jan 18
Java Swing
OFWJ
11
JSS
Appendix C-D
Swing Examples
(Bitbucket. Fork/clone to get/run them.)
HW 3
due
3
Tue
Jan 22
More Swing
HW 4
due
Thu
Jan 24
Design
OFWJ
13
JSS
1
Read
Model-view-controller (Wikipedia)
MVC Diagram
MVC Examples Code
(BitBucket)
Fri
Jan 25
Bible Reader Design
Read
Bible Reader Overview
HW 5
due
4
Tue
Jan 29
JUnit Testing
Testing Notes
JUnit Tutorial
junit.org
JUnit API
Assert API
Thu
Jan 31
Testing
Testing Clock Exercise
Project 0 due
Fri
Feb 01
Bible Reader
Error Handling
Exceptions
OFWJ
12.1-12.8
HW 6
due
5
Tue
Feb 05
Error Handling
Exceptions
OFWJ
12.9-12.10
Read
Pair Programming
Project 1 due
Thu
Feb 07
File I/O
FileIO
example
HTMLeditor
Scatter Plot
Project 2 due
Fri
Feb 08
Project
Project 3 due
6
Tue
Feb 12
Winter Recess
No Class
Thu
Feb 14
Analysis of Algorithms
Growth rates
Limits
JSS
2
Read
Analysis of Algorithms Notes
Read
Asympotic Notation Handout
Asymptotic Notation Notes
FunctionGrowth Applet
Fri
Feb 15
Computational Complexity
AIDMA
(See Chapter 7, especially sections 7.2-7.3)
Project 4 due
7
Tue
Feb 19
Analysis of Algorithms
Growth rates
AIDMA
(See Chapter 7, especially sections 7.2-7.3)
HW 7
due
Thu
Feb 21
Review
Project 5 due
Fri
Feb 22
OFWJ 8-13
JSS 1-2
Midterm Exam
8
Tue
Feb 26
Iterators
List processing
JSS 7
Thu
Feb 28
Java Collections
JSS 3
Collections Notes
Java Collection Links
Java Collections Diagram
Java Collections Introduction
Data Structure Visualizations
Project 6 due
Fri
Mar 01
Linked Structures
JSS 4
Read
Linked List Notes
Data Structure Visualizations
(runnable jarfile w/ linked lists, etc.)
Updated Data structure visualizations
9
Tue
Mar 05
Stacks
Read
Stack Notes
Stack Example
Stack Animation (Array)
Stack Animation (Linked List)
Data Structures Examples
(Fork/checkout)
Project 7 due
Thu
Mar 07
Queues
JSS 5
Read
Queue Notes
Queue Animation (Array)
Queue Animation (Linked List)
Fri
Mar 08
Algorithm Analysis Practice
Project 8 due (now due Monday!)
10
Tue
Mar 12
Lists
JSS 6
HW 8
due
Thu
Mar 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
Fri
Mar 15
Spring Break!
No Class
Spring Break Week
11
Tue
Mar 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
Thu
Mar 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
Fri
Mar 29
Trees
Binary Trees
Tree Traversals
JSS 10
Graphs and Trees Notes
(pp 24-38)
Pre/In/Postfix Notation Demo
Project 10 due
12
Tue
Apr 02
Treesort
Binary Search Trees
Balanced Trees
JSS 11.1-11.4
BST Notes
Thu
Apr 04
Balanced Trees
JSS 11.5-11.6
Balanced Tree Demo
(no longer works?)
AVL Tree Demo
Java TreeMap Class
HW 9
due
Fri
Apr 05
Heaps
Priority Queues
Heap Sort
JSS 12
Heaps and Heapsort Notes
Heap Sort Demo
Project 11 due
13
Tue
Apr 09
Graphs
Read
AIDMA
Ch 10.1-10.3, 10.5
JSS 15
Graphs and Trees Notes
(pp 1-23)
Thu
Apr 11
Graphs
Fri
Apr 12
Sets
Maps
JSS 13
Project 12 due
14
Tue
Apr 16
Android
Read:
Introduction to Android
at least through section 4.
HW 10
due
Thu
Apr 18
Android
Fri
Apr 19
Good Friday
No Class
15
Tue
Apr 23
Hashing
JSS Appendix E
Hashing Notes
Thu
Apr 25
Bible Reader Stage 12 review
Review
Fri
Apr 26
Review
Project 13 due
Ex
Mon
Apr 29
Final Exam, 12:30-2:30 pm