Not logged in. Login

CMPT 225 D2

Course Home Page

This course will be delivered remotely. To participate, you are required to have a desktop or laptop computer and a good internet connection. For the exams, you must be able to produce a PDF file of your work. Often this means working on paper and using a camera or scanner to image your work, then a program to convert the images into a PDF file.

Lectures will be prerecorded and posted here along with the lecture slides. Lectures are mandatory, meaning that you will be responsible for all material covered in lecture.

The scheduled class meeting times will be my office hours & chat time. These sessions are not mandatory and any relevant information that arises in them will be conveyed to the class as a whole. These will be held on the Zoom videoconferencing platform.

Lectures and Slides

The lecture and slide links are here.

Course Discussion Forum

We will be using piazza for class discussion and Q&A. Join us at piazza.com/sfu.ca/fall2020/cmpt225d2. The forum is hosted external to SFU and if you wish to protect your privacy, you can post anonymously.

Assignments

Assignment 1 Due Sept. 25.

Assignment 2 Due Oct. 9.

Assignment 3 Due Oct. 26.

Assignment 4 Due Nov. 6.

Assignment 5 Due Nov. 20.

Assignment 6 Due Dec 4.

Final Exam

The final exam is here.

Midterm

The midterm is here. The solutions are here.

Sample Midterm

This is a midterm I gave in 225 last year.

Evaluative Components

  • Assignments (6 x 10%)
  • Midterm (10%)
  • Final (30%)

Assignment and Exam Marking

Assignment and exam marking will primarily be done by the TAs. Therefore, when you have a question about the marking, you should first contact the TA responsible. We'll let you know who is responsible for each question. If you have general questions or inquiries about marking (addition was wrong, etc.) then contact the head TA.

If you have contacted the TAs and still have an issue with marking, then contact the professor with details of the interaction with the TA.

Check your marks promptly. Marking inquiries must be made within one week of the release of the marks. Marking inquiries made after one week will not be considered.

Late Assignments

Assignments are accepted up to 5 days late, at -10% per day. This includes Saturdays, Sundays, and holidays.

Office hours

Tom Shermer

The scheduled class times (MWF 3:30 - 4:20) will be used for my office hours/chat time. This will be held on the Zoom teleconferencing platform at:

https://sfu.zoom.us/j/91824320748?pwd=QXcrN04zMFVjK1FzVmUyNjhUQzQvdz09

Office hours start in week 2.

T.A. Office Hours

Pourya Vaziri

Mondays: 6 pm - 8 pm. Tuesdays: 12 pm - 2 pm. Thursdays: 12 pm - 2 pm.

https://sfu.zoom.us/j/9446607243?pwd=dFAxbklwUXNGcnoycGhHSUVCaFJWQT09

Chao Zhang

Wednesday: 6 PM - 8 PM Friday: 5:30 PM - 6:30 PM

https://sfu.zoom.us/j/95577100152?pwd=TU5McHB4L3cvSjhTd1Nud0I0SjFvZz09

Textbook

Required: Data Structures and Algorithms in C++, second or later edition, by Goodrich, Tamassia, and Mount.

Students are expected to do the readings. Readings will not be assigned in class but are attached to the syllabus below. For the best results, read a little ahead so that the lectures will be a review of what you have read. You will be responsible for all the readings, even if some sections are not covered in lecture.

Syllabus

Times are tentative. Sections and Chapters refer to the course text. Topics will be added or deleted based on time constraints.

Week 1. Object Orientation. (Chapters 1, 2)

Week 2. Arrays, Linked Lists, and Recursion (Chapter 3)

Week 3. Analysis, Stacks, Queues. (Chapters 4, 5)

Week 4. Stacks, Queues, Deques. (Chapter 5)

Week 5. Lists and Iterators (Chapter 6)

Week 6. Trees (Chapter 7)

Week 7. Heaps and Priority Queues (Chapter 8)

Week 8. Hash Tables, Maps, and Skip Lists (Chapter 9)

Week 9. Dictionaries and Search Trees (Chapter 10)

Week 10. Sorting and Divide-and-Conquer (Chapter 11)

Week 11. Sets, Union-Find, and Selection (Chapter 11)

Week 12. Dynamic Programming (Chapter 12)

Week 13. Strings and Pattern Matching (Chapter 12)

Updated Wed Dec. 16 2020, 12:00 by shermer.