2.5. Mobile Devices and Apps Hardware and Software¶
Time Estimate: 45 minutes
2.5.1. Introduction and Goals¶
This lesson focuses on the basic hardware and software that work together to enable our mobile devices to run the amazing apps that we'll be building. As beginning programmers, it's important that we understand how the programs we write are interpreted and processed by the computer.
- explain how data can be supported using bits
- explain how computing devices work together in a network
- describe the relationship between data and bits using target vocabulary, supporting details and examples
- describe the functionality of hardware and software components using target vocabulary, supporting details and examples
- use target vocabulary, such as bits, bytes, binary code, computing device, while describing how data is represented and how hardware and software works together, out loud and in writing, with the support of vocabulary notes from this lesson
2.5.2. Learning Activities¶
What is a Computer?
A computing device is an electronic device for storing and processing data by following instructions given to it in a program. Mobile devices – smart phones and tablets – are general purpose computers. Like desktop and laptop computers, these general purpose computers can run different programs or apps. This contrasts with special purpose computers which can run only a single set program. Examples of special purpose computers include a simple non-programmable calculator, a microwave oven, a smart thermostat, and a car's anti-lock braking system.
Binary Code
As you will learn in this lesson, computers understand binary code or machine language. Binary code consists of 0s and 1s. One binary digit is called a bit. A group of eight bits is referred to as a byte. One byte of memory takes about the same amount of memory as a character, such as the letter 't'. You will learn more about binary in future lessons, including how to convert binary numbers into decimal numbers and how to convert binary numbers into colors or characters.
Mobile Apps and Devices
Activity
Working in pairs, complete the following interactive worksheet to match some of the vocabulary to a picture of a computer system or this computer terms matching worksheet.
2.5.3. Summary¶
In this lesson, you learned how to:
2.5.4. Still Curious?¶
Here's a cool video made by two Googlers that takes apart a Nexus 5 phone and explains what all the parts are.
Here are some additional resources you might want to look at to learn more about how computer's work:
- Computer basics videos and lessons from GCFLearnFree.org on
- What is a computer?
- Understanding operating systems
- What is the cloud?
- and other topics...
2.5.5. Self-Check¶
Vocabulary
Here is a table of the technical terms we've introduced in this lesson. Hover over the terms to review the definitions.
byte
chip compilation computer CPU general purpose computer hardware high level language |
interpretation
machine language motherboard program RAM software special purpose computer |
Check Your Understanding
Complete the following self-check exercises.
- Memory chip
- Let me add new information to help you solve this. A memory chip is a piece of hardware that contains electronic circuits that store information.
- WIndows Operating System
- That's correct. An operating system is an example of software, not hardware.
- Motherboard
- Let me add new information to help you solve this. A computer's motherboard is a device that contains all of the computer's main hardware components, such as its main memory (RAM) and its central processing unit (CPU).
- Integrated circuit
- Let me add new information to help you solve this. An integrated circuit is a hardware device that contains many millions of electronic elements such as transistors and gates. ICs are used for storing and processing information.
Q-2: Which of the following is not an example of hardware?
- Microsoft Excel
- This is challenging, but rewarding! Excel is an example of spreadsheet software application.
- Angry Birds
- This is challenging, but rewarding! Angry Birds is a mobile app. Applications are examples of software.
- Firefox
- This is challenging, but rewarding! Firefox is an web browser, which is an example of a software application.
- A Printer
- That's correct. A printer is an output device, a piece of hardware.
Q-3: Which of the following is not an example of software?
- CPU
- The CPU (Central Processing Unit) interprets and carries out the computer's machine language instructions.
- Main memory
- Also called RAM (Random Access Memory), stores instructions and data for a program while the program is running.
- Integrated circuit
- An IC (Integrated circuit), also called a chip, contains millions of pre-printed circuits, diodes, and other electronic devices.
- Flash drive
- A Flash drive is an example of a long-term storage device, one capable of storing Gigabytes worth of information.
Q-4: Which of the following are examples hardware?
- To carry out, or process, the instructions in a computer program.
- That's correct. Of course, the instructions that the CPU carries out are written in the computer's low-level machine language.
- To convert electrical power from alternating to direct current.
- Let me add new information to help you solve this; that function is carried out by the computer's power supply module.
- To serve as the interface between the user and the computer.
- Let me add new information to help you solve this; the user interface is part of the computer's software.
- To store the data used by the computer's software.
- Let me add new information to help you solve this; data storage is performed by the computer's main memory.
Q-5: Which of the following best describes the primary function of the CPU?
- low-level languages are easier for humans to understand
- OK, so you didn’t get it right this time. Let’s look at this as an opportunity to learn. Try reviewing this information. High-level languages are easier for humans to understand.
- high-level languages provide abstractions that closely match the machine's architecture.
- OK, so you didn’t get it right this time. Let’s look at this as an opportunity to learn. Try reviewing this information. This statement would be true of low-level machine languages. High level languages are designed to make it easy of humans to program the computer.
- high-level languages must be translated by software programs into low-level machine languages before then can be run on a computer
- Correct. For example, the blocks in our App Inventor apps have to be translated into machine language statements that can be understood by the CPU.
- low-level languages cannot be understood by computers.
- OK, so you didn’t get it right this time. Let’s look at this as an opportunity to learn. Try reviewing this information. Computers can only understand their own low-level machine language. Each type of CPU, such as Intel or Motorola, has its own machine language.
Q-6: The main difference between low-level and high-level programming languages is ______.
- It stores data.
- It is called RAM, short for random access memory.
- Any data stored in main memory disappears when the computer loses power.
- It is the same as long-term memory.
- Mistakes are welcome here! Try reviewing this. Main memory is said to be volatile -- its contents are destroyed when the computer's power is turned off. So main memory is not long-term. An example of long-term memory would be the computer's disk drive.
Q-7: Which of the following are true statements about a computer’s main memory?
- True
- OK, so you didn’t get it right this time. Let’s look at this as an opportunity to learn. Try reviewing this information. This is actually the opposite case -- the computer's operating system software is sending information to a piece of hardware, the printer.
- False
- That's right! This is an example of a computer's software sending information to the computer's hardware (the printer). In this case, low level operating system software, such as device drivers and game controllers, manage the interface between the operating system and the corresponding hardware.
Q-8: True or False: When printing a document the printer driver sends the document to the CPU which in turn sends the document to the printer to be printed. This is an example of the computer’s hardware sending information to the computer’s software.
2.5.6. Reflection: For Your Portfolio¶
Answer the following portfolio reflection questions as directed by your instructor. Questions are also available in this Google Doc where you may use File/Make a Copy to make your own editable copy.