Lesson 15: End of Course Project
225 minutes
Overview
This project lesson takes students through the process of designing, developing, and showcasing new projects!
Purpose
Students may be ready to jump straight into building their projects, but this lesson will help shape their ideas into plans. This structure will keep the dreamers grounded and illuminate a path for those feeling left in the dark. Provide students with ample time to build and revise their projects. The trial and error inevitably involved in this lesson will teach problem solving and persistence.
Standards
AP - Algorithms & Programming
- 1B-AP-08 - Compare and refine multiple algorithms for the same task and determine which is the most appropriate.
- 1B-AP-09 - Create programs that use variables to store and modify data.
- 1B-AP-10 - Create programs that include sequences, events, loops, and conditionals.
- 1B-AP-11 - Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.
- 1B-AP-12 - Modify, remix or incorporate portions of an existing program into one's own work, to develop something new or add more advanced features.
- 1B-AP-13 - Use an iterative process to plan the development of a program by including others' perspectives and considering user preferences.
- 1B-AP-14 - Observe intellectual property rights and give appropriate attribution when creating or remixing programs.
- 1B-AP-15 - Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended.
- 1B-AP-16 - Take on varying roles, with teacher guidance, when collaborating with peers during the design, implementation and review stages of program development.
- 1B-AP-17 - Describe choices made during program development using code comments, presentations, and demonstrations.
Agenda
Objectives
Students will be able to:
- Articulate the design process and how it helped shape the finished culminating project.
- Be able to explain how system limitations can affect project design.
- Describe how compromise can help keep a project on track and inspire creativity.
- Draft and implement plans to resolve any issues in their code.
- Learn to plan in advance for an ongoing assignment.
Preparation
- Spend time making your own project with both the Artist and Sprite Lab. Familiarize yourself with the capabilities and limitations of each tool.
- Modify the rubric to fit your class goals and print out a copy for each student.
- Modify the project design worksheet to fit your class and print one packet for each student.
Links
Heads Up! Please make a copy of any documents you plan to share with students.
For the teachers
- CS Fundamentals Final Project - Rubric
- CSF - Course F - Slides 2022-2023 - Slides (Download)
For the students
- End of Course Project Guide - Activity Guide
Vocabulary
- Define - Figure out the details of the problems that you are trying to solve
- Prepare - Research, plan, and acquire materials for the activity you are about to do
- Reflect - Carefully think back on something with the intention of improving the outcome in the future
- Try - Attempt to do something
Teaching Guide
Day 1 - Explore Project Ideas (45 minutes)
Explore
Display: Show “Reflect” slide
Reflect: Today, you'll start the final lesson of the unit, in which you will design and code your own project.
- Before you start, what was your favorite lesson we have done so far?
- What skills did you need in order to be successful?
Vocabulary
Display: Show “Vocabulary” slide
- Define - Figure out the details of the problems that you are trying to solve.
- Prepare - Research, plan, and acquire materials for the activity you are about to do.
- Reflect - Carefully think back on something with the intention of improving the outcome in the future.
- Try - Attempt to do something.
Display: Show “End of Course Project” slide
Goal: This part of the process is an exploration. Students will sit down with a stage full of example projects to remix and learn. Not only will this give students an idea of what is possible, it will also help them see the limitations of the tool.
Display: Show “Day 1 - Explore” slide
Give students a day to play with and remix the projects found on Code Studio. Have them use their journals (or notebook paper) to keep track of thoughts and ideas as they go.
This activity should be done in the same pairs/groups that will be working on projects together over the next several lessons.
Make sure your class understands that they will be spending the next several weeks working with projects of their own, so they should pay close attention to how these programs were written, as well as the concepts that they use.
Display: Show “Level 1 - Example Projects” slide
Day 2 - The Design Process (45 minutes)
Define and Prepare
Display: Show “Day 2: Define and Prepare” slide
Goal: Students will come up with a project and plan their strategy for programming that project in a single day. Students should have a project sketch and a description by the time the day is done.
Preparing Students for the Process:
Display: Show “End of Course Project Rubric” slide
The most important responsibility you have in kicking off this segment is to help your class understand the scope of this project. Students should be clear about the various expectations over the coming weeks so that they can prepare for their review and presentations appropriately.
To help your class manage this multi-stage undertaking, they should be given both the *Final Project Design Worksheet and the *Final Project Rubric on the first day of planning. Students will then be able to follow the rubric each step of the way to predict what their project grade will be in the end.
The Final Project Design Worksheet will provide a place for students to capture relevant thoughts and processes as they go, so they are more prepared for their reviews and presentations in the end.
As the teacher, you should download a copy of the documents and decide which elements are important to you. Be sure to edit or remove anything that you do not intend to draw student focus.
Save 5 minutes or so at the end of the day to have students trade Final Project Design Worksheets to look at each other’s work. This will help make sure that nothing is omitted or overlooked.
Handout - Define and Prepare:
Display: Show “Handout: Define and Prepare” slide
Now that the class has their *Final Project Guide in hand, they should start filling out the questions under the Define and Prepare section.
Students will likely need to refer back to their notes from playing with the example projects, especially if they don’t have access to online Artist or Play Lab project levels while they plan.
Students should focus on defining and planning their project during Day 1, and not cross over into building until their ideas have been written up and/or drawn out.
If students get stuck, help them work through ideas by asking questions and recalling examples, rather than offering solutions.
Day 3 - Build Your Project (45 minutes)
Try
Display: Show “Day 3: Try” slide
Goal: Students will use this day to build an initial version of their project.
Equipped with their *Final Project Design Worksheet, students should head to the computers to start bringing their projects to life.
This process will come complete with plenty of trial and error. Projects are likely to become truncated versions of the original scope (if not morphed altogether). Remind students that this kind of compromise is common in software design, but they need to be sure to document the reasons for the changes in their product.
Display: Show “Handout: Try” slide
Remind the class forget to fill out the Try section of their *Final Project Guide as they go. It might be helpful to suggest that pairs/groups take a worksheet break to begin discussing these questions about halfway through their lab time. Alternatively, the navigator can keep their eyes open for pertinent answers while the driver codes.
Be sure that each team member has their own *Final Project Design Worksheet, as there are questions about each student’s own individual thoughts and behaviors that need to get captured along the way.
As students code their projects, encourage them to use their debugging skills. Remind them that debugging is an essential part of the programming process. You can even create a Bug Hall of Fame for students to post their successful attempts at debugging their own code or their classmates' code.
Day 4 - Feedback and Edits (45 minutes)
Feedback and Edits
Display: Show “Day 4: Feedback and Edits” slide
Introduction (5 minutes)
Do This: Explain to students that they will try out their classmates' projects and give them feedback. Then students will review the feedback they have received and use it to revise their own projects.
Goal: Students will work with another group to give and receive feedback in an effort to make each other’s projects stronger.
Feedback (25 minutes)
For feedback, have each group pair up with another group to try each other’s projects for about 10 minutes. Then have the groups discuss the questions in the *Final Project Design Worksheet.
Encourage students to ask the questions on the *Final Project Design Worksheet and write down feedback provided by their reviewing teams so that they can refer back to it later. This portion should take approximately 15 more minutes.
Teachers should avoid assigning the final bit of project work as homework unless they are certain that students both live within a close proximity to one another and have internet access at home.
Edits (15 minutes)
With their new reflections in hand, students can head back to their machines to make a handful of edits. With just 15 minutes left, they will likely have to select only the most important feedback to incorporate.
Day 5 & 6 - Present Your Project (45 minutes)
Presentations - Day 5
Display: Show “Day 5 & 6: Present and Reflect” slide
Goal: Students will create and present their projects in an approved manner (written, oral, or using multimedia).
If you are looking for a section of this series to assign as homework, this is it! Projects do not have to be presented in electronic form, so this is a great offline option.
Create
Ideally, you will have class time available to give students to work on their presentations. This will allow them to incorporate rich multimedia components, like Google Slides.
Encourage students to include all of the information from Section J of the Final Project Design Worksheet into their presentation, as well as two or more questions from Section K.
Present
Students should showcase their apps first, then they can discuss the questions that they covered in their presentations.
It can be very helpful to have students sign up for a specific order in which to give their presentations, so that they are able to enjoy the demonstrations of their classmates without worrying about whether they will be called on next.
Presentations - Day 6
Students will continue to present their projects in an approved manner (written, oral, or using multimedia).
At the end of presentations, make time to celebrate students' hard work! You might choose to print out certificates of completion for students or host an awards ceremony. If you choose to present awards to your students, focus on their skills and contributions as a classmate rather than on the complexity of their final project. For example, consider awards such as Most Improved Coder, Most Persistent Debugger, and Best Teammate.
Reflect
Display: Show “Reflect” slide
Reflect:
- What did you learn in creating this project?
- What was the most challenging part about this experience? How did you overcome that challenge?
Students will reflect on their work by completing the final Reflect section of their *Final Project Guide packets.
Extended Learning
Extension Lessons with the micro:bit
To build on the skills you learned in CS Fundamentals Course F, click here to check out Extension Lessons with the micro:bit. These 4 micro:bit lessons cover the following topics: Meet your micro:bit, Variables, Data, Events, Simulation, Loops, and Conditionals.
This work is available under a Creative Commons License (CC BY-NC-SA 4.0).
If you are interested in licensing Code.org materials for commercial purposes contact us.