This course is a continuation of CMPT 130 (also CMPT 120 at Surrey when 120 is taught in C), and introduces new programming techniques and computer science ideas. It uses the C++ language in the Linux environment.
Weekly lecture: 2:30pm to 3:30pm every Monday, Wednesday, and Friday in room 5080 (Surrey). You should attend every lecture. If you miss a lecture, then it is your responsibility to find out what you missed.
The lectures follow the schedule below.
The teaching assistant (TA) is:
The course instructor is Toby Donaldson (tjd@sfu.ca). Feel free to email him any time to ask questions. His office hours are every Monday, Wednesday, and Friday from 11:30am to 12:20pm, and 1pm to 2pm in room 4108 (Surrey).
Sometimes we will send you email via the course mailing list. Check the 125 mailing list archive if you miss a message.
Please note that while we try to answer email as quickly as possible, we can’t promise immediate responses.
Weekly labs are from 12:30pm to 2:30pm, and 1:30pm to 2:30pm every Friday in room 4080 (Surrey). You should attend every lab. Some labs may cover specific course topics. If you miss a lab, then it is your responsibility to find out what you missed.
There are no labs (tutorials) in the first week of classes!
Here is a tentative list of lab topics:
The required textbook for this course is Programming, Principles and Practice Using C++, by Bjarne Stroustrup (the creator of C++).
Lecture notes and assignment questions may be taken directly from the book, so you should have your own copy. Plus, the book has a lot of reference material, making it a useful resource for any later C++ programming you might do.
30% Assignments
Important: All the code your submit for these assignments must follow the coding style rules. The rules are not hard to follow, and encourage you to write better code. If you break these rules your assignment may be returned to you unmarked. These coding style rules are in addition to the course ethics guidelines.
Important: Sometimes instead of giving you a mark based on the assignment work you submit, we may replace an assignment with an oral exam based on the assignment. Such an exam is meant to test your understanding of what you submitted, and may ask you to do things like explain your work, make small changes to it, and so on. This is mainly to deal with suspected academic dishonesty issues, and so it may be applied either at random, or to specific individuals we suspect may not be following the course ethics guidelines.
Occasionally it may be necessary to change a due date of an assignment. If that happens, you will be given as much advance notice as possible.
30% Midterm exam A 50-minute closed-book exam currently scheduled to be held Friday June 15th in the same place and at the same time as the lecture. More details will be posted later.
40% Final exam A comprehensive 3-hour closed-book exam on Wednesday August 15th, from 3:30pm to 6:30pm in room to be announced later. It will cover the entire course. More details will be posted later.
Note
Students must attain an overall passing grade on the weighted average of exams in the course in order to obtain a clear pass (C or better). The Grading FAQ explains what this means in more detail.
Your marks will be recorded in the on-line gradebook.
The Grading FAQ has answers to many commonly asked questions about final grades and how they may be calculated.
All students in this course are expected to follow a few basic rules of ethical conduct: