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.