5.5. Quiz App

This lesson focuses on storing data in parallel lists, where the data at each index is related. Students create a basic quiz app with lists of pictures, questions, and answers. The programming portion of the app emphasizes iterating over a list, where the user controls moving to the next item in the list, including how to handle reaching the end of the list. This lesson reinforces the enduring understanding that data is processed to gain insight and knowledge.

CSP Framework
Big Idea 2: Data (DAT)
Enduring Understanding DAT-2: Programs can be used to process data, which allows users to discover information and create new knowledge.
Learning Objective DAT-2.E: Explain how programs can be used to gain insight and knowledge from data.
Big Idea 3: Algorithms and Programming (AAP)
Enduring Understanding AAP-2: The way statements are sequenced and combined in a program determines the computed result. Programs incorporate iteration and selection constructs to represent repetition and make decisions to handle varied input values.
Learning Objective AAP-2.D: Evaluate expressions that manipulate strings.
Learning Objective AAP-2.N.a: For list operations: a. Write expressions that use list indexing and list procedures.
Learning Objective AAP-2.N.b: For list operations: b. Evaluate expressions that use list indexing and list procedures.

Professional Development

Complete the activities for Mobile CSP Unit 5: Lesson 5.5 Quiz App.

Materials

  • 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. 
  • Quiz App Tutorial (video or handout)

5.5.1. Learning Activities

Estimated Length: 45 minutes

  • Hook/Motivation (5 minutes): Fold your paper to create two columns. In column one, write down 3 test questions that you can think of to test your knowledge of App Inventor. In the right column, identify the corresponding answers to those questions. Number your questions 1, 2, 3 and number their corresponding answers 1, 2, 3. Pair up with the person on your right. I will ask everyone to hide their answer column and ask the person on the right Question number 2 and see if they answered correctly. Now have the students switch roles. Have three teams combine their questions and answers and renumber their questions accordingly. Place name on paper and submit to teacher for credit.
    Explanation: Describe the student learning goals for today’s lesson. Refer to the Learning Objectives and have students take note that in today’s lesson the use of Lists will be heavily emphasized. Have them notice how they looked up the answer to the questions they just created. Ask students for ideas on how the quiz activity can be made into an app.
  • Experiences and Explorations (35 minutes): Have the students complete the Quiz tutorial on their own. Initially lead the students through the design of the app allow faster students to follow the tutorial on their own. Identify new variables that can hold more than one value, a List.
    Have students work in pairs on the enhancements. Here are the solutions to the enhancements (also available in Unit 10 for students).
  • Rethink, Reflect and/or Revise (5 minutes): Whole class discussion on how the three lists in the Quiz app are connected. Have students complete a reflection in their portfolio (this may be assigned as homework). Have students try the interactive exercises, either individually or as a class.
    Other Questions to Raise in Discussion: How is information retrieved from large sets of data? Given a list of the number of people who got sick with the flu during the past year, how could you build a subset of the list to determine how many people from the flu list were from your town? What other types of information may you find in this large set of data that may be of interest?

5.5.2. Professional Development Reflection

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

  • How do lists and list operations in this app exemplify the concept of data abstraction in programming? 
    I am confident I can teach this lesson to my students.
  • 1. Strongly Agree
  • 2. Agree
  • 3. Neutral
  • 4. Disagree
  • 5. Strongly Disagree