NEWS

Check this page regularly for announcements and updates!

April 30: Check your final exam marks and overall grades on ePost.
To view your final exam papers, please come to the office hour on Thursday, May 2, 11:00-12:00.

April 16: Check all your assignment and midterm test marks on ePost, and report errors before April 22. NO changes to assignmment and midterm test marks will be made after April 22.

April 11: Instructor office hours before final exam: Friday, April 11 and Monday, April 15, 15:00-16:00. TA office hours before final exam: Tuesday, April 9 and 16, 11:00-12:00.

March 20: Assignment 5 has been posted.

March 8: Assignment 4 has been posted. Assignment 2 marks and results have been sent to your CSE email accounts.

March 7: Today's instructor office hour is moved to a new time slot, 3PM-4PM.

February 22: Instructor's office hour on Friday from 2pm-3pm in LAS-2024.

February 4: Assignments 2 and 3 have been posted. On Tuesday, Feb. 5, there will be TA office hours from 11:00-12:00 and from 2:30-3:30 in LAS-2013.

January 29: TA office hours today from 11:00-12:00 and 2:30-3:00 in LAS-2013.

January 21: Assignment 1 has been posted.

January 16: Course schedule and midterm test date have been posted.

January 10: New classroom starting today: LSB-106 (Life Sciences Building).

January 8: First lecture.


Lecture Notes

The instructor reserves the right to update the notes right up to class time and within two weeks after each corresponding lecture. Check the time and date at the bottom left corner of the slides to make sure you have the most up-to-date version.

Course Information

Algorithm Analysis - part 1 - Reading: chapter 4 - Homework: R-4.16 to R-4.20

Announcements: NSERC Undergraduate Research Awards - Master's studies in Computer Science & Engineering

Software engineering disasters

Algorithm Analysis - part 2 - Reading: chapter 4 - Homework: R-4.7, R-4.8, R-4.13

Recursion and Logarithms - Reading: section 3.5 - Homework: R-3.5, R-3.13, R-3.14, C-3.14, C-3.17, C-3.20, C-3.21 (Hint: Write and run Java programs to verify the correctness of your algorithms. To make C-3.17 easier, write two separate methods, one to find the maximum and the other, the minimum.)

Merge Sort - Reading: section 11.1

Quick Sort - Reading: section 11.2

Arrays (for students' review) - Reference: copying arrays

Linked Lists - Reading: sections 3.2-3.3

Stacks - Reading: section 5.1

Queues - Reading: section 5.2

Double-ended Queues, Extendable Arrays - Reading: sections 5.3, 6.1.5.

Introduction to Trees - Reading: sections 7.1 and 7.2

Binary Trees - Reading: section 7.3

Binary Search Trees - Reading: section 10.1

Midterm review - Binary tree Java template

AVL Trees - Reading: section 10.2

Heaps - Reading: section 8.3

Heap Sort - Reading: section 8.3.5

Hash Tables part 1, part 2 - Reading: section 9.2

Request for re-appraisal form

Introduction to Graphs - Reading: sections 13.1-13.2

Graph data structures (in textbook)

Breadth First Search, BFS Applications - Reading: section 13.3

Depth First Search - printable slides - Reading: section 13.3

Applications of BFS and DFS

Topological Sort - Reading: section 13.4.3

Review - Review questions