Term Project Assignment


  1. Description
  2. Schedule
  3. TP Attendance Quiz
  4. TP Ideation Meeting
  5. TP Deliverables
  6. Post-TP3 Events
  7. Grading Criteria
  8. Scaffolded Project Option
  9. Policies

  1. Description
  2. For the Term Project description, see the Term Project Preview.

  3. Schedule
  4. Week Date/Time Event/Deliverable
    Week 8 In lecture Term Project Preview
    Week 10 In lecture Term Project Assignment (this document)
    Week 10 Varies TA-led Mini-Lectures
    Week 11 Varies TP Ideation Meeting
    Week 12 Mon 18-Nov, 5pm TP0 due (Progress Update + Tech Demo)
    Week 13 Mon 25-Nov, 5pm TP1 due (Progress Update)
    Week 14 Mon 2-Dec, 5pm TP2 due (Working Demo)
    Week 14 Fri 6-Dec, 3pm TP3 due (Final Deliverable)
    Week 14 Fri 6-Dec, 7:30pm TP Showcase
    Week 14 Thu 5-Dec to Sat 7-Dec TP Grading Meetings
    Week 15 Sun 8-Dec TP Preliminary Grades Released
    Week 15 Mon 9-Dec Final Exam (not a TP event)
    Week 15 Wed 11-Dec TP Final Grades Released

  5. TP Attendance Quiz
  6. 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!

  7. TP Ideation Meeting
  8. 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.

  9. TP Deliverables
  10. 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.

  11. Post-TP3 Events
  12. 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.

  13. Grading Criteria
  14. To remind you, there are 3 separate grades entered in the gradebook for your term project:
    1. TP Attendance Quiz (for various events)
    2. TP Deliverables Quiz (for TP0, TP1, and TP2)
    3. TP3 (main deliverable)

    Your term project will be graded using two general categories:
    1. 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.

    2. 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.

  15. Scaffolded Project Option
  16. 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.

  17. Policies
  18. 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!