2.5. Mobile Devices and Apps Hardware and Software

This lesson describes the various levels of hardware and software that make up a computer. The various levels are presented as abstraction levels. On the hardware side, using a smartphone as the computer, we introduce the hardware components that make up these levels and describe their various functions. On the software side, this lesson shows that App Inventor is an example of a high-level language, a high-level abstraction whose code needs to be translated into the binary code (0s and 1s) that the computer can understand. This lesson is the first of many that focuses on the big idea of abstraction. It reinforces the enduring understanding that multiple levels of abstraction are used to write programs or create other computational artifacts.

Professional Development

The Student Lesson: Complete the activities for Mobile CSP Unit 2 Lesson 2.5: Mobile Apps and Mobile Devices.


2.5.1. Learning Activities

Estimated Length: 45 minutes

Hook/Motivation (5 minutes):

  • In this course we are going to be using mobile phones and tablets as our computers.
  • Display or write the question "What is a computer?" for the class to see clearly.
  • Using Think-Pair-Share, have the students try to answer this question. Probe their answers by asking questions such as "Is a smartphone a computer? A car? A TV?" You could also have them point out various aspects of computers such as input and output devices, and other specifications they might consider when buying a computer.
  • Keep track of student responses on the board or a flip chart.
  • Rephrase and recap student responses to emphasize essential points and to clarify information shared by students that may not be clear to their peers.
  • Definition: A computer is an electronic device that uses a combination of hardware and software to process information or data.
    Key points student should know by the end of the lesson:
    • Input - computers need data and instructions from somewhere
    • Processing - computers transform input into output
    • Storage - computers store information and data for later use
    • Output - computers display or share the results of of their processing
    • Hardware - physical components in a computer
    • Software - the instructions computers use to transform input into output (often referred to as the "instructions" a computer follows)

Experiences and Explorations (30 minutes):

  • Model: Have parts of a computer to show the students as part of exploration.
  • Videos (15 minutes): View one or more the following videos from GCLearnFree.org with your students. Discuss the major ideas of the video after viewing. Use the old computer/computer parts to support the ideas in the video. (Remember to use closed captioning while watching the videos.)
    • Optional: These videos can also be assigned as homework and then discussed in class.
  • GCFLearnFree.org has a good collection of short, accurate video lessons that introduce these basic concepts, including mobile devices. The following list covers the main topics that should be covered in this lesson:
    • Video: What is a computer? (2:30: An electronic device that manipulates information or data. Computers see data as 1s and 0s but know how to combine them into more complex things -- e.g., pictures, sounds, videos, emails; computer uses hardware and software. Software is the instructions that tell the hardware what to do. Includes mobile phones and servers, which serve information to other computers on a network, to store and share files.)
    • Video: Understanding operating systems (2:11: Discusses Windows, Mac OS, Android, iOS. Computer speaks in 1s and Os. The OS is the program that lets you interact with it. Hardware+OS is a system that determines what it can do.)
    • Video: Understanding applications (2:17: Describes Apps-includes discussion of mobile apps.)
    • Video: Inside a desktop computer (2:00 Describes the main functional components, including motherboard, CPU or Processor, short term memory RAM (random access memory), persistent memory magnetic or solid state drives (persistent data), expansion cards: video card, wireless card to connect to network, power supply unit)
  • Lecture (10-15 minutes): Topic: Mobile Apps and Mobile Devices: A First Look at Software and Hardware (Slides)
    The slide show provides an overview of the major concepts of mobile devices, computer programs and computers. Included in the presentation is an overview of App Inventor as well as images of computer hardware. You may also want to consider having the computer parts available as you review the images with students.
  • Matching Activity (10 minutes): Divide students into pairs. Choose one of the following activities for your class:

Rethink, Reflect and/or Revise (10 minutes):

  • Ask the students to complete the interactive exercises in the Mobile CSP lesson.
  • Briefly review the major ideas of the lesson with students. Provide an "exit slip" that asks students to write down one major idea they learned today along with one question they still have. Collect the slips and use them to review any misconceptions or answer any questions before the next lesson.
  • Exit slip example:
    • Provide one interesting/compelling idea that you learned today.
    • What is one idea or concept that is unclear?
    • What is one way you could practice the vocabulary presented today?

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

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

Assessment Opportunities and Solutions

You can examine students’ work on the matching worksheet, interactive exercises, 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:
    LO 2.2.3: Identify multiple levels of abstractions that are used when writing programs.
  • Portfolio Reflections:
    LO 5.2.1: Explain how programs implement algorithms.
  • In portfolio reflections, look for:
    - Students using the terms from the matching activity in their responses

Differentiation: More Practice

Students who are struggling with the terms can make a set of flashcards to help them practice the vocabulary. If they are struggling with hardware components, offer them some time to explore the physical parts of the computer in more detail.

Differentiation: Enrichment

Students can watch some of the videos under the Still Curious? section and then write a summary on their portfolio reflection page.

Background Knowledge: App Inventor Behind the Scenes

During the course, students will learn (and see) the following: App Inventor is an example of a high-level programming language. When you click 'Connect to Companion' software in the browser and on the App Inventor server translates the blocks into an intermediate language called YAIL which is then downloaded to the phone. On the phone is another piece of software that interprets the YAIL code into Android code. When you package an app, the App Inventor server translates the blocks into Android code (the .apk file). An interpreter on the phone is able to translate Android code into binary code. This binary code is loaded into RAM and then executed instruction by instruction by the CPU.

Background Knowledge: Additional Resources

2.5.2. Professional Development Reflection

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

  • How does this lesson reinforce the enduring understanding that multiple levels of abstraction are used to write programs? 
  • How does this lesson help students identify abstractions used in computing?

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