Before you keep reading...
Runestone Academy can only continue if we get support from individuals like you. As a student you are well aware of the high cost of textbooks. Our mission is to provide great books to you for free, but we ask that you consider a $10 donation, more if you can or less if $10 is a burden.
Before you keep reading...
Making great stuff takes time and $$. If you appreciate the book you are reading now and want to keep quality materials free for other students please consider a donation to Runestone Academy. We ask that you consider a $10 donation, but if you can give more thats great, if $10 is too much for your budget we would be happy with whatever you can afford as a show of support.
3.4. Paint Pot Projects¶
This lesson extends the app started in the 'Paint Pot Tutorial'. Students work in pairs to complete several challenges to enhance the app, such as adding a 4th button and changing the size of the dots, and using the Camera component to replace the Canvas's background image. 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. Among other things, it reinforces the enduring understandings that the correct use iterative design and selection are important parts of computer programming.
The Student Lesson: Complete the activities for Mobile CSP Unit 3 Lesson 3.4: Paint Pot 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.
- Paint Pot Projects handout
3.4.1. Learning Activities¶
Estimated Length: 90 minutes
- Hook/Motivation (5 Minutes): Have the students review and explain how the Paint Pot app was created. Discuss some ideas for enhancements. See hints and suggestions for Paint Pot Projects.
- Experiences and Explorations (30 minutes): Students work in pairs on enhancements to Paint Pot; 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. 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.
- Rethink, Reflect and/or Revise (10 minutes): In their portfolios, have the students answer the portfolio reflection questions found in the Mobile CSP lesson. Ask students about what issues they encountered while modifying the Paint Pot app? What was helpful in resolving those issues?
- Optional - Presentations (45 minutes): On a second day, have students finish their enhancements and then share them in mini presentations.
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:
- Topic 3.5 Boolean Expressions
- Create PT Formative Topic 3.b (Rows 2 & 3) – 3 Manage Complexity with Vars
- Create PT Formative Topic 3.c (Row 5) – 4 Selection
- Create PT Formative Topic 3.d (Row 6) – 2 Testing Selection
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.
You can examine students’ work on the interactive exercises (by using the Mobile CSP Teacher Dashboard) and their portfolio reflection entries to assess their progress on the learning objectives. If students are able to do what is listed there, they are ready to move on to the next lesson.
- Interactive Exercises:
- Students should be able to initialize and increment a global variable on their own.
- Students should be able to read and write program code that contains conditionals and nested if/else statements.
- Portfolio Reflections:
- Students should be able to code a selection statement in their program and accurately explain how the code segment was created as well as describe its output.
- Students should be able to understand how global variables work to store program data and begin to consider the hardware necessary to have pictures persist in their apps.
- In the Paint Pot App enhancements, look for:
- Correct use of variables
- Correct use of nested if/else statements and conditionals.
Differentiation: More Practice
Students should try to complete the projects without using the Solutions videos. If they get stuck, encourage them to work with their partner, a neighboring pair, etc. and then to look at the solution videos last.
- The current app uses buttons to increment and decrement the dot size. Students can explore using other UI components such as a slider to change the dot size.
- Add the ability for the user to change the width of the line drawn during the Dragged event.
- Allow the user to create their own colors using text boxes to set the red, green, and blue values (0 to 255) and the make color block. Read the AI2 documentation on colors to learn about creating custom colors.
Teaching Tips: Program Correctness
Have students exchange apps and test each others in addition to their own. Students will gain insights on how others use their apps and what may need to be improved in the user interface or in the blocks so that it works for all users. Encourage them to start thinking about all possible ways a user might interact with the app - not just the way they expect them to interact.
Have the students create some test cases for the app. For each test case have the students list the initial condition and/or actions along with the expected result. See the sample test cases given in the lesson for a start.
3.4.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 programs can be used for creative expression
[EU CRD-2]and that working in pairs is an effective way to solve programs[EU AAP-2]?
I am confident I can teach this lesson to my students.
- 1. Strongly Agree
- 2. Agree
- 3. Neutral
- 4. Disagree
- 5. Strongly Disagree