CSCI 385 Spring 2023
Advanced Data Structures and Algorithms
Archived Class
Charles Cusack
Computer Science
Hope College
Main
Schedule
Grading
Gradebook
Homework
Policies
Advice
College Policies
Notes
Programs
Tutorials
CSCI 385
MATH 160
Others
Admin
previous next
today
future
all
Schedule for weeks 1 through 16
Wk
Day
Date
Topic
Resources
Events
1
Tue
Jan 10
Introduction
Prerequisite Review
Thu
Jan 12
Brute Force
Closest-Pair
Convex Hull
IDAA 3.3
Fri
Jan 13
Decrease-and-conquer
Generating Permutations
Generating Subsets
IDAA 4 intro (pages 131-134)
IDAA 4.3
2
Tue
Jan 17
Divide-and-conquer
Closest-Pair
Convex Hull
IDAA 5 intro (pages 169-171)
IDAA 5.5
Thu
Jan 19
Transform-and-Conquer
Gaussian Elimination
LU Decomposition
IDAA 6.2
(to top of page 214)
HW 1
due
Fri
Jan 20
Transform-and-Conquer
Problem Reduction
IDAA 6.6
Linear Programming Exploration (Geogebra)
Linear Programming Example (Desmos)
3
Tue
Jan 24
Transform-and-conquer
Balanced search trees
Space and Time Trade-Offs
B-Trees
IDAA 6.3
IDAA 7.4
Thu
Jan 26
Dynamic Programming
Knapsack Problem
IDAA 8.2
HW 2
due
Fri
Jan 27
Dynamic Programming
Optimal Binary Search Tree
IDAA 8.3
4
Tue
Jan 31
Dynamic Programming
Warshall's Algorithm
Floyd's Algorithm
IDAA 8.4
Warshall Notes
Floyd Visualization
385 Google Doc
HW 3
due
Thu
Feb 02
Greedy Technique
Prim's Algorithm
Dijkstra's Algorithm
IDAA 9.1
(hopefully review)
IDAA 9.3
Minimum Spanning Trees Notes
Algoraph
Fri
Feb 03
Iterative Improvement
Maximum-Flow Problem
IDAA 10.2
Ford-Fulkeron Demo
Max Flow Demo
Network Flow Solver
HW 4
due
5
Tue
Feb 07
Iterative Improvement
Maximum Matching
IDAA 10.3
HW 5
due
Thu
Feb 09
Limitations of Algorithm Power
Lower-Bound Arguments
IDAA 11.1
Sorting Lower Bound notes
Kelvin predictions
Fri
Feb 10
Limitations of Algorithm Power
Decision Trees
IDAA 11.2
HW 6
due
6
Tue
Feb 14
No Class
Winter Recess
Thu
Feb 16
Limitations of Algorithm Power
P, NP, and NP-Complete
IDAA 11.3
Halting Problem Notes
Turing and the Halting Problem
Fri
Feb 17
Limitations of Algorithm Power
Challenges of Numerical Algorithms
IDAA 11.4
IEEE 754
Roundoff Error
7
Tue
Feb 21
Coping with Limitations
Backtracking
IDAA 12.1
Knight Tour (Java)
n-Queens (C++)
HW 7
due
Thu
Feb 23
Coping with Limitations
Branch-and-Bound
IDAA 12.2
Branch-and-Bound Example
Fri
Feb 24
Review
HW 8
due
8
Tue
Feb 28
Everything
Brain (Not Brian. You can't get his help.)
Book
Notes
Writing utensil
Paper
Midterm Exam
Thu
Mar 02
Parallel Programming
Read
Introduction to Parallel Programming
For RQ: write 2 page summary
Algoraph
Install SSH client (e.g. MobaXterm)
Install Eclipse
Install Algoraph plugin for Eclipse
Fri
Mar 03
Catch up on stuff
9
Tue
Mar 07
Open MP
Watch
videos
1-7 from
Intro to OpenMP
(Look at video numbers, not titles!)
RQ, important note →
OMP Videos 1-7 Question
OpenMP.org
Open MP Introduction
(for reference)
Open MP Slides
(from videos, for reference)
Open MP Exercises
(code from videos)
OpenMP Patternlets
(in class)
OpenMP Patternlets code
Submit pi.c (video 6?) with
Webhandin 385-SRQ
Thu
Mar 09
Open MP
Watch
videos
8-15 from
Intro to OpenMP
OpenMP Reference Sheets
SRQ →
OMP Videos 8-15 Question
Submit pi2.c (video 11) with
Webhandin 385-SRQ
Fri
Mar 10
Open MP
Watch
videos
16-18 from
Intro to OpenMP
SRQ →
OMP Video 16-18 Question
10
Tue
Mar 14
Open MP
Watch
videos
19-22 from
Intro to OpenMP
SRQ →
OMP Video 19-22 Question
HW 9
due
Thu
Mar 16
Work Day
Fri
Mar 17
No Class
Spring Break
Spring Break Week
11
Tue
Mar 28
Open MP
QuickSortProject.zip
Thu
Mar 30
Open MP
Watch
videos
23-27 from
Intro to OpenMP
HW 10
due (program)
Fri
Mar 31
Parallel Programming
Read
Ch 2-3.3 of SIPC
Sophomoric Parallelism and Concurrency (SIPC)
Grossman notes 1
HW 10
due (write-up)
12
Tue
Apr 04
Java's ForkJoin
Read
Ch 3.4-3.6 of SIPC
Grossman notes 1
Java ForkJoin Framework Guide
HW 11
due (code)
Thu
Apr 06
Java's ForkJoin
Divide-and-conquer in parallel
Read
Ch 4-5.2 of SIPC
Grossman notes 2
HW 11
due (write-up)
Fri
Apr 07
No Class
Good Friday
13
Tue
Apr 11
Analyzing Parallel Algorithms
Grossman notes 2
Thu
Apr 13
Parallel Prefix
Pack
Read
Ch 5 of SIPC
(Re-read 5-5.2, finish chapter)
Grossman Notes 3
Fri
Apr 14
Parallel Quicksort and Mergesort
14
Tue
Apr 18
Parallel Sorting
Concurrency
Read
Ch 6 of SIPC
Grossman Notes 4
Thu
Apr 20
Race conditions
Read
Ch 7 of SIPC
Grossman Notes 5b
HW 12
due
Fri
Apr 21
Parallel Partition
Ch 8 and 9
Parallel Partition Demo
Read
Ch 8-9 of SIPC
Grossman Notes 6b
15
Tue
Apr 25
Work day
Thu
Apr 27
Quantum Computing
Quantum Computing notes
HW 13
due
Fri
Apr 28
Review
Ex
Thu
May 04
Final Exam
9:00-11:00am