ICS 311 Spring 2024

This is an index of web pages for ICS 311 Algorithms, taught in Spring 2024 by Nodari Sitchinava. Generally the course is run within Laulima. Notes and other material are posted on this site, http://www2.hawaii.edu/~nodari/teaching/s24/, and on YouTube. There are two sections of the class. Both sections are held in Webster 101.

Contents

  • Topics: Summary of weekly topics.

  • Problem Sets: List of active and planned problem sets.

  • Exams: Planned exam dates

Topics

For a detailed schedule, including reading assignments see the Schedule page. Topic numbers are not in sequence due to changes to the curriculum since 2014.

  • Week 1

    • 01/08 - #1 & #4 - Introduction to Course; Review of Basic Data Structures

    • 01/10 - #3 - Growth of Functions and Asymptotic Concepts

  • Week 2

    • 01/15 - HOLIDAY

    • 01/17 - #2 - Proving Correctness, Analyzing Algorithms

  • Week 3

    • 01/22 - #7 - Divide & Conquer, Analysis of Recurrences

    • 01/24 - #9 - Heaps, Heapsort and Priority Queues

  • Week 4

    • 01/29 - #8 - Binary Search Trees

    • 01/31 - #11 - Balanced Trees (2-3-4 and Red-Black)

      • Drop date (without W)

  • Week 5

    • 02/05 - #5A - Probabilistic Analysis

    • 02/07 - #5B - Randomized Algorithms, Quicksort

  • Week 6

    • 02/12 - #6 - Hash Tables

    • 02/14 - #10A - Selection and Order Statistics

  • Week 7

    • 02/19 - HOLIDAY

    • 02/21 - #10B - Theoretical Limits, and O(n) Sorts

  • Week 8

    • 02/26 - #12A Backtracking (Recursive algorithms review)

    • 02/28 - Midterm 1

  • Week 9

    • 03/04 - #12B - Dynamic Programming

    • 03/06 - #12B - Dynamic Programming (cont.)

  • Week 10

    • 03/11 - #13 - Greedy Algorithms & Huffman Codes

    • 03/13 - #14A - Graph Representations, BFS, DFS

  • SPRING RECESS: 03/18 — 03/22

    • 03/22 - Drop date (with W)

  • Week 11

    • 03/25 - #14B - Topological Sort, Strongly Connected Components

    • 03/27 - #16 & #17 - Disjoint Sets, Union-Find, Minimum Spanning Trees

  • Week 12

    • 04/01 - #18 - Single-Source Shortest Paths

    • 04/03 - #19 - All-Pairs Shortest Paths

  • Week 13

    • 04/08 - Additional practice with Dynamic Programming

    • 04/10 - Midterm 2

  • Week 14

    • 04/15 - #20 - Maximum Flow

    • 04/17 - #20 - Maximum Flow (continued)

  • Week 15

    • 04/22 - #24 - Complexity Theory & NP-Completeness

    • 04/24 - #25 - Approximation Algorithms

  • Week 16

    • 04/29 - #22 - Multithreading

    • 05/01 - Course Review

Problem Sets

The problems sets will be released here at least a week before they are due. They are due in POST 317 on the corresponding day. No late submissions will be accepted.

  • Problem Set #1 (Topics 1, 3, & 4) due Friday January 12th at 4pm

  • Problem Set #2 (Topic 2) due Friday January 19th at 4pm

  • Problem Set #3 (Topics 7 & 9) due Friday January 26th at 4pm

  • Problem Set #4 (Topics 8 & 11) due Friday February 2nd at 4pm

  • Problem Set #5 (Topic 5A & 5B) due Friday February 9th at 4pm

  • Problem Set #6 (Topics 6 & 10A) due Friday February 16th at 4pm

  • Problem Set #7 (Topic 10B) due Friday February 23rd at 4pm

  • Problem Set #8 (Topics 12A & 12B) due Friday March 8th at 4pm

  • Problem Set #9 (Topic 13 & 14A) due Friday March 15th at 4pm

  • Problem Set #10 (Topics 14, 16 & 17) due Friday March 29th at 4pm

  • Problem Set #11 (Topic 18 & 19) due Friday April 5th at 4pm

  • Problem Set #12 (Topics 20) due Friday April 19th at 4pm

  • Problem Set #13 (Topics 24 & 25) due Friday April 26th at 4pm

Exam Dates

  • 02/28: Midterm 1 - Topics 1-11 in class

  • 04/10: Midterm 2 - Topics 12-14, 16-19 in class

  • Final Exam: Cumulative on all topics (1-14, 16-20, 22, 24, & 25)

    • Section 1 (MW 12-1:40pm): Monday 12-2pm

    • Section 2 (MW 2-3:40pm): Monday 2:15-4:15pm