Performance Task

Here’s a 10-day calendar and checklist to help students successfully complete their performance task. This calendar outlines the process from initial planning to final testing and submission, encouraging a consistent, structured approach. I’ve also included updates to the requirements and a daily log format for students to document their progress.


10-Day Calendar & Checklist for Performance Task Development

Objective: Develop a program based on your chosen language or block-based coding (e.g., Scratch, Blockly). This could be a game, tool, application, or any project that aligns with the course objectives.


Day 1: Introduction & Planning

  • Tasks:

    • Understand the requirements of the Performance Task.

    • Choose a programming language (e.g., Python, Java, Scratch, etc.).

    • Brainstorm ideas for the project and decide on the type of program (e.g., game, interactive tool).

    • Write a project proposal outlining the purpose of the program, basic features, and expected outcomes.

  • Checklist:

    • Review Performance Task requirements

    • Choose programming language or platform

    • Brainstorm ideas for the project

    • Write project proposal

  • Daily Log:

    • What I did today:

      • (e.g., “Decided on creating a simple calculator program using Python.”)

    • Challenges faced:

      • (e.g., “Struggled with deciding between Python and Scratch.”)

    • What I learned:

      • (e.g., “Learning to define the purpose of the program before coding.”)


Day 2: Design & Conceptualization

  • Tasks:

    • Finalize the program idea.

    • Create a flowchart or wireframe of the program.

    • Define the user interface (UI) and user experience (UX) if applicable.

  • Checklist:

    • Finalize the project idea

    • Create a flowchart/wireframe of the program

    • Define UI/UX elements (if needed)

  • Daily Log:

    • What I did today:

      • (e.g., “Created a flowchart outlining the steps for the calculator.”)

    • Challenges faced:

      • (e.g., “Struggled with visualizing how the UI should look.”)

    • What I learned:

      • (e.g., “Wireframing helps with organizing thoughts before coding.”)


Day 3: Setting Up Development Environment

  • Tasks:

    • Install necessary tools or IDEs for the chosen programming language (e.g., VSCode for Python, Scratch for block coding).

    • Create a new project folder and set up basic files.

  • Checklist:

    • Install necessary tools/IDEs

    • Set up the project environment (create folders, files, etc.)

  • Daily Log:

    • What I did today:

      • (e.g., “Installed VSCode and set up the project folder for Python.”)

    • Challenges faced:

      • (e.g., “Had issues with installing Python libraries.”)

    • What I learned:

      • (e.g., “The importance of having the development environment ready early.”)


Day 4: Writing Initial Code – Basic Setup

  • Tasks:

    • Start coding the basic structure of the program.

    • Focus on implementing core features like user inputs, basic logic, or setting up sprites in block coding.

  • Checklist:

    • Write basic program structure (e.g., loops, conditionals)

    • Implement user input (or basic sprite setup in block coding)

  • Daily Log:

    • What I did today:

      • (e.g., “Started coding the input handling and logic for the calculator.”)

    • Challenges faced:

      • (e.g., “Had trouble managing user input correctly.”)

    • What I learned:

      • (e.g., “Learning to handle inputs and feedback from the user.”)


Day 5: Core Features – Adding Key Functions

  • Tasks:

    • Develop the core functions or algorithms of the program.

    • Test each feature incrementally.

  • Checklist:

    • Develop key features/functions

    • Begin incremental testing (test as you go)

  • Daily Log:

    • What I did today:

      • (e.g., “Implemented addition, subtraction, multiplication, and division functions for the calculator.”)

    • Challenges faced:

      • (e.g., “Wasn’t sure how to handle invalid inputs.”)

    • What I learned:

      • (e.g., “Built a more robust error-handling system.”)


Day 6: Adding Advanced Features / Enhancements

  • Tasks:

    • Add advanced features (e.g., error handling, extra functionality, design improvements).

    • Polish the UI/UX.

  • Checklist:

    • Implement advanced features (e.g., error handling, extra functionality)

    • Improve UI/UX design (if applicable)

  • Daily Log:

    • What I did today:

      • (e.g., “Added error handling and made the UI more user-friendly.”)

    • Challenges faced:

      • (e.g., “Balancing between functional and user-friendly design.”)

    • What I learned:

      • (e.g., “A good design improves usability.”)


Day 7: Testing and Debugging

  • Tasks:

    • Conduct thorough testing of all program features.

    • Identify and fix any bugs or issues that arise.

  • Checklist:

    • Test each feature individually

    • Debug any issues

  • Daily Log:

    • What I did today:

      • (e.g., “Tested the calculator with various inputs and fixed division by zero errors.”)

    • Challenges faced:

      • (e.g., “Found some unexpected issues with input parsing.”)

    • What I learned:

      • (e.g., “Testing helps ensure all edge cases are covered.”)


Day 8: Finalizing Code and Documentation

  • Tasks:

    • Clean up code (remove unnecessary comments, refactor for efficiency).

    • Write documentation (explain how the program works and any special features).

  • Checklist:

    • Refactor code

    • Write documentation (project summary, how to use, etc.)

  • Daily Log:

    • What I did today:

      • (e.g., “Cleaned up my code and wrote a short documentation.”)

    • Challenges faced:

      • (e.g., “Refactoring code took longer than expected.”)

    • What I learned:

      • (e.g., “Clear documentation is essential for others to understand your code.”)


Day 9: User Testing and Feedback

  • Tasks:

    • Ask peers or users to test the program.

    • Gather feedback and make final adjustments.

  • Checklist:

    • Conduct user testing

    • Collect feedback and improve program

  • Daily Log:

    • What I did today:

      • (e.g., “Got feedback from a classmate who suggested improving the error messages.”)

    • Challenges faced:

      • (e.g., “Incorporating user feedback without overcomplicating the program.”)

    • What I learned:

      • (e.g., “User feedback is invaluable for improving the program.”)


Day 10: Final Testing & Submission

  • Tasks:

    • Perform final testing to ensure everything is working as expected.

    • Prepare and submit the project.

  • Checklist:

    • Final test

    • Submit project

  • Daily Log:

    • What I did today:

      • (e.g., “Ran final tests and submitted the project.”)

    • Challenges faced:

      • (e.g., “Making sure everything was properly packaged for submission.”)

    • What I learned:

      • (e.g., “A final round of testing is always crucial.”)


Performance Task Requirements Update:

  • Performance Criteria:

    • The program must have at least three main features.

    • The program must be error-free and user-friendly.

    • The program should include user interaction (e.g., input, buttons).

    • The code should be well-commented and organized.

    • Students are encouraged to use advanced programming techniques where possible.

  • Documentation:

    • A brief report explaining the project, the development process, and challenges faced must be submitted alongside the code.


This calendar provides structure while allowing for creativity and problem-solving. It encourages students to log their daily development process, which helps them reflect on their progress and identify areas for improvement.