< Nevada Standards Aligned: Beta - CSF Course F

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.

CSTA K-12 Computer Science Standards (2017)
    • 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
For the students

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.

Teaching Tip

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.

Teaching Tip

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.

Teaching Tip

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).

Teaching Tip

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).

Teaching Tip

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

If your students are already comfortable with coding concepts, try having them create their projects in another platform, like Scratch or Alice.

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.

Creative Commons License (CC BY-NC-SA 4.0).

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.