Term Project Assignment
- Description
- Schedule
- TP Attendance Quiz
- TP Ideation Meeting
- TP Deliverables
- Post-TP3 Events
- Grading Criteria
- Scaffolded Project Option
- Policies
- Description
For the Term Project description,
see the Term Project Preview.
- Schedule
- TP Attendance Quiz
There are a number of required course events during TP season, including normal Tue/Thu lectures, an ideation meeting with a TA or course faculty,
at least one TA-Led Special-Topic Session,
the TP Showcase, and your TP Grading meeting.
Attendance at these events will count towards a "TP Attendance Quiz" which will count as a normal
quiz in your semester grade. Basically, if you show up on time to all these required events,
and stay the whole time, and participate fully, you get a free 100% on a quiz score! Sweet!
- TP Ideation Meeting
Sometime during (or prior to) week 11, everyone must have at least one
TP Ideation meeting with a TA or course faculty. Many of you will have already
satisfied this requirement by virtue of having attending faculty OH and discussed
your TP with course faculty for at least 5 minutes. If this applies to you,
we will provide a form where you can list where and when that meeting occurred.
For the rest of you, you need to meet with a TA for 10 minutes this week
to discuss your term project ideas. We will provide more details via Ed.
- TP Deliverables
See these docs:
Note: Your TP0, TP1, and TP2 grades will be combined into a single "TP Deliverables Quiz"
grade. This counts as a normal quiz, in the same way that the "TP Attendance Quiz" does.
See grading details below.
- Post-TP3 Events
Here are some notes on the post-tp3 events:
- TP Showcase
The term project final deliverable (tp3) is due on Fri 6-Dec at 3pm. Just over 4 hours later,
at 7:30pm, we will host our TP Showcase. This is a required course event (though
students with university-approved conflicts will be excused). It will be an hour
of fun where we share in each other's accomplishments and wrap up the semester.
Attendance will count in part towards the "TP Attendance Quiz".
- TP Grading Meetings
You will have a brief grading meeting with your TP Mentor after each checkpoint (tp0, tp1, and tp2).
After tp3, you will have a longer grading session with your TP Mentor. These last sessions
must be some time on Thu 5-Dec through Sat 7-Dec (it's ok if you meet the day before the
tp3 deadline, we will still grade the work you complete up until the deadline). If you skip
a grading session, there are no makeups, and we will grade your work without you having the
chance to present it, which will likely
lower your grade, perhaps a lot. These grading sessions are required and count towards
the "TP Attendance Quiz".
- TP Preliminary Grades Released
Because our final exam is on the Monday after the tp3 deadline, we will release
preliminary TP grades on Sun 8-Dec, the day before the final. These grades
will be within 5 points of your final TP grades, and thus should be helpful in your
decision on whether or not to sit for the final exam.
- TP Final Grades Released
We will release final TP grades on Wed 11-Dec. Because the TP grading process is so complex,
with so many checks and re-checks for consistency by so many TAs and course faculty
across hundreds of unique projects,
there is no TP regrade process. That said, if there is a genuinely major grading error,
such as if we somehow entirely miss a complex feature that you implemented, you will have one
day to inform us of this error. Thus, TP grades are finalized a couple of days later,
on Fri 13-Dec.
- Grading Criteria
To remind you, there are 3 separate grades entered in the gradebook for
your term project:
- TP Attendance Quiz (for various events)
- TP Deliverables Quiz (for TP0, TP1, and TP2)
- TP3 (main deliverable)
Your term project will be graded using two general categories:
- User Experience
Your project must have a rich, interactive user experience. It should feel like
a single cogent app. It should be user-friendly, with easily discoverable features,
so that someone unfamiliar with your project can quickly understand how to use it properly and fully.
Your project's User Interface (UI) should be clear, understandable,
and aesthetically pleasing. Your project need not display artistic brilliance,
but the UI should clearly evidence that you spent time polishing your project's appearance.
- Code and Algorithm Design
Your project must demonstrate a 112-level of sophistication in code and algorithm design.
Your code must be clean, well-organized, reasonably efficient, and written with good,
consistent style adhering to the 112 Style Guide.
In particular:
- Projects that use particularly elegant style
can receive extra points.
- Projects that use notably poor style
may have some points deducted.
- Projects that use particularly egregious style
will be given a significant deduction.
Also, if applicable (and it nearly always is), your
code should make meaningful, well-designed use of OOP. This will make your code more elegant
and more scalable (which is crucial, given the size of this project).
While you may use third-party modules, code, or algorithms, these will not satisfy this requirement.
You must have at least one feature of your original design that requires algorithmic complexity
beyond what we might assign on a typical homework problem. We are not expecting advanced CS understanding
of algorithms, just something beyond what we have seen so far from you. In short, you need
to showcase that you have the code and algorithm design skills of a student who has
completed all of 112.
Also, while the TP3 / Final Deliverable will be graded with traditional letter grading, the earlier deliverables (TP0, TP1, and TP2) are not graded traditionally.
Instead, for those, your TP Mentor will
give you feedback as follows (along the metaphor
of a traffic light):
- Green
This means you are on track, making solid progress.
Keep up the good work!
- Yellow
This means you are not fully on track, and you have
not made quite enough progress. You should step
it up a bit.
- Red
This means that you are not on track, and have not
made nearly enough (if any) progress. You need to
consider switching to the scaffolded project (if you
have not already done so). In any case, the "Red" zone
means that you are at risk of failing.
Note: each of your TP0, TP1, and TP2 grades are each out of 100 as follows:
- Green == 100 pts
- Yellow == 80 pts
- Red (with some effort) == 50 pts
- Red (with little to no effort) == 0 pts
If you skip your TPx meeting, that score is reduced by 25 points.
Finally, your TP Deliverables Quiz score is just the average of these 3 scores.
- Scaffolded Project Option
As described in the Term Project Preview, the scaffolded project option
is generally intended to help students avoid a grade below a C on the term
project.
Notes:
- Any student can elect to do the scaffolded project,
or at any time to switch to the scaffolded project.
However...
- Students whose performance is in the "Red" zone at TP1
will be encouraged to switch to the scaffolded project.
- Students whose performance is in the "Red" zone at TP2
will be required to switch to the scaffolded project.
For more info on the scaffolded project, see
the Sokoban (Scaffolded Term Project) notes.
- Policies
The term project is different from the other assignments and exams in 15-112. Therefore, it has its own special set of policies and rules. Note that the main course policies still apply, unless they are overruled by the policies described here.
- Required Meetings
All the meetings listed in the schedule above are required.
As a first recourse, missing one or two required meetings will result in your TP Attendance Quiz being lowered.
However, if you miss more than that, you should expect your
overall TP grade to be lowered, perhaps a lot. Thus, we highly recommend that you show up a few minutes
early to all TP-related meetings and events.
- Collaboration
This project is solo, in that every student must do their own independent project.
That said, you may be richly collaborative in terms of helping each other, including viewing other students' code to help them debug, openly discussing designs and algorithms, etc. Using resources wisely is an important aspect of this term project. However, you still must conceive and understand your entire design of your project, and you must personally write every line of code that you submit for credit.
For any parts of your project where you received substantial help from someone (or something) else in any
way, you must include a comment near the relevant pieces of code to clearly cite who you worked with, on what, and how. In all cases, your code must make it extremely clear which parts are entirely originally yours,
which are partially originally yours, and which are not originally yours.
- AI Tools (like ChatGPT, Copilot, etc)
You may use AI Tools, but these will be treated like any other collaboration. You must very clearly
cite any such use, and you must make it abundantly clear which code or other project design elements
were assisted by AI.
- Prior Work
You may also use your own prior work (code that you have written for past assignments or in any case
prior to your term project), but this will be treated
the same as work from any other source. Thus, you must very clearly
cite any such use, and this will not count towards your term project grade.
- Online Resources
You may use any materials whatsoever, including source code, designs, images, text, sounds, or anything else, from any sources you may discover online. However, you must very clearly cite each such use, so it is very clear what is yours and what is not, and where all the materials came from.
Note that an egregious lack of citation may be considered an academic integrity violation, even on tp0.
You must cite your sources, always.
- Submission
You will submit each deliverable as a zip file on Autolab.
If you don't know how to zip a file,
learn how here.
If you submit any other file type, or if you submit a corrupted zip file,
this will not count as a submission. We do not provide extensions in such cases,
so double-check that the zip file you submitted is correct (download it and unzip it
to be sure).
Also, we will not accept submissions larger than 1 MB.
If your zip file is larger than this, submit the core part of your project in the zip file,
at least including all your Python code and your readme file,
along with a link to the rest of the oversized project materials
(typically large media or data files),
in some online, standard, reasonably secure file share, such as Google Drive
that should be accessible without a password by your TP Mentor and other graders.
- Grace Days
These only apply to homework and not to the term project.
You may not use any grace days for any TP deadlines.
- Extensions
We also generally do not provide extensions on TP deadlines, and so we do not
allow students to submit the deliverables late. However, if you have a medical or
other genuine emergency, email the course faculty to see if an extension can be arranged.
Good luck and have fun!