The course is a project course with no exams or finals. To pass the course you need to receive a passing grade on your team project and your individual assignments. The final grade will be based on the following components (preliminary scheme, subject to minor changes):
77% Team Project. Project done in teams of 6 (other team sizes accepted under special circumstances). Project grade breakdown:
16% Individual Assignments:
2% Classroom Participation: We count the following forms of course participation:
We are also open to offering the option d) writing a detailed script of one lecture topic. A form of blog article that we could give out to other students in future iterations of the course. Please contact the instructor directly if you are interested in this form, to select a topic.
Note that we count a) and d) the highest and b) and c) are equivalent. These apply to all students equally, pick what is most suitable for your learning style. To not put remote students at a disadvantage, one can get full points by being active regularly in c) alone.
Note that all four forms of participation are graded to encourage you to engage with the material, to actively and better understand the content. Please see them as an incentive instead of a necessity to gain a better grade.
1% Video Game Pitch - Team/individual
4% Written Individual Progress Reports - Each student is expected to submit a written report documenting theirs and their team members contribution towards each milestone of the team project (including final game).
Individual Assignment Grading: There will be face-to-face grading for the assignments where students will sign up for a slot to demo their work to the grader. You will be asked to explain the algorithms used in your program to the grader. If you cannot explain an algorithm, at the discretion of the grader, you will not receive credit for the entire assignment or part of it.
Milestone Grading: There will be face-to-face grading for the game milestones where teams will sign up for a slot to demo their work to the grader. ALL team members must be present during grading. Each team member will be asked to explain the algorithms used in their parts of the code to the grader. If you cannot explain an algorithm, at the discretion of the grader, you will not receive credit for the entire milestone or part of it.
Attendance: Attendance and active participation in all lectures and other in-person activities is expected. You are responsible for knowing all material presented and any advice provided there. Most lecture material will be made available online. However, there is no guarantee that everything covered in lectures and elsewhere will be posted to the course webpage.
For project milestone assessments each student's grade will be based on both team progress and their personal contribution. The individual contribution will be assessed via a combination of Q&A during face-to-face grading, self-assessment, codebase analysis, and peer-assessment. Each student's grade will be a product of the team grade and a scale factor based on their personal contribution (where 1 is average contribution, a higher factor reflects above average contribution, and lower factor reflects less than average contribution). It is each student's responsibility to not only complete their individual work but to integrate it into the team's codebase. There will be no marks given for code not integrated into the codebase at milestone submission time. While asset creation is a valuable contribution, the goal of the course is to teach programming - so do make sure to balance asset creation and coding.
It is important that assigned work be completed on time, because subsequent milestones and assignments depend on completion of earlier work.
To allow for unforeseeable circumstances, each team will be allowed three days of grace during the term, which can be used on any project milestone with no explanation required. Use these as you wish to help manage your time, but use them wisely. It is strongly recommended that you do not use all your grace days early in the term. You can use all three on one milestone, or spread the days across multiple ones.
Once your team grace days are all used, late milestones will receive a grade of zero. Exceptions to this late policy will be made only with advance approval from the instructor; or medical, emotional, or other problems documented in writing as below.
Similarly, to allow for unforeseeable circumstances, each student will be allowed three days of grace during the term, which can be used on any individual assignment with no explanation required. Use these as you wish to help manage your time, but use them wisely. It is strongly recommended that you do not use all your grace days early in the term. You can use all three on one assignment, or spread the days across multiple assignments. Once your individual grace days are all used, late assignments will receive a grade of zero. Exceptions to this late policy will be made only with advance approval from the instructor; or medical, emotional, or other problems documented in writing as below.
See the UBC Policy on Academic Concession.
Documentation of Severe Illness or Other Problems: It is the responsibility of the student to provide adequate documentation of the situation and to inform the instructor in a timely manner so that the necessary appropriate action can be taken. Often assignments will be granted no-penalty extensions, but all cases are subject to the instructor's discretion. Usually it is expected that the student will provide a written explanation of the situation to the instructor within three days of returning to the University after any absence or period of illness, or other problem. In no case will documents be considered more than seven days after a student has returned to the University. A written explanation must be submitted along with supporting documentation (i.e. a doctor's note in cases of illness); talking to or emailing the instructor is not an acceptable substitute for submitting the required supporting documentation.
Late/Missing Milestones: One of the following courses of action will be taken after receipt of appropriate documentation of the situation.
If the missed work is a significant portion of the term mark, then a standing of AEGROTAT may be awarded, as provided for by the University's policies. Students will be consulted before a course of action is chosen, but the final decision will be that of the instructor.
Religious Holidays: Students who are scheduled to attend classes or write examinations on the holy days of their religion must notify the instructor in writing three weeks in advance of the religious holiday they wish to observe. The instructor will provide opportunity for students to make up the missed work or examination without penalty.
Read the Computer Science Department's Guidelines and Practices Regarding Collaboration. Consult the University's policies and procedures regarding academic offences for more information on plagiarism and the penalties sanctioned by the University.
Collaboration with others for the individual assignments is not allowed. For the team milestones, collaboration outside the team without explicit instructor permission is not allowed. As explained in the CS collaboration guidelines, general discussion of programming and algorithms is allowed. However, source code may not be shared: all forms of reuse, such as electronic copying of a current or former student's source files, typing in source from a printout, or typing in source read from another student's screen, when done outside your team, will constitute an act of plagiarism in the context of CPSC 427.
You are expected to cite all sources of inspiration (Internet, book, or human) in your writeups. Acknowledging your sources of information in writing is the best way to avoid grey areas of possible academic misconduct. You do not need to cite anything covered in lecture or in the assigned readings, or discussions with the instructor or TAs. You should cite all other sources in writing: either at the end of the README documenting your program for the programming part of the assignments, or in a list at the bottom of the written part of the assignment. In the case of written assignments, any people with whom you have had extended discussions should be listed at the bottom of the paper that you turn in. Casual discussions of a few minutes do not need to be documented, but study groups do.
The Web is full of fantastic resources for students: detailed tutorials with well-annotated source code; archives of mailing lists and newsgroups that contain programming questions and answers; and explanations of how to avoid, fix, or work around common (or uncommon) errors. You are welcome to use these resources responsibly, as long as you cite the sources. For example: if you looked at code fragments from the Web or from other books, list the Web sites or book titles in the References section of your README. Looking on the Web for ideas and information is permitted and encouraged. Even looking at sample graphics code is permitted, but simply copying that code and handing it in as your own is not. You will be asked to explain algorithms during the face-to-face grading slots, if you are not able to do so you will not receive credit for all or part of the assignment.
In the context of CPSC 427, every student is held responsible to ensure that:
Failure to comply with any of these responsibilities, either knowingly or through negligence, will also be considered an act of plagiarism indistinguishable from that of the other student(s) and subject to the same penalties.
Cheating includes, but is not limited to: falsifying any material subject to academic evaluation, having in an examination any materials other than those permitted by the examiner, using unauthorized means to complete an examination (e.g. receiving unauthorized assistance from a fellow student), and giving somebody else money to complete course assignments instead of doing them yourself.
The first offence within the context of CPSC 427 (across all years, terms, etc.) shall cause the student and their team to receive a mark of 0 for all affected milestones, and the Chair of the Undergraduate Affairs Committee will receive a report detailing the particulars of the case. Further disciplinary action may be undertaken by the department, faculty, or university.
A second offence within the context of CPSC 427 (across all years, terms, etc.) shall cause the student to receive a grade of 0 for the course, the student will not be permitted to enroll in further offerings of CPSC 427, and the Chair of the Undergraduate Affairs Committee will receive a report detailing the particulars of the case. Further disciplinary action may be undertaken by the department, faculty, or university.
Students not enrolled in CPSC 427 who are involved in a 427-related plagiarism incident will not be permitted to enroll in future offerings of CPSC 427, and the Chair of the Undergraduate Affairs Committee will receive a report detailing the particulars of the case. Further disciplinary action may be undertaken by the department, faculty, or university.
Although the instructor reserves the right to exercise leniency, the instructor usually considers cheating to be an insult to all other course participants, and aggressively prosecutes cheaters in order to create a level playing field where individual efforts are rewarded appropriately.