> For the complete documentation index, see [llms.txt](https://cs4all-icm.gitbook.io/high-school-capstone-computer-science/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cs4all-icm.gitbook.io/high-school-capstone-computer-science/curriculum-map/optional-midterm-project-remix.md).

# Optional Midterm: Project Remix

How can I remix a previous project for continuous improvement?

## Timeline

1 Week

## NYS Computing Standards

Due to the open-ended nature of projects in this course, they have the chance to cover all of the NYS Computational Thinking Standards. This project may especially highlight:

* **9-12.CT.9** Systematically test and refine programs using a range of test cases, based on anticipating common errors and user behavior

## Project Focus Narrative

This midterm is optional but encouraged if time allows in the school year. For this project, students will take a project - either one of the past 3 from this year or a project from previous years - and remix it to improve or add at least 3 key elements. Improvements should be noticeable to overall user experience (not simply ‘I changed the text color from blue to black’) and/or functionality of the program.&#x20;

Students should be able to provide a clear rational for the improvements or additions. Additionally, emphasis should be placed on projects never truly being done - there is room for improvement in everything they will ever create, even if that improvement does not come for several years while their skills (or available technology) catch up.

## Texts/Resources

\[TBD]

## Showcase Skills

* **Iterative Development**: Demonstrating the ability to revisit and improve upon previous projects through iterative development cycles.
* **Critical Analysis**: Analyzing the strengths and weaknesses of previous projects to identify areas for improvement and enhancement.
* **Problem Solving:** Addressing user feedback and implementing solutions to enhance the overall user experience and functionality of the project.
* **Version Control**: Utilizing version control tools such as Git and Github to manage project revisions and track changes during the remix process.
* **Documentation**: Providing clear documentation of the original project and the rationale behind the chosen improvements or additions.
* **Adaptability**: Adapting existing code and design elements to incorporate new features or enhancements while maintaining project coherence and integrity.
* **Self-Reflection**: Reflecting on personal growth and skill development by identifying areas for improvement and setting goals for future projects.

## Project Requirements

* **Project Selection**: Choose a previous project from the current year or from previous years to remix and improve upon.
* **Clear Rationale**: Provide a clear rationale for the chosen improvements or additions, explaining how they enhance the overall user experience or functionality of the project.
* **Significant Changes:** Make at least three significant improvements or additions to the original project that noticeably enhance its usability, functionality, or aesthetic appeal.
* **User Feedback Integration**: Consider incorporating user feedback or observations from the original project to inform the remix process and prioritize improvements.
* **Technical Challenges**: Address technical challenges or limitations encountered during the remix process, demonstrating problem-solving skills and adaptability in overcoming obstacles.
* **Version Control**: Utilize version control practices to manage project revisions and track changes throughout the remix process, maintaining a clear history of modifications.
* **Quality Assurance**: Conduct thorough testing and debugging to ensure the stability, functionality, and usability of the remixed project across different environments and user scenarios.
* **Documentation and Reflection**: Document the remix process, including the rationale behind each improvement or addition, challenges faced, and lessons learned. Reflect on personal growth and skill development throughout the project remixing experience.

## Check-Ins and Deliverables

\[TBD]
