Resources
|
Teaching Assistants
Assignments 1 and 3   Mathieu Rousseau [email]   Glenn Hickey [email]   Ethan Kim [email]   [www] Assignments 2 and 4   Faiyaz Zamal [email]   [www]   Parya Momayyez [email]   [www]   Julien Villemure [email]   [www] |
| LECTURE SCHEDULE AND NOTES | READINGS, EXERCISES, ASSIGNMENTS, EXAMS |
| Preliminaries (Jan. 4-8, 2010) 0. Course Outline (Winter 2010) 1. grade school algorithms (addition and multiplication) (notes) 2.   binary number representations (notes) |
Reading:
Java Background
(terms/concepts from COMP 202 but not
COMP 208) Exercises 1: number representations     (solutions) |
| Linear Data Structures (Jan. 11- 22, 2010) 3. arrays, insertion sort (notes)   (slides) 4.   singly linked lists (notes)   (slides) 5.   doubly linked lists (slides)   (code) 6. Java: ArrayList vs. LinkedList (notes) (slides) 7. stacks (notes) (slides) 8. queues (notes) (slides) |
A1  
solution + grading scheme (mean 82/100, N=113) A2   code   solution   test files   grading FAQ (mean: 72.8/100, N = 108) Quiz 1 (with solutions) covered lectures 1-8 (mean: 6.8/10, N=108) Exercises 2: linear data structures |
| Recursion (Jan. 25 -
Jan. 29, 2010)   9. call stack, factorial (notes) (slides) 10. fibonacci, Tower of Hanoi (notes) (slides) 11. decimal to binary, power, binary search (notes) (slides) |
Exercises 3: recursion [last modified April 6] |
| Analysis of Algorithms (Feb. 3-12, 2010) 12. big O (notes) (slides) 13. not big O (notes) (slides) 14. recurrences: factorial, Tower of Hanoi (notes) (slides) 15. ... decimal to binary, matrix power, Fibonnaci (notes) (slides) 16. mergesort (notes) (slides) |
Required Reading:
proofs by induction
Exercises 4: big O big O tutorial (notes) (held Apr. 15, 16) Exercises 5: recurrences |
| Non-linear Data Structures (Feb. 15- March 22, 2010)
17.     trees (notes) (slides) 18.     tree traversal (notes) (slides) 19.     binary trees, expression trees (notes) (slides) STUDY BREAK (Feb. 22-26) 20. binary search trees 1 (notes) (slides) 21. binary search trees 2 (notes) (slides) 22. priority queues, heaps (notes) (slides) 23. building a heap (slow) (notes) (slides) 24. building a heap (fast), heapsort (notes) (slides) 25. maps (notes) (slides) 26. hashing (notes) (slides) 27. graphs (notes) (slides) 28. graph traversal (DF, BF) (notes) (slides) |
Quiz 2 with solutions (mean 6.6/10, N = 100) Exercises 6: trees A3 (PDF) and (source code) and solutions (mean = 69.6, N=105) Exercises 7: hashing Exercises 8: graphs Quiz 3 and solutions (mean 6.7/10, N=87) |
| Object Oriented Design in Java (March 24
to April 14, 2010 ) 29. inheritance 1 (notes) (slides) 30. inheritance 2 (notes) (slides) 31. polymorphism (notes) (slides) (test code) EASTER BREAK (Fri. April 2, Monday April 5) 32. interfaces (notes) (slides) 33. abstract classes, casting (notes) (slides) 34. modifiers (notes) (slides) 35. review for final exam (no notes) (slides) |
Exercises 9: object oriented design +   more OOD exercises   (from "Introduction to Java programming" by D. Liang, Ch. 10) A4 (PDF)   (starter code) (sdot files) and solutions Final Exam and solutions (mean 23.7/30) |