- Term Project Description
Your task is to design and implement a program of your choosing. Your project may be
a game, or a math or science application, or a baseball statistics tool, or a productivity application (think Word or Excel, only less fully-featured), or anything else you choose. This is a wide open assignment, and you are expected to be creative in your approach to it.
Each of you will be assigned a Mentor TA for your term project. While every staff member is happy to help you, it is expected that your Mentor TA will provide most of your high-level guidance during the course of your term project. Also, your Mentor TA will play the largest role in grading your term project. You are required to discuss your project with your Mentor TA during the last weeks of the semester, so you know where you stand and what additional work may be required to improve your grade. Note, however, that your mentor cannot provide extensive debugging help or technical support, so you will need to rely on the skills you've built this semester.
You have an extended period to finish this assignment, with no other required assignments during the last three weeks, and no other
major course responsibilities between midterm2 and the final exam.
You are expected to invest at least 25 total hours into this project in this time, and it is further expected that your project will clearly reflect the quantity and quality of design and craftsmanship that goes along with that much time on this task. Some of you will exceed the 25-hour bar, but this is a minimum expectation for passing the term project.
The term project is very open-ended, but there are a few restrictions:
- Note: in addition to the restrictions listed below,
we listed a few additional restrictions
in the Term Project Preview document
here.
- You may not use hardware -- that is,
not without special permission
in an email from the course faculty no later than TP0.
- You must use Python. If you want to use a different programming language for some reason, you will need to obtain special permission in an email from the course faculty.
- You should produce an interactive Python application using cmu_graphics.
To be more precise, you need to use an unmodified version of this-semester's cmu_graphics. You must also follow MVC.
If you want to use any other graphics package, or create a phone app or webapp, or if you want to create a non-interactive application, you will need to obtain explicit permission via email
from the course instructors.
- You may not do mini-games. You should have one reasonably
rich and complex application, rather than a collection of smaller,
not-so-complex so-called "mini-games". It is fine for you to embed
a mini-game or two into your larger application if it really adds to
the whole. But you cannot have a collection of mini-games and
call that a term project.
- You must first pass a tech demo if you want to use external materials (Python non-builtin libraries or hardware). This tech demo is used to ensure that you know the external material well enough to avoid getting in trouble. If you fail the tech demo and insist on using the external material anyway, we will ignore any part of the project that uses or relies on the external material while grading. Remember that some modules like pygame are explicitly forbidden until MVP.
To prevent misunderstandings, note that we do not give verbal confirmation for passing tech demos. You have only passed a tech demo for a module if we send you the approval for that module in writing, via email.
Once your project reaches MVP stage (as decided by your mentor and other course instructors), you may add on any external modules you want. This typically happens around TP2.
- Schedule
Many events happen during Term Project Season! This is your guide to all of them.
- In Week 9: Term Project Preview
We shared the term project preview on the schedule,
including the steps you should start taking in preparation at this point, and offered optional ideation meetings.
- Before Week 10: TA-led special-topic sessions
- In Week 10: TP Assignment
The TP is formally released. TP decision form due Mon 13-Nov at 5pm!
We'll assign TP mentors over the following week/weekend.
- Mon 13-Nov: TP Confirmation Form due at 5pm!
- You must fill out this form by 5pm on Mon 13-Nov! At this point you will have read this document in its entirety, and you must decide whether or not you will complete the standard self-directed term project or if you are opting into the Scaffolded Project (described below). Additionally, if you wish to tech demo any modules, you must list those in this form. Note: if you do not fill out the form by 5pm Mon 13-Nov, you will automatically be required to do the scaffolded project option. You must still submit the form, however, and you will receive a 10 point deduction on TP0 per day until we receive it. If we have not received your form submission by Monday 13-Nov, you will begin receiving large deductions from TP3. Remember, it is your responsibility to ensure that this and all forms are submitted correctly, so be sure to check for the confirmation email from Google, and email us if you believe you submitted but do not receive that email within an hour.
- Tech Demos (due at your TP0 meeting)
- If you wish to use any tech outside of Python and what we have covered
in the notes, then you must successfully complete a tech demo during your TP0 meeting.
This includes if you
wish to use any other libraries, modules, API's, hardware, and so on.
Tech demos are your responsibility -- you have to demonstrate sufficient
mastery of the tech to your TP Mentor (or assigned TA reviewer) that they believe you have
a strong chance of using it productively in your TP. You have only passed a tech demo if you receive written confirmation from the lead TAs or faculty, via email.
If you do not pass
the tech demo,
then you will need to restructure your project to work without the tech, at least until you reach MVP. We will not extend the tech demo deadline. You have one chance so start early. But, remember that you do not have to use tech, nor do we recommend it, nor does it increase your chances of a good grade. It is easier to create a successful term project without additional tech.
While the specifics of your Tech Demo vary for each student, depending
on how you intend to use your tech, in general you must show that
you can deftly use the tech as required. For example, for opencv,
you might demo that you can track a bright green object that the user
is moving around. Then, your mentor may ask you to change the code
to track a bright red object, and you would have to be able to do that,
fairly easily, while your mentor watched to confirm.
Your tech demo cannot just be example code you found online. Also, you MUST show your tech working inside of the cmu_graphics framework, obeying MVC.
- Mon 20-Nov, 5pm: TP0: Progress Update + Tech Demo Deadline
- Term project design docs due
Submit your design documents on Canvas.
- Progress Update
Meet with your TP Mentor for 10 minutes to check on your progress,
discuss project ideation and
design decisions.
In your TP0 meeting, you will finalize your TP idea with your TP Mentor. If you do not have a TP idea, you would be behind on your TP progress, and your mentor will help you decide on one at this point.
The point is: as of TP0, you are committed to your project's
basic vision and goals.
- Mon 27-Nov, 5pm: TP1
Meet with your TP Mentor for your TP1 checkin and submit the
TP1 deliverable on Canvas. By TP1 you are expected to have finalized the design plan for your project, and you should have created a sizable amount of working code
(typically 300-600 lines, though this varies by project).
- Fri 1-Dec, 5pm: TP2
Your mentor will ask you for an email update on your project (UPDATE) You must meet with your mentor, and you must submit
the TP2 deliverable on Canvas. By TP2 you should be at a Minimum Viable Project (MVP) stage, with the majority of the project's core code implemented.
- Wed 6-Dec, 5pm: TP3 (Term Projects are Due)
Submit the TP3 deliverable on Canvas. TP3 should be your completed final project, including a readme file, a video demo, and all design files related to the project.
- Thu 7-Dec: TP Showcase (in lecture)
Attend the Term Project Showcase in your assigned lecture (sorry,
we do not have capacity for everyone to attend at the same time),
and watch demos of amazing projects by your fellow students.
Note: this event is required, but it is also a lot of fun!
- Wed 6-Dec thru Fri 8-Dec: TP Grading Sessions
Meet with your TP Mentor for your TP3 live demo. You may only present work that was completed before the TP3 deliverable deadline. Note that the TP3 meeting is very important, as it is where your mentor will decide
what your grade should look like. Your mentor will send an email with sign-ups for time slots. We strongly suggest that you be ready 5 minutes early to your time slot, with your computer prepared to give a demonstration, so that none of your time is wasted. Your demonstration should take no more than five minutes so that your mentor has adequate time to ask you questions. If you miss your TP3 meeting, not only will you have the standard
missed-meeting deduction, but we will grade your project without your input, which will likely
result in an even further lowering of your grade.
- Approx. Tue 11-Dec: TP Grades Released
We will finalize and release TP grades as quickly as we can.
We are committed to being as fair and
consistent as possible in our grading, so this may take some extra time.
That said, we will get as many grades finalized as
early as possible, so you have the most information available
when you have to decide whether or not to opt-in to take
the final exam.
- Grading Criteria
Your term project will be graded using four general categories. There is some overlap, but you should pay attention to each of these to ensure the best grade:
- Code Organization: Is your code clean, well-organized, and written with good, consistent style? Can someone who is reasonably proficient in Python easily understand your code and how it works? If needed, could you explain how your code works to someone else? Using object-oriented programming, well-named variables, comments, and descriptively-named helper functions can all help improve clarity and demonstrate that you know what you're doing.
- You must make meaningful use of OOP in your term project! This will make your code more elegant and your life easier by compartmentalizing the functionality of your code. You must write at least one meaningful class with attributes and methods, and preferably more. We will teach you more about OOP and animations after midterm2.
- User Experience: Your project must be richly interactive, and the user experience should be positive and engaging. Is your project enjoyable to use, and user-friendly? Does it have several interesting and engaging features? Does the experience feel complete and cohesive?
- User Interface: Have you put some time and effort into making your project aesthetically appealing? Is the interface clear, readable, not too cluttered, and self-explantory? Can someone unfamiliar with your project quickly understand how to interact with it? It's ok if your project is not a work of trained artistic brilliance, but the user interface should make it evident that you've spent some time polishing your project's appearance. (For example, if you are making a chess game, use images or something visually interesting to represent the pieces, rather than just the letter "K" for King, "P" for Pawn, etc.)
- Algorithmic complexity and sophistication: This category is difficult to describe, but in short, are you demonstrating your 15-112 skills? Algorithmic complexity might come from clever and effective use of data structures, evidence of sophisticated problem-solving, interesting algorithmic approaches to implementing your features, good use of relevant concepts like OOP, etc. Avoid hard-coding, repetitive conditionals, or exceptionally inefficient approaches where more efficient alternatives exist.
Because of the open-ended nature of the project, we cannot (and will not) tell you whether or not a particular project, algorithm, or set of features is going to give you an A. In fact, TAs are prohibited from answering grade-related questions like "With my project as it is now, do you think it will get _____ grade" or "If I do _____ will I get _____ grade" or even telling you whether you will probably get a particular grade, so please do not ask these questions. All that we can tell you is whether or not you have hit MVP yet (which is described later in this document). In order to get the best grade possible, listen to the feedback you receive and be efficient about where you invest your time. Please also understand that because we can't predict the future, we are simply giving you the best advice possible based on our understanding of your project. Your mentor is not responsible for your grade, and your grade is determined solely by what you turn in.
-
- Scaffolded project option
See this link for the scaffolded term project option, which we recommend if any of the following are true:
- If it is very important that you get at least a low B on the term project and need a more safe route to that goal, but you are ok with not getting an A
- If you can't come up with any ideas or if you don't think you'll be able to create an algorithmic / structural plan for a project with multiple features
- If you feel like you need a more scaffolded project with fewer open-ended decisions.
Note that this is still not an "easy" option, and will require just as much mastery of the 112 material. We will share a video of the completed bee project along with a list of which features we expect, some suggestions for how to implement those features, and the order in which we believe you should implement them. This project is still open-ended, but the video and document we provide will serve as scaffolding to help you efficiently work toward a passing project. The project itself is a bee-themed game that involves gathering pollen and spreading it to other flowers. Successfully implementing the features will require you to use many 112 concepts, including OOP, different data structures, and efficient functions. If you implement the features to the level of quality we describe and show in the video, you will receive an 80 on the code portion of TP3 (a B). It is certainly possible to exceed that grade if you substantially add on additional complex and/or creative features to the project, though it will be very, very difficult to add enough extra features to reach the complexity of an A-level project.
- Policies and Rules
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.
We have added the following additional policies to help
everyone make the best decisions and be the most effective:
- All TP-related meetings are required. You need to show up on time, and pay attention the whole time.
- Barring true emergencies, if you show up late to a meeting, you lose 5% of your
score on the next TP deliverable per minute. If you are 5 or more minutes late, this counts as a missed meeting instead, and you will be required to send an email/video update (or, at our discretion, you will be required to schedule a new time to meet as soon as possible).
- If you miss a meeting due to an unexcused reason (or if you fail to set up a required meeting in the first place), you will incur a deduction on the next deliverable for missing the meeting. If you miss two meetings, you will also incur a direct deduction to your final TP3 grade. The drop will be 5 points the first time and will double each subsequent time. These accumulate, so if you repeatedly miss meetings, you could lose almost all of your TP3 points, which means more than 1 letter grade off of your semester average.
- Note: We hope that nobody loses any points at all on anything. Our goal is to keep you positive and engaged and trying hard and meeting success
on your term project, while also respecting the time constraints and busy schedules of our TAs.
Collaboration: This project is solo, in that every student must do their own independent project. However, unlike other solo assignments, 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 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.
AI assistive tools: Don't use AI assistive tools such as ChatGPT/Copilot. Prohibited use of these tools includes: design documentation, storyboarding, writing code, auto-completing code, editing code, commenting code, analyzing code, and debugging code. Citing these tools is not sufficient to avoid an academic integrity violation. The one exception to this policy is that you may use AI tools for artwork, as long as you cite the source of the generating tool and adhere to any policies specified by the tools used, see Online Resources below for more information.
Prior Work: You may use code that you've written for past assignments, or code that you've written for projects outside of this course, but you must clearly cite this code as having been written for a different purpose.
For a citation example, see
here.
We will only grade you on code developed specifically for this semester's 112 term project. All un-cited term project code must be completed by you within the current semester. Also,
any code from Hack112 must be cited as such. You must clearly indicate which parts of this code you wrote yourself vs which parts came from team/collaborative contributions.
Office Hours and Piazza: there will be a new schedule of office hours during Term Project season. TAs will still provide help, but they will not know precisely how your term project works, so you will need to be prepared to ask specific questions.
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 in the latter case where the materials came from. We will grade you only on your original contributions from this semester, and we will penalize use of external materials without citation. This includes code that you wrote in a prior course, including 112. Note that you must also clearly cite code that comes from the course notes! Non-cited external code will receive, at a minimum, a 15% penalty on TP1, a 25% penalty on TP2, perhaps
more depending on the nature of the offense,
and will be investigated as potential Academic Integrity Violation cases in TP3.
Note that an egregious lack of citation may be considered an academic integrity violation, even on TP0. It must be clear to your mentor which code is purely original, which code is yours but based on external resources, and which is copied. You must cite your sources, always.
Submission: You will submit each deliverable as a zip file on Canvas. If you don't know how to zip a file, learn how here. Please note that Canvas will not accept submissions larger than 10 MB. If your zip file is larger than this, submit the core part of your project to Canvas,
at least including all your Python code and your readme file,
and submit the rest to your mentor via
some standard, reasonably secure file sharing method
such as Google Drive.
Note: if your project requires more than 10 MB, it is your responsibility
to submit a 10 MB subset that meets the submission requirements, and to
also -- by the same deadline -- to provide your grader with easy access
to your full project. We prefer that this be via online
file sharing, such as Google Drive.
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. That having been said, if you have a medical or
personal/family emergency, email the professors to see if an extension can be arranged.
- Deliverables
You will have 3 deliverables for this term project. TP0 and TP1 combined will count as one quiz grade ("tpQuiz1"), and TP2 will count as a second quiz grade ("tpQuiz2"). These are not traditional quizzes,
but will be entered in the quiz category in our gradebook.
Your TP grade will be determined solely by TP3, the last deliverable.
Your mentor will mostly assess your deliverables in person
or over zoom, though they will not assign you a number grade until after consulting with other TAs in the class after the meeting. Each of the deliverables comes with a point breakdown as described below, and you will be assessed on the four grading criteria mentioned earlier in this document, but these criteria are fairly general, as projects vary so widely. In general, we expect a large amount of effort to go into the design, writeup, implementation, and presentation of your project.
The purpose of the intermediate TP deliverables is to give you feedback, and the grade is part of that. Getting 100 is exceedingly rare, because there is always room for improvement. Just like the quizzes, median grades in the high-B or low-C range are typical, so do not view an 80 as an indicator that you are behind everyone else. If you do not like the grades you receive, however, take the feedback to heart, improve your work habits, and increase your rate of progress. Most students do, as reflected by their higher TP3 grade (the one that matters twice as much as every quiz combined).
- TP0: Project proposal
Note: while there are some detailed requirements for design docs
here, we ask that you please keep them very concise. Be thorough,
but be brief.
Your Project Proposal should be submitted as a single zip file containing one or more files:
- Project Proposal Components [15 pts]
Write up a proposal file (in the file proposal.txt, or .docx, or .pdf) which should include the following components:
- Project Description [2.5 pts]: The name of the term project and a short description of what it will be.
- Similar projects [2.5 pts]: A 1-2 paragraph analysis of similar projects you've seen online, and how your project will be similar or different to those.
- Structural Plan [2.5 pts]: A structural plan for how the finalized project will be organized in different functions, files and/or classes.
- Algorithmic Plan [2.5 pts]: A plan for how you will approach the trickiest part of the project.
Be sure to clearly highlight which part(s) of your project
are algorithmically most difficult, and include some details of
how you expect to implement these features.
- Timeline Plan [2.5 pts]: A timeline for when you intend to complete the major features of the project.
- Version Control Plan [1.5 pts]: A short description
and image demonstrating how you are using version control to back up your code. Notes:
- You must back up your code somehow!!!
- Your backups must not be on your computer (ideally, store them in the cloud)
- Module List [1 pts]: A list of all external modules/hardware/technologies you are planning to use in your project. Note that any such modules must be approved by a tech demo. If you are not planning to use any additional modules, that's okay, just say so!
Storyboard [5 pts]
Generate a storyboard that demonstrates how a user would interact with your finished project. A storyboard is just a series of sketches showing (roughly) what your project will look like. Your storyboard should have at least six panels, and at least three of those should demonstrate features within the project. You may scan or take a picture of your storyboard and include it in the directory as the file storyboard.png (other acceptable filetypes include .gif, .jpg, and .pdf). Note you may not use screenshots or images from existing applications or projects. You should create these from scratch. However, you can take inspiration from existing applications when designing your own.
- Include any preliminary code files you have already created at this
stage. Some code at this stage would be helpful, but not necessary.
It may be prototype code, and so perhaps may
not be part of your final project. It also may or may not have
any user interface.
- Your submission MUST be a SINGLE zip file submitted to Canvas. You may submit multiple times, but we will only look at your last submission. This is true for all term project deliverables.
You will not receive any credit if you do not submit a zip file. If your file is larger than 10MB, read here for info on how to submit. Ask for help if you do not understand how to create a zip file after reading this whole document.
- Note: Your TP0 and TP1 collectively count for one quiz grade.
- TP1
The TP1 deliverable consists of two main components: an updated design proposal (the document you submitted in TP0) and preliminary code. You should finish these components before meeting with your mentor, so that you can present them to your mentor in full. You must submit all the required files within a single zip file on Canvas, under the TP1 assignment. If your file is larger than 10MB, read here for info on how to submit.
- Preliminary Code [80 pts]
You should submit code artifacts showing your current work on the project. This does not need to be a working demo; it should just be a real start towards solving the core problems of your project. For most students, 400-600 lines of decent code would indicate a good start, but we do not grade based on the number of lines you submit.
- TP0 Meeting [0 pts]
You should have met with your mentor the previous week to discuss your idea. If you miss this meeting, you will be penalized 25% of
your combined TP0+TP1 grade.
Also, if you missed the meeting, you will need to send a prompt update and/or make up the meeting
as described in the "Required Meetings" section above.
- TP1 Meeting [0 pts]
You'll meet with your mentor to check in and demonstrate what you've accomplished so far. If you miss this meeting, you will be penalized 25%
of your combined TP0+TP1 grade, and you will need to send a prompt update and/or make up the meeting
as described in the "Required Meetings" section above.
- Updated Design Docs [0 pts]
Many students update their design plans due to unforeseen problems or new ideas. You must add a new section to your design proposal (what you submitted in TP0), 'TP1 Update'; in this section, you should list any design changes you have made. If you made no changes, simply say so in this section. You do not need to update your storyboard, but you should keep it in your design directory. If you do not add this update section, you will be penalized 5 points.
- Timesheet [0 pts]
In addition to the main deliverables, you must also submit time data
here. To do this, you should keep track of the time you spend on the project and enter it into the form. If you do not submit the timesheet, you will be penalized 5 points on the deliverable.
- TP2
Your TP2 deliverable consists of two components: a working demo and updated design docs (submitted in TP0 and revised in TP1). You should submit all the files in a single zip file to Canvas, this time under TP2. If your file is larger than 10MB, read here for info on how to submit.
- Working Demo [100 pts]
At this point, you should have a working demo of your project that meets your project's version of MVP (Minimum Viable Project). This generally requires that the core features of the project should almost all be implemented such that they more or less work. The code may be missing features, it may have a less-than-polished user interface, it may have bugs, it may even crash more often than desired, but it has to basically work for some reasonable definition of "work". Once your mentor and other course instructors confirm (in writing/email) that your project has reached MVP status, you are guaranteed to get a Term Project grade of at least a 80% on the code portion of tp3.
- TP2
Email Update Meeting [0 pts]
Your mentor will ask for an email update that You'll meet with your mentor to check in and share what you've accomplished so far. Reminder, as with all TP-related meetings, there are penalties for being late or missing this meeting.
- Updated Design Docs [0 pts]
Your submission should include the design directory from the previous deliverables. The proposal should have a new section, 'TP2 Update', which includes any design modifications made since the previous update (or says that no changes were made if no changes were made). If you do not add this update section, you will be penalized 5 points.
- Timesheet [0 pts]
Fill out another timesheet
here
to include the hours worked in the period between TP1 and TP2. If you do not fill this out, you will be penalized 5 points.
- TP3
TP3 is your final term project deliverable, and should be your completed term project. The main deliverables are the project codebase and source files, a readme file, a demo video, and your updated design docs (submitted and revised in previous deliverable submissions). Place all of your files into a single zip file and submit on Canvas, under TP3. If your file is larger than 10MB, read here for info on how to submit.
Recalling that TP0, TP1, and TP2 count towards a "tp-quiz"
in the quiz category, TP3 will be graded as the main Term Project, and it constitutes the entire 15% "term project" category.
- Project Codebase [90 pts]
The codebase should include all your python files and any other files (images, music files, etc.) required to help your project run. Your project should run robustly, should be algorithmically complex, and should have decent user experience. It may also have a well-designed user interface, depending on the project.
When grading your project code, we also consider effort. The term project should take up the majority of your 15-112 time in the last 2+ weeks of the semester. The class is 12 units, which means 12 hours a week or 30 hours in 2.5 weeks; after subtracting 5 hours (for some additional lectures and other matters), this leaves 25 hours which you should spend on the term project. This means you need to spend at least 10-12 hours a week (naturally, the earlier you start on your term project, the less time per week you'll need to invest). Spending this time and showing real effort and progress in mentor meetings will factor into your score.
- Readme File [5 pts]
You must include a new file, readme.txt, which must include the following components:
- A short description of the project's name and what it does. This may be taken from your design docs.
- How to run the project. For example, which file the user should run in an editor. If your project uses data/source files, also describe how the user should set those up.
- Which libraries you're using that need to be installed, if any. If you can include the library in the submission, that is preferred.
- A list of any shortcut commands that exist. Shortcut commands can be used to demonstrate specific features by skipping forward in a game or loading sample data. They're useful for when you're testing your code too!
- Update: Which fonts you're using that need to be installed, if any. These fonts should be listed by their specific name. This includes any custom fonts or fonts that may not be downloaded on users' files. If you can include the installation file (.ttf or .otf) in the submission, that is preferred.
A competent programmer should be able to run your project after reading the readme file, so make sure to include all necessary files in your submission!
- Project Demo [5 pts]
There are two parts to the project demo: the video demo and the live demo.
- Video Demo [2.5 pts]:
Important Note: since a video that reasonably closely
follows our submission specs is essential for our grading
purposes, we will not grade any project that
does not include a reasonably well-made video. This means
that you will receive a 0 without one.
This should be a 1-3 minute video
(and no more than 5 minutes in any case)
that captures the main idea of the project. It should show the most important and coolest features of the project, with narration to explain how it works. This demo should not provide a full walkthrough of the whole project, and does not need to cover every single feature; think of it as more of a trailer for the project as a whole. Your video demo should be uploaded to YouTube (or some other video hosting service), and your submission on Canvas should include a file called demo-video.txt that contains a link to the uploaded video.
The quality of the video and audio does not need to meet any particular standard (as long as it meets your standards such that you'd be happy to include it in your own portfolio). Feel free to use a video camera or a screen capture program to record.
As for creating the videos, one approach is to use zoom -- create a meeting
just with yourself, share the screen (with sound if you wish), record the meeting, and you're set.
Also, on Macs, Quicktime is a great option.
Another solid choice is Screencastify --
a Chrome plugin that can record the entire screen easily (not just Chrome), integrates directly with Drive and YouTube, and is overall really easy to use.
That said, you can use any video creation software you wish.
Also, note that parts of some demo videos may be selected to appear in the TP Lightning Round video.
- Live Demo [2.5 pts]: In your TP3 meeting, you will need to provide a live demo to your mentor. This demo can be up to 5 minutes long and should cover all the core components of the project, especially anything your mentor might not notice when they test the code themselves. This is your chance to convince your mentor that you deserve a great grade!
- Design and Documentation [0 pts]
Your submission should include the design directory from the previous deliverables. The proposal should have a new section, 'TP3 Update', which includes any design modifications made since the previous update (or says that no changes were made if no changes were made). You may be penalized if this section is not included, and more importantly it may negatively impact your mentor's ability to grade your project, as they may not be aware of new features you've added.
- Timesheet [0 pts]
Fill out one final timesheet
here
to include the hours worked between TP2 and TP3. We will not apply a deduction to your grade if you forget to fill out this timesheet, but we will withhold your TP3 grade until you do so.
- Helpful Guides
Here are some short and helpful guides on some TP topics. Please note that these were created using last semester's slightly different (but very similar graphics framework):
-
TP Guide on Features
-
TP Guide on MVP
-
TP Guide on Game AI
-
TP Guide on Mazes
-
TP Guide on Pathfinding
-
TP Guide on Terrain