CSCI 385 Fall 2009
Advanced Data Structures and Algorithms
Archived Class
Charles Cusack
Computer Science
Hope College
Main
Schedule
Grading
Gradebook

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

1WedSep 02
  • Introduction to the Course
  • Algorithms and Problem Solving
  • HW 1
  • Project 1
  • Data Structures Visualization Applet

  • FriSep 04Basic Data Structures
  • IDAA 1.1-1.4
  • Data Structures Notes
  • Data Structures Examples

  • 2MonSep 07Graphs
  • Graphs and Trees Notes
  • HW 1 due

    WedSep 09
  • Graphs
  • Trees
  • Graphs and Trees Notes
  • HW 2 due

    FriSep 11Combinatorics
  • Subsets
  • Permutations
  • IDAA 5.4
  • Induction Notes
  • Project 2
  • Project 1 due

    3MonSep 14
  • Analysis of Algorithms
  • Growth Rates
  • Summations
  • Worksheet 0

    WedSep 16
  • Analysis of Algorithms
  • Asymptotic Notation
  • IDAA 2.1-2.3
  • Algorithm Analysis Notes
  • Asymptotic Notation Notes
  • Asymptotic Notation Examples
  • HW 3 due

    FriSep 18
  • Analysis of Algorithms
  • Asymptotic Notation
  • Worksheet 1

    4MonSep 21Algorithm AnalysisHW 4 due
    Worksheet 1

    WedSep 23
  • Analysis of Recursive Algorithms
  • Recurrence Relations
  • Forward Substitution
  • Backward Substitution
  • Recurrence Trees
  • IDAA 2.4-2.6
  • IDAA Appendix B
  • Algorithms and Recurrences Examples
  • Recurrence Relations Notes

  • FriSep 25
  • Master Theorem
  • Recursion Trees
  • IDAA Appendix B
  • Solving Recurrence Relations Examples
  • HW 5 due
  • Worksheet 2

  • 5MonSep 28
  • Wrap up Recurrences
  • Project 2 due

    WedSep 30Brute Force:
  • Sorting (Selection and Bubble)
  • Searching (Sequential)
  • Convex Hull, Closest Pair
  • IDAA 3.1-3.3
  • Basic Sorting Notes
  • HW 6 due

    FriOct 02
  • Exhaustive Search
  • IDAA 3.4

    6MonOct 05Brute Force Algorithms
  • HW 7 due
  • Worksheet 3

  • WedOct 07CISNo Class

    FriOct 09Divide-and-Conquer:
  • Sorting (Quick and Merge)
  • Searching (Binary)
  • Binary Tree Traversal
  • IDAA 4.1-4.4
  • Binary Search Analysis
  • Mergesort Notes
  • Quicksort Notes
  • Sorting Worst Case
  • Project 3 plan due

    7MonOct 12Divide and Conquer
  • HW 8 due
  • Worksheet 4

  • WedOct 14Divide-and-Conquer:
  • Strassen's Algorithm
  • Convex Hull
  • Closest Pair
  • IDAA 4.5-4.6
  • Strassen's Algorithm Notes
  • Quickhull Applet
  • HW 9 due

    FriOct 16Decrease-and-Conquer:
  • Sorting (Insertion)
  • Searching (BFS)
  • Searching (DFS)
  • Sorting (Topological)
  • IDAA 5.1-5.3
  • BFS and DFS Notes

  • 8MonOct 19Fall BreakNo Class

    WedOct 21ReviewProject 3 due

    FriOct 23 Everything (IDAA 1-4)
  • Pencil
  • Brainz
  • Midterm Exam

    9MonOct 26Decrease-and-Conquer:
  • Constant Factor
  • Variable Size
  • IDAA 5.5-5.6HW 10 due

    WedOct 28Decrease-and-Conquer
  • Project 4a due
  • Worksheet 5

  • FriOct 30Transform-and-Conquer:
  • Sorting (pre sorting)
  • Gaussian Elimination
  • IDAA 6.1-6.3
  • Gaussian Elimination Applet
  • Gaussian Elimination Applet #2

  • 10MonNov 02Transform-and-Conquer:
  • Searching (Balanced Trees)
  • Heaps and Heapsort
  • Horner's Rule
  • Binary Exponentiation
  • Reductions
  • IDAA 6.4-6.6
  • Heapsort Notes
  • Heapsort Applet
  • Search Tree Applet
  • Data Structure Visualization Applet
  • Some Cool Problems
  • Project 4b due

  • WedNov 04
  • Transform-and-Conquer
  • Dynamic Programming:
    • Warshall's Algorithm
    • Floyd's Algorithm
  • IDAA 8.1-8.2
  • Read Warshall's Algorithm Notes
  • Floyd's Algorithm Animation

  • FriNov 06Dynamic Programming:
  • Matrix Chain Multiplication
  • Knapsack Problem
  • Read Dynamic Programming Notes
  • IDAA 8.4
  • HW 11 due

    11MonNov 09
  • Dynamic Programming
  • Graph Pebbling
  • Read Graph Pebbling
  • Read Class 0

  • WedNov 11 Graph Pebbling
  • Read Pebbling Handout
  • Pebbling Algorithms in Diameter Two Graphs (optional reading)
  • Graph 1
  • Graph 2
  • Graph 3
  • Graph 4
  • Graph 5
  • HW 12 due

    FriNov 13Human Computing
  • Human Computation Talk (video)
  • Designing Games With a Purpose (paper)
  • Project 5 due

  • 12MonNov 16Space-Time Tradeoffs:
  • Counting Sort
  • Radix Sort
  • Hashing
  • IDAA 7.1, 7.3
  • Radix Sort Notes
  • Hashing Notes

  • WedNov 18Space and Time Tradeoffs:
  • B-Trees
  • IDAA 7.4
  • HW 13 due

    FriNov 20
  • Space/Time Tradeoffs
  • Dynamic Programming
  • Worksheet 6

  • 13MonNov 23Greedy Technique:
  • Fractional Knapsack
  • Huffman Encoding
  • IDAA 9.4
  • Greedy Algorithms Notes
  • HW 14 due

  • WedNov 25Greedy Technique:
  • Prim's Algorithm:
  • Kruskal's Algorithm
  • IDAA 9.1-9.2
  • Minimum Spanning Trees Notes
  • Spanning Tree Animations
  • Project 6 due

    FriNov 27Thanksgiving BreakNo Class

    14MonNov 30Greedy TechniqueWorksheet 7

    WedDec 02P and NP
  • IDAA 11.3
  • P, NP, NP-Complete Notes
  • Halting Problem Notes
  • Read NP Complete Notes
  • Reduction Examples
  • HW 15 due

    FriDec 04NP-Complete
  • IDAA 11.3

  • 15MonDec 07P, NP, NPCWorksheet 8

    WedDec 09Quantum Computing
  • An Introduction to Quantum Computing (Pages 1-17)
  • Quantum Computing Notes

  • FriDec 11Review for finalProject 7 due

    ExTueDec 15Final Exam 12:30pmFinal Exam