CSCI 385 Fall 2013
Advanced Data Structures and Algorithms
Archived Class
Charles Cusack
Computer Science
Hope College
Main
Schedule
Grading
Gradebook
Homework
Policies
College Policies
Advice
Notes
Programs
Tutorials
CSCI 125
CSCI 255
MATH 341
Others
Admin
previous next
today
future
all
Schedule for weeks 1 through 16
Wk
Day
Date
Topic
Resources
Events
1
Tue
Aug 27
Introduction
Selective Soldering Machine
Pick and place machine
Thu
Aug 29
Pointers
Discrete Mathematics review
ADM Preface (pgs v-vii)
ADM 1.1-1.3 (pgs 3-19)
IDMA 6.1
Pointer Basics
Pointer Fun with Binky
Pointer Fun with Binky (C version on YouTube)
Pointers and Memory
Pointer Demonstration
Fri
Aug 30
Algorithms
ADM 1.4-1.6 (pgs 19-27)
HW 1
due
2
Tue
Sep 03
Asymptotic Notation
ADM 2.1-2.4 (pgs 31-41)
IDMA 5.1 (pgs 101-110)
HW 2
due
Thu
Sep 05
Algorithm Analysis
ADM 2.5-2.9 (pgs 41-57)
IDMA 5.2-5.3 (pgs 110-119)
Fri
Sep 06
More Algorithm Analysis
3
Tue
Sep 10
Data Structures Review
ADM 3.1-3.5 (pgs 65-85)
HW 3
due
Thu
Sep 12
More Data Structure Review
ADM 3.6-3.9 (pgs 85-98)
Fri
Sep 13
Sorting Basics
Heapsort
ADM 4.1-4.4 (pgs 103-120)
4
Tue
Sep 17
Divide and Conquer
Quicksort
Mergesort
ADM 4.5-4.8 (pgs 120-132)
IDMA 6.2 (pgs 140-144)
HW 4
due
Thu
Sep 19
Sorting
Related Algorithms
Fri
Sep 20
Recurrence Relations
ADM 4.9-4.10 (pgs 132-139)
IDMA 6.3 (pgs 144-155)
5
Tue
Sep 24
Analyzing Recursive Algorithms
IDMA 6.4 (pgs 127-162)
HW 5
due
Thu
Sep 26
More on Recursive Algorithms and Recurrences
Fri
Sep 27
Graphs
IDMA 8 (pgs 201-210)
ADM 5.1-5.4 (pgs 145-160)
Graphs notes
Algoraph
6
Tue
Oct 01
BFS
ADM 5.5-5.7 (pgs 161-169)
Data Structures Visualizations
BFS and DFS Notes
HW 6
due
Thu
Oct 03
DFS
ADM 5.8-5.10 (pgs 169-184)
Fri
Oct 04
Algoraph
HW 7
due
7
Tue
Oct 08
Review/Catch up
HW 8
due
Thu
Oct 10
Midterm Exam
Fri
Oct 11
Algoraph Plugin
8
Tue
Oct 15
No Class (Fall Recess)
Thu
Oct 17
Minimum Spanning Trees
ADM 6.1-6.2 (pgs 191-205)
MST Notes
Prim's Algorithm Demo
Kruskal's Algorithm Demo
HW 9
due
Fri
Oct 18
Shortest Path
ADM 6.3-6.4 (pgs 205-217)
9
Tue
Oct 22
Paths and stuff
HW 10
due
Thu
Oct 24
Network Flow
Matching
ADM 6.5-6.6 (pgs 217-225)
Read
Network Flow Notes
Ford Fulkerson Algorithm Applet
Fri
Oct 25
ADM 8.1-8.2 (pgs 273-289)
Dynamic Programming Slides
Recursive Functions Example
10
Tue
Oct 29
Read
Dynamic Programming Notes
ADM 8.3,8.6.1 (pgs 289-291,300-301)
Dynamic Programming Slides
HW 11
due
Thu
Oct 31
ADM 8.7,8.9 (pgs 301-304,307-310)
Dynamic Programming Slides
Fri
Nov 01
Greedy Algorithms
Greedy Algorithms
11
Tue
Nov 05
Backtracking
Pruning
ADM 7.1-7.3 (pgs 230-243)
Thu
Nov 07
Randomization
Hill climbing
Simulated Annealing
ADM 7.4-7.5 (244-260)
HW 12
due
Fri
Nov 08
Strassen's Algorithm
ADM 7.6, 7.8-7.10 (pgs 260-263, 266-269)
Strassen's Algorithm Slides 1
Strassen's Algorithm Slides 2
12
Tue
Nov 12
Problem Reductions
ADM 9.1-9.4 (pgs 316-330)
NP-Complete Slides
Reduction Examples
HW 13
due
Thu
Nov 14
Reductions
P, NP, and NP-Complete
ADM 9.5-9.9 (pgs 330-344)
Read
NP-Complete Notes
Fri
Nov 15
Approximation Algorithms
Parallel Algorithms
ADM 9.10 (pgs 344-350)
13
Tue
Nov 19
Parallel Programming
Read Ch 2-3 (pgs 4-24) of
Intro to Parallelism and Concurrency
Sophomoric Parallelism and Concurrency
HW 13
due (additions)
Thu
Nov 21
Java's ForkJoin
Read Ch 4 (pg 24-29) of
Intro to Parallelism and Concurrency
Intro Slides
Analysis Slides
Java ForkJoin Framework
Java ForkJoin Framework Guide
Java ForkJoin Javadoc
Fri
Nov 22
Parallel Prefix
Pack
Read Ch 5 (pg 29-35) of
Intro to Parallelism and Concurrency
14
Tue
Nov 26
Concurrency
Read Ch 6 (pgs 35-43) of
Intro to Parallelism and Concurrency
HW 14
due
Thu
Nov 28
No Class (Thanksgiving)
Fri
Nov 29
No Class (Thanksgiving)
15
Tue
Dec 03
Concurrency
Read Ch 7 (pgs 43-50) of
Intro to Parallelism and Concurrency
Shared-Memory Concurrency and Mutual Exclusion Slides
Programming with Locks and Critical Sections Slides
Thu
Dec 05
Locks and stuff
Read Ch 8-9 (pgs 50-59) of
Intro to Parallelism and Concurrency
Fri
Dec 06
Review
HW 15
due
Ex
Wed
Dec 11
Final Exam, 3-5