Assignments
Get The Assignments
See pinned post on Piazza for assignment due dates and links.
You may need to join the class on Piazza before the above link works for you.
We are changing how we work with GitHub classroom a little this semester. In the CMPT 201 Docker container, it gives some directions that are now a little out of date:
- In the Docker Container file
01-intro/ASGN.md
:- You no longer need to select your name/ID anywhere on GitHub Classroom. We will instead get your GitHub.com user ID via this CourSys "quiz". This also means that there is no extra step needed if you enrol in the class late.
Overview
There are two types of assignments in this course---short assignments and long assignments. Short assignments are designed to be straightforward and tutorial-like, while long assignments require a significant time investment. The difficulty level of long assignments is substantially higher than that of short assignments.
Students should consider these assignments take-home exams rather than traditional homework. This is because we require students to complete them in a highly-controlled environment using our Docker setup. Modifying the environment is not allowed and considered a violation of academic integrity.
Short Assignments
The first type of assignments in this course is short assignments.
- In the first few weeks of the course, students are expected to finish two short assignments per week.
- Each short assignment is in the style of a tutorial and takes about 2-3 hours to complete.
- These assignments are designed to teach students basic tools and concepts that students use for in-class activities and long assignments.
- Unlike long assignments, short assignments are designed to be straightforward.
Long Assignments
The second type of assignments in this course is long assignments.
- Long assignments are exponentially more challenging than short ones, specifically designed to push students to test and enhance their programming skills.
- The expectation is that each assignment will take 15-20 hours to complete. However, students sometimes report spending 30-40 hours on each long assignment. This discrepancy is likely due to varying levels of preparedness with the prerequisites.
- In other words, the level of challenge posed by the assignments can vary significantly, depending on the student's stage of proficiency in general programming and their understanding of the prerequisite materials (e.g., beginner-beginner, intermediate-beginner, advanced-beginner).
- Long assignments typically do not provide a detailed step-by-step guide. Students are expected to figure things out independently. The course is designed to train and challenge students, fostering self-reliance and problem-solving skills.
Remark Assignment Process
If a student has a concern with the marking on an assignment then, within 7 days of the grades for an assignment being released to students on CourSys, they must meet with a TA during their office hours (in person, or online) to address the marking issue.
The TA will ask the student to open the CMPT201 container and clone into a fresh directory a copy of the assignment in question. First the student will run git log
to show the history of commits to ensure nothing was submitted past the due date. Then the student will run the checker in that folder, and the TA may ask the student to run certain additional steps to demonstrate the solution works.
The TA will then adjust the student's marks according, adding a comment in CourSys explaining what was changed on the marking.
If a student has concerns with the remark procedure, or how it was applied to them, they are invite to talk to the instructor.