ICS 311: Algorithms, Main Portal Page, TuTh Section 003

Last revised 2019-10-1

Fall, 2019
Instructor: Prof. Lee Altenberg

altenber@hawaii.edu, https://dynamics.org/Altenberg/
Office hours: Mon. 3-5pm, 314-G POST Building

Class Meetings: SECTION 003 Tuesday/Thursday 6-7:40 pm Webster 101

Teaching Assistant: David Luis dluis@hawaii.edu, Office Hours: 303-2 POST, Tues 4:30-5:30pm, Wed 1:30-2:30pm

Learning Assistant: Matthew Lam mwklam@hawaii.edu, Office Hours: 318A POST, Mon. 4:30-6pm, Tues. 6-7pm.



Student Outcomes:

Resources:

Textbooks:

Online:

This is the portal page for ICS 311 Algorithms taught by Prof. Lee Altenberg. This is the root page to access the other online resources:

Notes and other material for this course are posted on this site, i.e., https://dynamics.org/ICS/311/, and on YouTube. However, you as a course participant will need to log into Laulima regularly to submit assignments, and to use other facilities such as discussions and the mail tool as needed. Also, you will need to take peers' quizzes, and once you took such a peer quiz evaluate it and you will get a chance to improve the quiz or agree with an improvement already made or with the original.

EXTRA CREDIT: In addition, we have prepared for you a "One Idea Every Day" Google Sheet (under Google Drive > Shared with me) where you should post one idea every day (or at least every workday).


Syllabus

(Note that the exact Topics, Problem Sets, and may exam dates may change as needed.)


Schedule:


Week 1: Introduction to Course, Basic Concepts


Week 2: Continuing Basic Concepts


Week 3: Growth of Functions and Asymptotic Concepts


Week 4: Analysis of Basic Data Structures, Probabilistic Analysis, Randomization, Skip Lists


Week 5: Hash Tables, Divide and Conquer, Recurrences


Week 6: Binary Search Trees, Advanced Sorts and Queues (Heaps, Priority Queues, Heapsort)


Week 7: Midterm 1


Week 8: Theoretical Limits, and O(n) Sorts


Week 9: Balanced Trees, Dynamic Programming


Week 10: Dynamic Programming and Greedy Algorithms


Week 11: Graph Representations, Breadth-First, Depth-First Search, Topological Sort, and Strongly Connected Components


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


Week 13: - #18 - Single-Source Shortest Paths


Week 14: Midterm 2

Week 15:


Week 16: Approximation Algorithms, String Matching


Finals Week:



Created by Dan Suthers
modified by Jan Stelovsky
modified by Lee Altenberg