ICS 311 Schedule Fall 2022

This schedule subject to change.

Week 1: Introduction and Basic Concepts

Week 2: Continuing Basic Concepts

Week 3: Analysis of Basic Data Structures

Week 4: Probabilistic Analysis, Randomization, and Hash Tables

Week 5: Divide and Conquer and Binary Search Trees

Week 6: Advanced Sorts and Queues (Heaps, Priority Queues, Heapsort, Quicksort)

Week 7: O(n) Sorts and Midterm

Week 8: Midterm Results Review; Intro to Dynamic Programming

Week 9: Problem Solving with Dynamic Programming and Greedy Algorithms

Week 10: Graph Representations and Basic Algorithms

Week 11: Amortized Analysis, Union-Find, and Minimum Spanning Trees

Week 12: Finding Shortest Paths in Graphs

Week 13: Shortest Paths Continued; Midterm

Week 14: Midterm Results Review; Maximum Flow in Graphs

Week 15: Complexity Theory; NP-Completeness

Week 16: Multithreading; Review


Finals Week: