Instructor
Patrick Huang ziqiang.huang@uwaterloo.ca Office Hours: By email appointment
Teaching Assistants
Majid Dashtbani (majid.dashtbani@uwaterloo.ca) Ahmad Nabil Yousef Kamal (anykamal@uwaterloo.ca) Soroush Mortazavimoghaddam (soroush.mortazavimoghaddam@uwaterloo.ca) Sheikh Abrar Tahmid (sheikh.abrar.tahmid@uwaterloo.ca) Prajwal Thakur (prajwal.thakur@uwaterloo.ca)
Weighting
| Component | Value |
|---|---|
| Labs | 30% |
| Midterm | 30% |
| Final Exam | 40% |
Lab Weighting
| Lab | Release date | Due date | Weight |
|---|---|---|---|
| Lab0 | Jan 16 | Jan 29 | 10% |
| Lab1 | Jan 30 | Feb 12 | 15% |
| Lab2 | Feb 13 | Mar 11 | 25% |
| Lab3 | Mar 12 | Mar 25 | 20% |
| Lab4 | Mar 22 | April 8 | 30% |
- All projects will be marked with ece-Ubuntu using g++, to be submitted with UW Gitlab
- NO DEBUGGING MESSAGES!
Course Schedule
| Week of | Topics |
|---|---|
| Jan 8 | Introduction and Logistics |
| Jan 15 | Algorithm Analysis & Abstract Data Types |
| Jan 22 | Lists, Stacks, Queues Lab 0 |
| Jan 29 | Trees, Binary (Search) Trees, Tree Traversals |
| Feb 5 | AVL Trees, Red-Black Trees Lab 1 |
| Feb 12 | Heaps, Priority Queues |
| Feb 19 | Reading Week |
| Feb 26 | Midterm Week |
| Mar 4 | Sorting Algorithms Lab 2 |
| Mar 11 | Hashing, Hash tables |
| Mar 18 | Introduction to Graphs, Graph Traversals Lab 3 |
| Mar 25 | Graph Algorithms |
| April 1 | Algorithm Design Techniques Lab 4 |
Exams
- Midterm: February 27, 8.30
- Contact the TAs directly within 5 days for any grading issues
Materials
- https://uwaterloo.ca/scholar/z399huan/ece250
- Mark Allen Weiss, Data Structures and Algorithm Analysis in C++, 4th Ed., Addison Wesley, 2012.
- Cormen, Leiserson, Rivest, and Stein (CLRS), Introduction to Algorithms, 2nd Ed., MIT Press, 2001.