CSCI 255 Fall 2023
Introduction to Algorithms and Discrete Structures
Archived Class
Charles Cusack
Computer Science
Hope College
Main
Schedule
Grading
Gradebook
Homework

Policies
College
    Policies
Advice

Notes
Programs
Tutorials

CSCI 112
CSCI 125
Others

Admin
previous     next     today     future     all    

Schedule for weeks 1 through 16

Wk Day Date TopicResourcesEvents

1WedAug 30Algorithms
  • Tips for learning
  • Assignment 0
  • Growth Mindset posters
  • AIDMA "How To"
  • IDAA 1.1
  • IDAA 1.2
  • IDAA 1.3
  • IDAA 1.1-1.3 RQs due (shared google doc)

  • FriSep 01Propositional LogicAIDMA 2.1-2.2
  • AIDMA 2.1-2.2 Exercises, RQs due
  • Assignment 0 due

  • 2MonSep 04
  • Predicates and Quantifiers
  • AIDMA 2.3
  • HW 1 due
  • AIDMA 2.3 Exercises, RQs due

  • WedSep 06
  • Sets
  • AIDMA 4.1-4.1.2
  • AIDMA 4.2
  • AIDMA 4.1.1, 4.1.2, 4.2 Exercises, RQs due

  • FriSep 08
  • Functions
  • AIDMA 4.3-4.3.1
  • AIDMA 4.3.1 Exercises, RQs due
  • HW 1 due (Second problem redo)

  • 3MonSep 11
  • Programming Fundamentals
  • Algorithms
  • AIDMA 5.1-5.7, 5.9
  • HW 2 due
  • AIDMA 5.1-5.7, 5.9 Exercises, RQs due

  • WedSep 13
  • Sequences
  • AIDMA 6.1
  • HW 3 due
  • AIDMA 6.1 Exercises, RQs due

  • FriSep 15
  • Summations
  • Products
  • AIDMA 6.2
  • AIDMA 6.2 Exercises, RQs due
  • HW 4 due

  • 4MonSep 18Asymptotic Notation
  • AIDMA 7.1
  • IDAA 2.2
  • AIDMA 7.1 Exercises, RQs due
  • IDAA 2.2 RQs due

  • WedSep 20
  • Growth Rates
  • Algorithm Analysis
  • AIDMA 7.2-7.3
  • HW 5 due
  • AIDMA 7.2-7.3 Exercises, RQs due

  • FriSep 22Algorithm Analysis
  • IDAA 2.1
  • IDAA 2.3
  • IDAA 2.1, 2.3 RQs due

  • 5MonSep 25Mathematical Induction
  • AIDMA 8.1
  • HW 6 due
  • AIDMA 8.1 Exercises, RQs due

  • WedSep 27No ClassCIS

    FriSep 29
  • Recursion
  • Solving Recurrence Relations
  • AIDMA 8.2-8.3.3
  • IDAA Appendix B (optional)
  • HW 7 due (problem 1)
  • AIDMA 8.2-8.3 Exercises, RQs due

  • 6MonOct 02Analyzing Recursive Algorithms
  • AIDMA 8.3.4-8.4
  • IDAA 2.4-2.5
  • HW 7 due (problem 2)
  • AIDMA 8.4 Exercises, RQs due
  • IDAA 2.4-2.5 RQs due

  • WedOct 04
  • Data Structures
  • Graphs
  • AIDMA 10
  • IDAA 1.4
  • AIDMA 10 Exercises, RQs due
  • IDAA 1.4 RQs due
  • Midterm Self Evaluation due

  • FriOct 06More
  • Solving Recurrences
  • Analyzing Recursive Algorithms

  • 7MonOct 09No ClassFall Recess

    WedOct 11Catch up/review
  • Sample midterm exam
  • HW 8 due

  • FriOct 13
  • AIDMA 1-10 (not 3 or 9)
  • IDAA 1-2
  • Midterm Exam

    8MonOct 16
  • Brute Force: Sorting and Searching
  • IDAA 3.1
  • IDAA 3.2
  • IDAA 3.1, 3.2 RQs due

  • WedOct 18
  • Exhuastive Search
  • IDAA 3.4
  • Basic Sorting Algorithms Notes
  • HW 9 due
  • IDAA 3.4 RQs due

  • FriOct 20
  • BFS
  • DFS
  • IDAA 3.5
  • BFS and DFS Notes
  • Data Structure Visualizations
  • IDAA 3.5 RQs due

  • 9MonOct 23Decrease-and-Conquer
  • IDAA 4.1
  • IDAA 4.2
  • Basic Sorts (see Insertion Sort)
  • BFS and DFS Notes (see Topological Sort)
  • Data Structure Visualizations (See two Topological Sort ones)
  • HW 10 due
  • IDAA 4.1-4.2 RQs due

  • WedOct 25Decrease-by-a-Constant-Factor
  • IDAA 4.4
  • Watch Josephus Problem Video
  • IDAA 4.4 RQs due

  • FriOct 27Variable-Size-Decrease
  • IDAA 4.5
  • IDAA 4.5 RQs due

  • 10MonOct 30Divide-and-Conquer
  • Mergesort
  • Quicksort
  • IDAA 5.1
  • IDAA 5.2
  • Quicksort Notes
  • Merge Sort Notes
  • HW 11 due
  • IDAA 5.1-5.2 RQs due

  • WedNov 01Divide-and-Conquer
  • Tree Traversal
  • IDAA 5.3
  • BST Notes
  • IDAA 5.3 RQs due

  • FriNov 03Divide-and-Conquer
  • Matrix Multiplication
  • IDAA 5.4
  • Strassen's Algorithm Notes
  • Sorting Worst Case
  • IDAA 5.4 RQs due

  • 11MonNov 06Transform-and-Conquer
  • Presorting
  • Balanced Trees
  • IDAA 6.1
  • IDAA 6.3
  • AVL Tree Demo
  • B-Tree Demo
  • HW 12 due
  • IDAA 6.1, 6.3 RQs due

  • WedNov 08Transform-and-Conquer
  • Heaps and Heapsort
  • IDAA 6.4
  • Heapsort Notes
  • IDAA 6.4 RQs due

  • FriNov 10Transform-and-Conquer
  • Horner's Rule
  • Binary Exponentiation
  • IDAA 6.5
  • IDAA 6.5 RQs due

  • 12MonNov 13Space-Time Trade-offs
  • Counting Sort
  • Radix Sort
  • IDAA 7.1
  • HW 13 due
  • IDAA 7.1 RQs due

  • WedNov 15Space-Time Trade-offs
  • String Matching
  • IDAA 7.2 (through page 262)
  • IDAA 7.2 RQs due

  • FriNov 17Dynamic Programming
  • Coin Problems
  • Fibonacci Numbers
  • Matrix Chain Multiplication
  • IDAA 8.1
  • Dynamic Programming Notes
  • Fibonacci Demo
  • Recursive Functions (Fibonacci)
  • IDAA 8.1 RQs due

  • 13MonNov 20Dynamic Programming
  • Knapsack Problem
  • IDAA 8.2
  • Dynamic Programming Notes
  • IDAA 8.2 RQs due

  • WedNov 22Bolschitz Algorithm
  • HW 14 due

  • FriNov 24No ClassThanksgiving Break

    14MonNov 27Dynamic Programming
  • Floyd's and Warshall's Algorithms
  • IDAA 8.4
  • Warshall's Algorithm Notes (Read)
  • Floyd's Algorithm Demo
  • IDAA 8.4 RQs due

  • WedNov 29Greedy Algorithms
  • Prim's algorithm
  • IDAA 9.1
  • MST Notes
  • Animations (See Prim's and Kruskal's)
  • Algoraph
  • IDAA 9.1 RQs due

  • FriDec 01Greedy Algorithms
  • Kruskal's algorithm
  • IDAA 9.2 (through page 327—the rest is interesting, but optional)
  • MST Notes
  • Animations (See Prim's and Kruskal's)
  • Algoraph
  • IDAA 9.2 RQs due

  • 15MonDec 04Greedy Algorithms
  • IDAA 9.4
  • Greedy Algorithms Notes
  • IDAA 9.4 RQs due

  • WedDec 06Quantum Computing
  • An Introduction to Quantum Computing and Quantum Error Correction
  • Quantum Computing: How to do 2n things all at once
  • HW 15 due

  • FriDec 08Review

    ExWedDec 13EverythingSample FinalFinal Exam
    12:30-2:30pm