4.3. LightsOff Projects

This lesson extends the app started in the 'LightsOff Tutorial'. Students work in pairs to complete several small challenges to enhance the app, such as customizing the appearance of the app and changing the speed of the animation as the game progresses. It reinforces the enduring understandings that programming can be used for creative expression and that collaborating (working in pairs) is an effective way to solve problems.

Professional Development

The Student Lesson: Complete the activities for Mobile CSP Unit 4 Lesson 4.3: LightsOff Projects.


  • Presentation system (LCD projector/Interactive whiteboard)
  • Access to computer, laptop, or Chromebook (install the Companion app on Chromebooks)
  • Access to mobile device with the Companion app installed or access to the emulator installed on the computer or laptop. 

4.3.1. Learning Activities

Estimated Length: 45 minutes

  • Hook/Motivation (5 minutes): Using Think-Pair-Share, have the students review and explain how the LightsOff app was created. Discuss some ideas for enhancements, including keeping score. Have the students write out the rules for how the score gets changed in the game. Reinforce the concept of an algorithm for keeping score.
  • Experiences and Explorations (25 minutes): Students work in pairs on enhancements to the app; teacher answers questions. If any of the students finish early, have them begin working on their reflections.
    It's important that students be encouraged to be creative not only in coming up with good ideas for their apps but also in trying to solve their problems that arise during the programming task. Students should be encouraged to discuss their work and ideas with their partner, with other students, and with the teacher, especially for the advanced mini projects. When a program doesn't work as expected, promote the idea that the student must take on the role of a detective and investigate what is causing the problem. This is what is meant by "debugging". It's also important for students to test their work thoroughly — it's often not enough to run the app once and conclude that it is correct
    If you want to evaluate each mini-project separately, remind students to save each mini project using the SAVE AS Command as specified in the Mini Projects.
  • Rethink, Reflect and/or Revise (15 minutes): Students make a new entry in their portfolios. Have the students describe the modifications and enhancements that they made to the app. Also ask the students to reflect on their programming experience.See the mini projects solutions. Discuss what issues the students encountered while modifying the app. Check students understanding using the interactive exercises.

AP Classroom

The College Board's AP Classroom provides a question bank and Topic Questions. You may create a formative assessment quiz in AP Classroom, assign the quiz (a set of questions), and then review the results in class to identify and address any student misunderstandings.The following are suggested topic questions that you could assign once students have completed this lesson.

Suggested Topic Questions:

Assessment Opportunities and Solutions

Solutions Note: Solutions are only available to verified educators who have joined the Teaching Mobile CSP Google group/forum in Unit 1.

Assessment Opportunities

You can examine students’ work on the interactive exercise and their reflection portfolio entries to assess their progress on the following learning objectives. If students are able to do what is listed there, they are ready to move on to the next lesson.

  • Interactive Exercises:
  • Portfolio Reflections:
    LO X.X.X - Students should be able to ...
  • In the XXX App, look for:

Differentiation: More Practice

If students are struggling with lesson concepts, have them review the following resources:

Differentiation: Enrichment

Have students complete the challenging projects listed under the student lesson. Students can make their scoring algorithm more complex by adding different sprites worth different point values.

Teaching Tips: Good Programming Practices

Make sure that students are effectively using procedures and if/else statements in their enhancements, otherwise they should be encouraged to re-write their code.

4.3.2. Professional Development Reflection

Discuss the following questions with other teachers in your professional development program.

  • How does this lesson help students toward the enduring understanding that developers create and innovate using an iterative design process?
  • Is there anything else you would need to have or know to teach this lesson effectively?
  • What specific elements of this lesson (examples, activities, etc.) would you change?

    I am confident I can teach this lesson to my students.
  • 1. Strongly Agree
  • 2. Agree
  • 3. Neutral
  • 4. Disagree
  • 5. Strongly Disagree