ICS 311 Fall 2017 Index
This is an index of web pages for ICS 311 Algorithms Section 1, taught Fall 2017 by Dan Suthers, with closely related Sections 2 and 3
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/ics311f17/, 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: Weekly readings/videos,
problem sets, 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
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.
- 08/21 - #1 - Introduction to Course: CLRS Chapter 1;
Topic 01 Notes
- 08/23 & 28 - #2 - Examples of Analysis with Insertion and Merge Sort: CLRS Chapter 2;
Topic 02 Notes
- 08/30 - #3 - Growth of Functions and Asymptotic Concepts:
CLRS Chapter 3; Topic 03 Notes
- 09/06 - #4 - Basic ADTs (Stacks, Queues, Lists and Trees):
CLRS Chapter 10; Topic 04 Notes
- 09/11 - #5 - Probabilistic Analysis and Randomized Algorithms:
CLRS Sections 5.1-5.3, 5.4.1; Goodrich & Tamassia section on Skip Lists;
Topic 05 Notes
- 09/13 - #6 - Hash Tables: CLRS Sections 11.1-11.4;
Topic 06 Notes
- 09/18 - #7 - Divide & Conquer and Analysis of Recurrences:
CLRS Chapter 4 (4.1 & 4.3-4.5); Topic 07 Notes
- 09/20 - #8 - Binary Search Trees: CLRS Sections 12.1-12.3 (see also Theorem 12.4);
Topic 08 Notes
- 09/25 - #9 - Heaps, Heapsort and Priority Queues: CLRS Chapter 6 (all);
Topic 09 Notes
- 09/27 & 10/02 - #10 - Quicksort, Theoretical Limits, and O(n) Sorts: CLRS Chapters 7 & 8;
Topic 10 Notes
- 10/09 - #11 - Balanced Trees (2-3-4 and Red-Black):
Sedgewick Chapter 15 & CLRS Chapter 13;
Topic 11 Notes
- 10/16 - #12 - Dynamic Programming:
CLRS Chapter 15 (and optionally Sedgewick Chapter 37);
Topic 12 Notes
- 10/18 - #13 - Greedy Algorithms & Huffman Codes:
CLRS Sections 16.1-16.3;
Topic 13 Notes
- 10/23-25 - #14 - Graph Representations and Basic Algorithms:
CLRS Chapter 22; Goodrich & Tamassia excerpt on Representations;
Optionally Newman (2010) chapter 9 in Laulima;
Topic 14 Notes
- 10/30 - #15 - Amortized Analysis:
CLRS Chapter 17 Sections 17.1-17.2;
Topic 15 Notes (leave out the Potential method), AND:
- 10/30 - #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)
- 11/01 - #17 - Minimum Spanning Trees:
CLRS Chapter 23;
Topic 17 Notes
- 11/06 - #18 - Single-Source Shortest Paths:
CLRS Sections 24.1-24.3;
Topic 18 Notes
- 11/08 - #19 - All-Pairs Shortest Paths:
CLRS Chapter 25;
Topic 19 Notes
- 11/15 - #20 - Maximum Flow:
CLRS Sections 26.1-26.3;
Topic 20 Notes
- 11/20 - #22 - Multithreading:
CLRS Chapter 27 (emphasis on sections 27.1 and 27.3),
Topic 22 Notes
- 11/27 - #24 - Complexity Theory & NP-Completeness:
CLRS Chapter 34;
Topic 24 Notes (no homework)
- 11/29 - #25 - Approximation Algorithms:
CLRS Chapter 35;
Topic 25 Notes (no homework)
- 12/04 - #23 String Matching (additional topic chosen by popular vote):
CLRS Chapter 32 (emphasis on sections 32.1 and 32.3);
Topic 23 Notes
- Other topics we considered:
- #21 - Linear Programming:
- Sedgewick (1983) Chapters 5 and 38 (read these first); CLRS Sections 29.0-29.3 (half way);
Topic 21 Notes
- Public Key Encryption:
- CLRS Chapter 31 (emphasis on 31.7). No web notes or videos have been made.
Each problem set will be released in Laulima when they are assigned.
- 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 September 5th
- Problem Set #2
(Topics 3 & 4) due 23:55 (11:55 pm) Tuesday September 12th
- Problem Set #3
(Topics 5 & 6) due 23:55 (11:55 pm) Tuesday September 19th
- Problem Set #4
(Topics 7 & 8) due 23:55 (11:55 pm) Tuesday September 26th
- Problem Set #5
(Topics 9 & 10A) due 23:55 (11:55 pm) Thursday October 12
- Problem Set #6
(Topics 10B & 11) due 23:55 (11:55 pm) Tuesday Oct 17
- Problem Set #7
(Topics 12 & 13) due 23:55 (11:55 pm) Tuesday October 24
- Problem Set #8
(Topic 14) due 23:55 (11:55 pm) Tuesday October 31st
- Problem Set #9
(Topic 15, 16 & 17) due 23:55 (11:55 pm) Tuesday November 7th
- Problem Set #10
(Topic 18 & 19) due 23:55 (11:55 pm) Tuesday November 21st
- Problem Set #11
(Topics 20 & 22) due 23:55 (11:55 pm) Tuesday November 28th
- Pau.
- Wednesday 10/04: Midterm 1 - Topics 1-8, in Webster 101
- Monday 11/13: Midterm 2 - Topics 9-17 in Webster 101
- Monday 12/11 from 2:15-4:15 pm, BUSAD A101: Final Exam
- Cumulative on all topics (1-20, 22, 24, & 25).
Dan Suthers
Last modified: Fri Dec 1 01:26:07 HST 2017