Assignments are designed to give you heavy-duty experience with the application of course content. Assignments are graded on correctness.
You will work on ALL Assignments individually All of these Assignments were designed to be completable on your own. Collaborating with other students is strictly prohibited. Please see the section on Academic Dishonesty below.
HARD DEADLINE: 9pm on Due date. Assignments have a hard deadline. Assignments have to be pushed into your github repos by the deadline time (locally committing is not sufficient).
FINAL COMMMIT RULE We will only consider the final commit pushed into your git repos by the dealine time.
LATE SUBMISSION POLICY: 0.. We will be locking down your project repositories at 9pm
Projects are difficult, so don’t worry if you don’t get 100% on projects! We also have a philosophy on autograders: we only provide visible sanity tests. So there will be immediate feedback that your code compiles and runs on a simple test case but you won’t be able to see the results of the tests that are used to determine your grade. Additionally, you should ensure you have set the submission you want to use as your final grade as your ‘active’ submission. You may change your ‘active’ submission up until the late due date. We will not change your project submission after the late due date passes regardless of if you did better on another submission. We do not want you to use the autograder as an oracle since much of programming is actually testing your code.
Effort = {Office hours, doing every single lab, hw, reading Piazza pages, etc.} Participation = {Raising hand in discussion, asking Piazza questions, etc.} Altruism = {Helping other students in lab, answering Piazza or Office Hrs questions}
EPA was created to encourage people to be good academic citizens, in a way that traditional grades could not capture. This can help boost you over a grade boundary if you’re close to one. Scoring is confidential (we’ll never tell you your EPA score and you shouldn’t ask), and is decided by the teaching staff, so make sure they know your name.
Despite this, if you would like to present a petition for extension due to unforeseen (https://en.wikipedia.org/wiki/Force_majeure) circumstances (e.g., internet is cut-off, power lost in the house, family matters). Please read SFU policy on grading. Following this contact the CMPT student advisor to validate your situation and get it approved by the UPC director Toby J Donaldson (tjd@cs.sfu.ca). If the student advisor can validate your situation and the UPC director approves, the instructor will consider it (however instructor decision is final).
We may take up to 48 hrs to let you know our decision
so you should continue to push your latest work to the repo. We will inform you prior to the deadline if your request was approved.WARNING: DO NOT PUSH AFTER YOUR APPROVED EXTENSION.
WE MAY SIMPLY ZERO OUT IF COMMIT STAMP EXCEEDS DEADLINE TIME
We will be using piazza for all discussions
. For homeworks, assignments, labs, exams, lectures, or other clarification emails we will not be responding to private emails.Typically staff (instructor/TA) will not reply to private email
if we deem it belongs to piazza group or the information can be obtained from the webpage.cmpt295:
as the prefix in your subject line.We hope you take advantage of the ample office hours we have scheduled this term. When coming to office hours for lab or project help, there are some policies you’ll need to abide by.
In order to reduce queue wait times, help will be limited to 10 minutes. If this is not sufficient, please rejoin the queue. This is designed to make the queuing time both significantly shorter and more predictable.
TAs will not be debugging code endlessly without reason
. This is not a good learning practice, they have limited time, and part of the goal of this course is to turn you into a great tester and debugger.
Therefore, before coming to office hours, students should have done the following:
Have printed out your variables in appropriate format (binary or hex). You can use the help print_binary There are instructions for testing on all project specs, and you can review how to run valgrind and (c)gdb in lab.
Before joining the queue, you must add the following to your problem description in order to help the TA better understand what you need help with and to ensure that you have attempted to debug your code before coming to office hours.
If your question is conceptual/homework/lab (non-debugging), fill in the prompt below: Detailed question:
If your question is project/lab (debugging), fill in the prompt below: Have you fixed all compiler warnings? Have you run valgrind and fixed all memory leaks? Detailed question: Steps have you taken to solve this problem:
If you do not fill out the description properly, your ticket will be resolved. Descriptions like “please help”, “I don’t understand how to do this problem”, etc are not sufficient and will be resolved. Examples of good descriptions:
conceptual/homework/lab (non-debugging): Detailed question: I am having a hard time understanding when you should use malloc(). I understand that malloc will store data on the heap, and that this data will remain allocated until you call free(), but I don’t understand when you should allocate data using malloc() vs when you should allocate data on the stack.
TA: Have you fixed all compiler warnings?
Student: yes
TA: Have you run valgrind and fixed all memory leaks?
Student: yes
Student: I am getting a segfault in my code for Project X. I have determined that it is occuring in the function example_func(). I have also figured out that it only happens when the parameter example_param is greater than 16. Steps have you taken to solve this problem: I have run my code through gdb which helped me determine that the error is occurring in example_func() when example_param() is greater than 16. The segfault is occurring on line 57 when I try to access an element in the example_array.
We have two different types of office hours: Normal OH (includes Head TA and Instructor OH), Lab OH. Each of them has a priority of types of questions which they will answer. Normal OH will prioritize assignment, exam, and conceptual questions. It then will take project questions, and finally take lab questions last. Lab OH will take lab questions first but also take any other type of question if there are no lab questions.
If you have your own set up, staff most will not be help you
. If you do end up posting to obtain help from other students, then include a clear description of your set up. machine, editor, screenshots, exact commands to replicate.We do NOT give extensions for late additions to the class. If you have any intention of taking the class but are not enrolled in the class, you must enroll the class (at least being on the waitlist) and you must keep up with the work.
READ THE CANVAS PAGE
Inclusion: We are committed to creating a learning environment welcoming of all students that supports a diversity of thoughts, perspectives, and experiences, and respects your identities and backgrounds (including race/ethnicity, nationality, gender identity, socioeconomic class, sexual orientation, language, religion, ability, etc.) To help accomplish this: If you have a name and/or set of pronouns that differ from those that appear in your official records, please let us know.
If you feel like your performance in the class is being impacted by your experiences outside of class (e.g., family matters, current events), please don’t hesitate to talk to the student advisors. If you have any unforeseen circumstances that arise during the course (e.g., electricity cut-off, unable to access internet, living), please fix an appointment with instructor, or the CMPT student advisors or Toby Donaldson (tjd@cs.sfu.ca)
If something is said in class (by anyone) that makes you feel uncomfortable, disrespected, or excluded by a staff member or fellow student, please report the incident to our instructors, head TA, or another member of staff you’re comfortable with so that we may address the issue and maintain a supportive and inclusive learning environment.You may also contact the department’s student advisors and UPC chair Toby Donaldson. tjd@cs.sfu.ca
As a participant in this class, recognize that you can be proactive about making other students feel included and respected. We recognize that our students come from varied backgrounds and can have widely-varying circumstances affect them during their time in the course.
We (like many people) are still in the process of learning about diverse perspectives and identities. If something is said in class (by anyone) that makes you feel uncomfortable, disrespected, or excluded by a staff member or fellow student, please report the incident to our instructors, head TA, or another member of staff you’re comfortable with so that we may address the issue and maintain a supportive and inclusive learning environment.
Except for final grades, this is how you can go about getting your mark changed:
WARNING: THERE WILL BE NO MAKEUP EXAMS
We have a large class and will not be able to accomodate exceptions
If you’re concerned about your mark at the end of the course, you can see the instructor. Here are some guidelines: This is a good reason:
The instructor will go over the some of the questions post exam
The following are not good reasons to get a higher final mark:
We are committed to creating a learning environment welcoming of all students that supports a diversity of thoughts, perspectives, and experiences, and respects your identities and backgrounds (including race/ethnicity, nationality, gender identity, socioeconomic class, sexual orientation, language, religion, ability, etc.) To help accomplish this: If you have a name and/or set of pronouns that differ from those that appear in your official records, please let us know. If you feel like your performance in the class is being impacted by your experiences outside of class (e.g., family matters, current events), please don’t hesitate to come and talk with us. We want to be resources for you. As a participant in this class, recognize that you can be proactive about making other students feel included and respected. We recognize that our students come from varied backgrounds and can have widely-varying circumstances affect them during their time in the course. If you have any unforeseen circumstances that arise during the course, please do not hesitate to contact the instructors in office hours or private Piazza post to discuss your situation. The sooner we are made aware, the more easily these situations can be resolved. Extenuating circumstances include work-school balance, familial responsibilities, religious observations, military duties, unexpected travel, or anything else beyond your control that may negatively impact your performance in the class. We (like many people) are still in the process of learning about diverse perspectives and identities.
This document has been modified by your CMPT 295 instructor. It has been derived from John DeNero and Kara Nelson. All comments should be sent back to your CMPT 295 instructor only.