Term Project


  1. Overview
  2. Personal Contributions
  3. Term Project Policies
  4. Submitting the Term Project
  5. Term Project Component Grade Weights
  6. Term Project Additional Considerations

Note: this is a large and detailed document. Even so, everyone is expected to carefully read all of it today (and certainly no later than 7/24).
  1. Overview
  2. The term project serves multiple important purposes:
    • First, it is your chance to prove to yourself that you know the 112 material well and can apply it effectively.
    • Second, you can showcase your project in your portfolio, which you can use to help get a job.
    • Third, you will hopefully have some fun!

    As for what project you should build, we leave that for you to decide, but we hope that you are boldly creative while bearing in mind that we have only a short time (a little more than a week) to create something for 112. (That being said, you can always continue to develop your idea outside of 112, as many do! In some sense, you can think of this as a one-week hackathon.)

    Your grade is largely based on your apparent effort, and you can use all available resources (especially our amazing TAs and each other, but also anyone or anything else, so long as you always properly cite your sources). With few limitations (such as that you must code in Python), you can try anything. So be creative and try to make something wonderful! That said, also be practical, so that you have a good chance of building something that actually works. We are here to help you with those tradeoffs.

    Also, be sure to read the TP Preview discussed and posted earlier in the semester!

  3. Personal Contributions
  4. While you can use any resources you wish (including AI), it is critical that you understand the basic requirement that you must make significant and original personal contributions to your project.

    You may not just use AI or code you find and copy (or "take inspiration from" by making superficial changes) to do nearly all the heavy lifting for you. You must do some significant, original work yourself. And you must make it very clear to us which part of the project is your original work. We will indeed grade you on your effort, and on the overall quality of your project. But foremost, we will grade you on your personal contributions.

    To that end, you must follow the citation policies outlined below.

    If you do not make it clear to us which parts of the project are original work of yours, you will receive zero credit for the term project. And if you misrepresent which parts are originally yours, this would be an Academic Integrity Violation, which may lead to course failure. So please do not do that!

    Have fun, do great things, and make good use of your resources. Just be sure to do all that while following the rules, and be sure that you make it very clear to us which parts of the final project are your original contributions.

  5. Term Project Policies
    1. Syllabus: All projects must comply with our collaboration and academic integrity rules unless superseded by this document (see syllabus).
    2. Python: We will only grade code written in Python. Your project may contain non-python elements (like HTML for example) if necessary, but your python code must be cohesive and must meet the requirements of the term project.
      • Note: in rare cases, we may make an exception. To qualify for such an exception, you must first meet with the course faculty, and then you must obtain an explicit approval in email from the course faculty before you start working on the project. Also, if you do receive such an exception, you should not expect to receive help at TP OH or over Ed.
    3. Show your Work: All projects must either be written and run entirely in a designated exercise in CS Academy (Section 3.13 Creative Task 1) or be stored in GitHub if you are writing the code locally in VS Code, Thonny, etc.
      • If you are writing your code outside of CS Academy, you must create a github repository and share it with Mike, Ryan, and Elena (more TBD details over Ed by Wednesday night), and from 7/24 onward you must make new commits at least once a day even if you have not made substantial progress on that day. If you have started your project already and have not been checking your code into github, that's a-ok; you should just begin doing that daily on 7/24.
      • If you are writing your code in CS Academy, you must write it entirely in the designated exercise (Section 3.13 Creative Task 1). You should not write your code elsewhere (even in the sandbox) and then type it in later. We want to see your progress, including your debugging. From 7/24 onward, you must make at least one change to your project each day, even if you do not make substantial progress on that day.
        • If you have already started writing your code in the sandbox, and if you have made substantial progress that you cannot easily re-type into the designated exercise (Section 3.13 Creative Task 1), share the sandbox file with Mike and email him ASAP. If we can't get your code moved into the exercise easily, it may be easiest to just download Python and Thonny, copy your code there, and proceed with the Github route.
    4. Expected time-on-task: At least 10 productive hours. (This time will vary, though. If you are focused, debugging strategically, and using your resources, 10 hours may take you very far. If you're unfocused, attempting to multitask, or debugging by just wildly changing things or asking AI to fix your code, you may need to spend much, much more time to reach a reasonable result. Also, some of you may invest more than 10 hours simply because you enjoy the project.)
    5. TP Style: TP submissions may be submitted to our style autograder, in which case you may receive style deductions for egregious or systematic deviations from our style guide. This is easiest to avoid by just being familiar with the style guide and writing your own code.
    6. TP Citation: Unlike homework assignments, for your TP projects you must cite your sources, including ChatGPT or other AI tools, online sources, and even your own prior work from other projects. Any work that you did not originally create for the term project in this semester (N25) must be clearly cited so we can easily determine which parts are originally yours and written this semester and which parts are not. In particular:
      • Your code must also include citations directly in the code (as comments) that make it clear where you use code that is partly or entirely not of your original design, and what the source is for that code. These should include the most direct links possible (so for example, if you watched a tutorial on youtube and it linked to a github repository that you looked at, you must link the github repository).
    7. TP Ed + OH: Given the rich variety and complexity of projects, even our amazing TAs will have limits on just how much help they can reasonably provide. With that, you can rely on our usual high standard of help on 112 core topics. Beyond that, we'll do our best with other topics, within reason. Also, during TP season, there will be a 10-minute rule at OH (and then only if the time is being used productively), and a similar reasonable restriction on Ed response times. This means some questions will not be answered in TP OH + Ed. In particular, we probably cannot do much debugging with or for you. That's ok, though -- this is supposed to be your chance to prove that you can do this largely on your own.
    8. Default Option: Students may elect to complete the "default" option where we provide a bit more guidance in the form of the video below. Look to our posts on Ed for more details about this option, but here are the most important parts:

  6. Submitting the Term Project
  7. The term project is due at 5pm on Thursday 7/31! No late submissions will be accepted. That being said, your Github / CS Academy progress is a safety net, so if you do not submit, we will grade whatever we find there at exactly 5pm (possibly with a deduction). We will provide more details as the deadline approaches, especially for those in Github, but here is what we will generally expect, and what we will be grading:
    1. Code: We will share instructions on how you will submit your code over Ed, a few days prior to the due date.
    2. Video: You must provide us with a brief video (no more than 4 minutes, ideally closer to 2 minutes) that first demonstrates the overall functionality of your project and the features you want to make sure we see, and then (if you wish) you may briefly explain some of the technical details in your implementation.
      • The video serves two purposes: First, it shows us the parts of your project you want to make sure we grade carefully. Second, it should be a hype reel for your project, ideally one that you can later use in your portfolio
      • Please don't spend any substantial video time scrolling through your code; we can do that ourselves. Focus on the user experience.
      • Keep the video reasonably complete but concise. Shorter is usually better. You don't need to explain every minor feature, especially if it already easily apparent in the video.
      • Don't put this off until the last minute, as it will be how we get our first impression of your project, and will play a substantial role in your grade. You will submit the video through a link to a google form (TBD shared on ED by Wednesday 7/30). No submissions after 5pm 7/31 will be accepted.
    3. Daily Updates: Starting on 7/24, we will expect to see either daily changes in CS Academy (in the designated term project exercise) or daily commits in Github showing your current progress. This will be graded, but it will also be partly used to verify what code you have written yourself, and how much effort you have invested. We must be able to see your project take shape (excepting progress you have made prior to 7/24). You do not have to "submit" this on the deadline; we should already be able to see this, but do not forget to commit and push those commits if you are using Github, including your final commit.
    4. TP Reflection: There will be a "TP Reflection" (a graded event) in lecture on Thursday 7/31 where you will write a paragraph or two reflecting on the technical details of one or more of the most important features of your project, based on a question we will provide at that moment. (Note: You may not use AI for this, nor will you be able to review your code or other documents, so you should be well-familiar with all parts of your project that you are claiming ownership for.) If you wish to set up a proctoring session with the Disability Resources Testing Center, you may do so, though we will provide a substantial amount of time in lecture to write at least two reasonable-length paragraphs.


  8. Term Project Component Grade Weights

  9. TP Component Weight
    Apparent Effort60%
    Daily Progress Submission5%
    TP Video5%
    TP Reflection5%
    Code: Cohesive Interactive User Experience10%
    Code: Sophistication (i.e. Effective Use of 15-112 Skills)10%
    Code: Organization, Clarity, and Style5%
    Note that the daily progress submission points are simply "Did you submit changes daily" and you'll lose a point or two for missing a day. The apparent effort category is more concerned with the nature of those changes, and whether we see 10 effective hours of effort being spread across the week (and not all on the very last day, for instance).
    Also, additional deductions may apply for code that: does not run, has egregiously bad style, does not demonstrate any sophistication, relies excessively on non-original code, or that violates the policies or overall spirit of the term project.

  10. Term Project Additional Considerations
    • Missing or Improper Citations
      As noted above, proper citations are required for your term project. To be clear, you must cite all sources that were helpful to you in creating your project, even if you do not copy code directly from them. Sources include but are not limited to: information you find on the web, anyone who is not a current 112 TA, any work not originally done for this term project, and AI. For AI in particular, your citation should include which AI and what prompt(s) you used.

      It must be very clear to us which parts of your project are original, and which sources you used and how you used them. If this is not clear to us, you may face considerable deductions and, potentially, Academic Integrity Violations (which may result in course failure).

    • Regrades
      The grading process for term projects involves many hours of deliberation across the entire staff, simultaneously, with many minds grading each project. 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 major feature that you implemented, you will have one day (24 hours) after tp grades are released to inform us of this error. After this time, grades are final.

    • Late policy
      The late half-credit policy only applies to homework, and does not apply to the term project.

    • Extensions
      Except in the most extreme circumstances such as multi-day hospitalization, we cannot provide extensions on the term project, since we have pushed the deadline to the very last day of class already. If you have an extremely dire circumstance that may qualify for an incomplete in the class, email Prof. Taylor ASAP, and no later than the project deadline (or as soon afterward in case of incapacitation etc.)

    • Term Project Showcase
      In lieu of a final exam, we will have a (brief) Term Project Showcase during the final exam time for 15-112 on Friday 8/1. Unless you have an excused absence, you may lose points for skipping this. Here we will show off some of the most interesting projects from the summer, and we will officially say our goodbyes and send you on your way.

Best wishes, be creative, and have fun!