# ICS 311 Spring 2016 Index

This is an index of web pages for ICS 311 Algorithms Section 1, taught Spring 2016 by Dan Suthers, with a closely related Section 2 taught by Jan Stelovsky. Generally the course is run within Laulima. Notes and other material for Section 1 are posted on this site, http://www2.hawaii.edu/~suthers/courses/ics311s16/, and on YouTube. However, course participants will need to log into Laulima regularly to watch screencasts, submit assignments, and to use other facilities such as discussions and the mail tool as needed. Classes are in Webster 101

## Contents

• Schedule: A weekly listing of events (includes lecture notes, problem sets, projects, and exams).

• Syllabus: Overview of course and plan.
• Topics: Summary of weekly topics.
• Problem Sets: List of active and planned problem sets.
• Exams: Planned exam dates

## Topics

This is not a complete schedule: see the Schedule for that. Dates vary between this section and Prof. Stelovsky's section. CLRS is the Cormen Leiserson Rivest and Stein textbook. Topic numbers are not in sequence due to changes to the curriculum since 2014.

• 01/11 - #1 - Introduction to Course: CLRS Chapter 1; Topic 01 Notes
• 01/13 & 20 - #2 - Examples of Analysis with Insertion and Merge Sort: CLRS Chapter 2; Topic 02 Notes
• 01/25 - #3 - Growth of Functions and Asymptotic Concepts: CLRS Chapter 3; Topic 03 Notes
• 01/27 - #4 - Basic ADTs (Stacks, Queues, Lists and Trees): CLRS Chapter 10; Topic 04 Notes
• 02/01 - #5 - Probabilistic Analysis and Randomized Algorithms: CLRS Sections 5.1-5.3, 5.4.1; Goodrich & Tamassia section on Skip Lists; Topic 05 Notes
• 02/03 - #6 - Hash Tables: CLRS Sections 11.1-11.4; Topic 06 Notes
• 02/08 - #7 - Divide & Conquer and Analysis of Recurrences: CLRS Chapter 4 (4.1 & 4.3-4.5); Topic 07 Notes
• 02/10 - #8 - Binary Search Trees: CLRS Sections 12.1-12.3 (see also Theorem 12.4); Topic 08 Notes
• 02/17 - #9 - Heaps, Heapsort and Priority Queues: CLRS Chapter 6 (all); Topic 09 Notes
• 02/24 & 02/29 - #10 - Quicksort, Theoretical Limits, and O(n) Sorts: CLRS Chapters 7 & 8; Topic 10 Notes
• 03/02 - #11 - Balanced Trees (2-3-4 and Red-Black): Sedgewick Chapter 15 & CLRS Chapter 13; Topic 11 Notes
• 03/07 - #12 - Dynamic Programming: CLRS Chapter 15 (and optionally Sedgewick Chapter 37); Topic 12 Notes
• 03/09 - #13 - Greedy Algorithms & Huffman Codes: CLRS Sections 16.1-16.3; Topic 13 Notes
• 03/14-16 - #14 - Graph Representations and Basic Algorithms: CLRS Chapter 22; Goodrich & Tamassia excerpt on Representations; Optionally Newman (2010) chapter 9 in Laulima; Topic 14 Notes
• 03/28 - #15 - Amortized Analysis: CLRS Chapter 17 Sections 17.1-17.2; Topic 15 Notes (leave out the Potential method), AND:
• 03/28 - #16 - Sets and Union-Find: CLRS Sections 21.1, 21.3 and Theorem 21.14 (read beginning of 21.4 through definition of α and the theorem); Topic 16 Notes (leave out the linked representation)
• 03/30 - #17 - Minimum Spanning Trees: CLRS Chapter 23; Topic 17 Notes
• 04/04 - #18 - Single-Source Shortest Paths: CLRS Sections 24.1-24.3; Topic 18 Notes
• 04/06 - #19 - All-Pairs Shortest Paths: CLRS Chapter 25; Topic 19 Notes
• 04/13 - #20 - Maximum Flow: CLRS Sections 26.1-26.3; Topic 20 Notes
• 04/20 - #22 - Multithreading: CLRS Chapter 27 (emphasis on sections 27.1 and 27.3), Topic 22 Notes
• 04/25 - #24 - Complexity Theory & NP-Completeness: CLRS Chapter 34; Topic 24 Notes (no homework)
• 04/27 - #25 - Approximation Algorithms: CLRS Chapter 35; Topic 25 Notes (no homework)
• 05/02 - #21 - Linear Programming: Sedgewick Chapters 5 and 38; CLRS Sections 29.0-29.3 (half way); Topic 21 Notes (no homework)

## Problem Sets

The problems are being revised for Spring 2016, and will be released in Laulima when ready.

Problem sets are available to enrolled students in Laulima.

• Problem Set #0 A practice problem on Topic 1, not graded but discussed in class
• Problem Set #1 (Topic 2) due 23:55 (11:55 pm) Tuesday January 26th
• Problem Set #2 (Topics 3 & 4) due 23:55 (11:55 pm) Tuesday February 2nd
• Problem Set #3 (Topics 5 & 6) due 23:55 (11:55 pm) Tuesday February 9th
• Problem Set #4 (Topics 7 & 8) due 23:55 (11:55 pm) Tuesday February 16th
• Problem Set #5 (Topics 9 & 10A) due 23:55 (11:55 pm) Tuesday March 1st
• Problem Set #6 (Topics 10B & 11) due 23:55 (11:55 pm) Tuesday March 8th
• Problem Set #7 (Topics 12 & 13) due 23:55 (11:55 pm) Tuesday March 15th
• Problem Set #8 (Topic 14) due 23:55 (11:55 pm) Tuesday March 29th
• Problem Set #9 (Topic 15, 16 & 17) due 23:55 (11:55 pm) Tuesday April 5th
• Problem Set #10 (Topic 18 & 19) due 23:55 (11:55 pm) Tuesday April 19th
• Problem Set #11 (Topics 20 & 22) due 23:55 (11:55 pm) Tuesday April 26th
• Pau.

## Exam Dates

• 02/22: Midterm 1 - Topics 1-8, in Webster 101
• 04/11: Midterm 2 - Topics 9-17 in Webster 101
• 05/12 at 2:15–4:15 pm: Final Exam - Cumulative on all topics (1-20, 22, 24, & 25), in Webster 203 (not 101).

Dan Suthers