Overview

Now that you have a clear vision for your portfolio, it’s time to start building! For this milestone, you will revisit and polish your work from Take-Home Assessments 1, 2, and 3. This is your opportunity to refine your code, improve your design choices, and strengthen your written explanations. By the end of this assignment, you should have three polished portfolio pieces that demonstrate your growth and technical skills throughout the course.

Your task is to revise your code based on feedback you’ve received, make thoughtful design improvements, and articulate the reasoning behind your implementation choices. This milestone will serve as the foundation for your final portfolio submission.

Requirements

The following sections describe the requirements for the Milestone. Your Milestone report will probably be about 4-6 pages long, but it is acceptable for the report to be longer or shorter as long as it sufficiently covers all of the required sections. We will recommend a soft upper limit of 8 pages. Submit your Milestone as a PDF file titled milestone.pdf. (In Microsoft Word, you can choose “Save As” to save your document as a PDF. In LibreOffice, you can choose “Export to” to save your document as a PDF. Do not turn in a Word document or plain text file!)

Report

Submit a roughly 4-6 page report documenting your revised work. You should update any of the previous sections based on feedback from the proposal.

Outline your report with at least the following sections (make sure to label your sections in your report):

  1. Title and author
  2. Portfolio Narrative / Theme Same as Vision Statement, updated according to feedback.
  3. Selected Creative Work For each of your three revised portfolio pieces (THA 1, THA 2, and THA 3), include the following:

    • Brief summary of the assignment. What was the original task? What problem were you solving?
    • Design choices and revisions. Describe the key design decisions you made in your implementation. What approach did you take and why? What changes did you make from your original submission, and what motivated those changes? This should build upon and revise the written components from your original homework submissions.
    • Code quality improvements. Explain how you improved the quality of your code. Did you refactor for readability? Improve efficiency? Add better documentation? Be specific about what you changed and why.
    • Challenges and solutions. What challenges did you encounter while working on this piece, either originally or during revision? How did you overcome them?
    • Connection to portfolio theme. How does this piece fit into your overall portfolio narrative? What skills or concepts does it showcase?

    If you are specifically pursuing the Technical Deep Dive or Narrative Portfolio challenge goals, you will have some slightly different requirements. See the end of this list for details. * [Technical Deep Dive] only: State the research question(s) you want to pursue for your Technical Deep Dive. These questions must be related to the concepts in any of your THA work. Explain how these questions build upon or extend the work you’ve already completed. * [Narrative Portfolio] only: The requirements for this challenge goal are listed separately. See the below section for more details. 4. Challenge Goals Update Same as Vision Staement, updated with any changes made during implementation. If you find that your challenge goals have been scaled back, expanded, or changed since your proposal, explain those changes here, along with your updated plan for meeting the challenge goals. 5. Revision Plan Evaluation Evaluate your proposed work plan. How accurate were your proposed work plan estimates? Why were your estimates close to reality or far from reality? What tasks still need to be completed, and how much time do you estimate you’ll need for them? 9. Testing Describe how you tested your code and why you tested in that way to ensure your results were correct. Note that you are only required to include testing files if the original THA assignment required testing. If testing was not required for an assignment, briefly explain how you verified the correctness of your code (e.g., manual testing, output inspection, etc.). Make sure you tell us why we should trust your results!

Some additional formatting guidelines are as follows:

  • All pages must be numbered. If you choose to include a title page, it must also have the page number (a title page does not count towards the final page count). All other headers and footers are optional.
  • The report must have the title milestone.pdf (exactly as such!) in order to be counted on Gradescope.
  • Do not single-space your report. Font size must be 11 or above. Beyond this, you are free to use whatever font, spacing, and margins you’d like.
  • You may choose to include additional information, questions, or references in an appendix that follows the report. There is no limit to how long your appendix may be, but its contents will neither be assessed for quality nor read in detail.

Narrative Portfolio

If you are pursuing the Narrative Portfolio challenge goal, you will submit a rough draft of your narrative in lieu of the standard report described above. Your narrative must still include all of the required components listed in the Report section, but it should be written in a narrative format rather than a technical report format. Your narrative should:

  • Tell a cohesive story about your learning journey through the three portfolio pieces
  • Include all required content from sections 1-8 above, woven naturally into your narrative
  • Be engaging and accessible to a general technical audience
  • Demonstrate your ability to communicate technical concepts in a compelling way
  • Be roughly 4-6 pages long (with the same soft upper limit of 8 pages)

Submit your narrative as milestone.pdf following the same formatting guidelines as the standard report.

Code

Your code should meet the following requirements.

  • You must submit three separate Python scripts: tha1.py, tha2.py, and tha3.py, corresponding to your revised work from Take-Home Assessments 1, 2, and 3 respectively.
  • Your code must pass flake8 and should follow the CSE 163 Code Quality Guide. Your source code documentation can assume that the reader has already read your report — you do not need to repeat any of those details, but it doesn’t hurt to restate the highlights.
  • If the original THA assignment required testing, you should submit a corresponding testing file (e.g., tha1_test.py). If testing was not originally required, you do not need to submit a testing file, but you should still verify the correctness of your code and explain how you did so in your report.
  • Any demonstrations of code output should use the main-method pattern for their respective Python module (e.g., running code in main for tha2.py).

Submissions and Grading

You will be graded on the quality and thoughtfulness of your responses, so make sure you are giving adequate time to each question.

There will be no resubmissions or late work accepted since this assignment is a project component. Make sure that you are managing your time wisely!

Submit your work on Gradescope by 19 February 2026, 11:59pm PST. Make sure to include your Milestone as a PDF titled milestone.pdf, your three Python modules (tha1.py, tha2.py, tha3.py), and any required testing files!

Submit Milestone