Schedule
# | Date | Topic | Text | HW Due |
---|---|---|---|---|
1 | Sep 13 | Analysis of Algorithms, Insertion Sort, Math Review, Asymptotic Notation | ch 1-3 | – |
2 | Sep 20 | Divide and Conquer, Solving Recurrences, Randomized Algorithms | ch 4-5 | HW1: 9/22 |
3 | Sep 27 | Heaps/Queues, Quicksort | ch 6-7 | HW2: 9/29 |
4 | Oct 4 | Linear-time Sort and Hash Tables | ch 8, 11 | HW3: 10/6 |
5 | Oct 11 | Pointers: Linked Lists, Binary Search Trees | ch 10, 12 | HW4: 10/13 |
6 | Oct 18 | B-Trees, Midterm Review | ch 18 | HW5: 10/20 |
7 | Oct 25 | Midterm Exam | lec 1-5 | – |
8 | Nov 1 | Dynamic Programming | ch 15 | HW6: 11/3 |
9 | Nov 8 | Greedy Algorithms, Huffman Coding | ch 16 | – |
10 | Nov 15 | Graph Algorithms | ch 22 | HW7: 11/17 |
11 | Nov 22 | Minimum Spanning Trees, Shortest Path | ch 23, 24 | HW8: 11/24 |
12 | Nov 29 | All-pairs Shortest Path | ch 25 | – |
13 | Dec 6 | Tractability, Semester Review | ch 34 | HW9: 12/8 |
– | Dec 13 | Final Exam (14:00-16:00, tentative) (practise) | – | – |
Each lecture covers ~1-2 chapters; each HW covers 1-2 lectures.
Midterm covers lectures 1-5 (HW1-5); final is comprehensive.
Administration
- Fall 2016 at Trinity Western University
- Lecture: Tue 13:10-15:50, NEU20 lab
- Instructor: Dr. Sean Ho
twu@seanho.com
- TA: Jason Yue,
kymotsujason at live.com
, office hours: Tue 11:50-12:50, NEU20 lab
Grading
- TWU letter scale, except threshold for A+ is 95%
- HW assignments: 54%
- Longer HWs will be weighted accordingly
- Midterm exam: 15%
- Final exam: 31%
Resources
- CLRS Textbook site
- Princeton site for textbook Algorithms, 4th ed by Sedgewick and Wayne. Links to Coursera MOOCs.
- MIT OpenCourseWare:
- stand-alone course: 6-046j 2005
- or 3-part series:
- intro: 6-006 2011, 2008
- advanced: 6-046j 2015, 2012
- graduate-level: 6-854j 2008, 2005
- Harvard/Yale CS50 YouTube intro programming, with data structures (stacks/queues, trees) and Huffman coding
- CMPT231: Fall 2013, Fall 2012
- Git and Github:
- Try Git!: practise and learn Git in the browser, without installing anything on your computer
- Git Immersion: install Git and get started on your own projects
- Github Guides: a collection of tutorials on Git and Github concepts
- Git - the simple guide: a single-page reference / cheat sheet
- Git Flow: a workflow for using Git
- Github Student Pack: Free software for students! (Public repositories are always free on Github.)