SlideShare a Scribd company logo
1 of 48
Mobile Apps and Mobile Devices:
A First Look at Software and
Hardware
Acknowledgment and Disclaimer: This presentation is supported in part by the National Science
Foundation under Grants 1240841, 1225680, 1225719, 1225745, 1225976, and 1226216. Any opinions,
findings, and conclusions or recommendations expressed in these materials are those of the authors and
do not necessarily reflect the views of the National Science Foundation.
Hardware
Hardware -- the computer’s electronic and mechanical
components.
Laptop
Desktop
Flash drive
Smart phone
Memory Chip
Disk drive
Software
Software -- the computer programs or code that
controls the hardware.
Scheme
App Inventor
Java
Python
C
General Purpose Computers
A general purpose computer is a computer that can run
any program (app) we give it.
Special Purpose Computers
Special purpose computers have fixed
programs that can’t be changed.
Watch program
Microwave controller program Calculator program
Antilock Braking System
Computer Programmer
A programmer or coder is someone who designs and
writes software.
That will be you, in a few weeks!
You
Hardware
Main Hardware Components
Main Hardware Components
Random Access Memory (RAM)
stores the computer’s programs
and data temporarily while the
power is on.
Main Hardware Components
Random Access Memory (RAM)
stores the computer’s programs
and data temporarily while the
power is on.
Central Processing Unit
(CPU) processes the
program’s instructions and
performs arithmetic and
logic operations.
Main Hardware Components
Random Access Memory (RAM)
stores the computer’s programs
and data temporarily while the
power is on.
Central Processing Unit
(CPU) processes the
program’s instructions and
performs arithmetic and
logic operations.
Storage devices (disk drives, flash
drives, CDs) store data
permanently even when the power
is off.
Main Hardware Components
Random Access Memory (RAM)
stores the computer’s programs
and data temporarily while the
power is on.
Central Processing Unit
(CPU) processes the
program’s instructions and
performs arithmetic and
logic operations.
I/O. Input devices
(touchscreen, mic)
transfer information into
the computer’s memory.
Output devices
(touchscreen, speaker)
transfer information out
of the memory.
Storage devices (disk drives, flash
drives, CDs) store data
permanently even when the power
is off.
Motherboard and Chips
The motherboard is a pre-
printed circuit board that houses
all of the computer’s main
electronic components.
Sony Playstation Motherboard
Motherboard and Chips
The motherboard is a pre-
printed circuit board that houses
all of the computer’s main
electronic components.
A computer chip is another term for an
integrated circuit (IC), a component that
contains millions of electronic circuits.
This chip is this computer’s CPU.
Sony Playstation Motherboard
Motherboard and Chips
The motherboard is a pre-
printed circuit board that houses
all of the computer’s main
electronic components.
A computer chip is another term for an
integrated circuit (IC), a component that
contains millions of electronic circuits.
This chip is this computer’s CPU.
Memory chips.
This computer’s
Random Access
Memory (RAM).
I/O Connectors.
I/O devices can be
connected here.
Sony Playstation
Chip: Integrated Circuit
Millions of electronic
components (diodes,
switches, gates, circuits)
can be printed on a single
chip.
Nexus 4 Motherboard Back
2 Gb Samsung RAM memory chip
Snapdragon 1.4 GHz CPU underneath
Src: http://www.ifixit.com/Teardown/Nexus+4+Teardown/11781/3
2 Gigabytes is
enough memory to
store around 8000
books or 700 digital
photographs!
Nexus 4 Motherboard Back
2 Gb Samsung RAM memory chip
Snapdragon 1.4 GHz CPU underneath
Src: http://www.ifixit.com/Teardown/Nexus+4+Teardown/11781/3
•Qualcomm audio codec
Qualcomm modem
Nexus 4 Motherboard Front
• 8 Gb Flash drive – permanent storage
• Qualcomm 4 Gb LTE phone chip
• Accelerometer sensor
• HDMI Output converter
• Wifi/Bluetooth module
Src: http://www.ifixit.com/Teardown/Nexus+4+Teardown/11781/3
8 Gigabytes! That’s
enough storage for
2000 4-Megabyte audio
files.
Software
Software: Computer Programs
A computer program is a set of instructions that
controls the computer.
App Inventor Program Java Program
Software Interfaces
Software serves as an interface between
us and our computers.
App Inventor App
Software
Human/Computer
interface
Smart Phone
Hardware
Layers of Interfaces
Application Layer – I Have a Dream App
Hardware Layer – Nexus (Camera, touchscreen)
Operating System Layer – Android
Layers of Interfaces
Camera controller
software
Application Layer – I Have a Dream App
Hardware Layer – Nexus (Camera, touchscreen)
Touch screen controller
software
OS/application interface
Hardware/software
interfaces
App Loader
software
Operating System Layer – iOS
Layers of Interfaces
Camera controller
software
Application Layer – Angry Birds
Hardware Layer – iPhone (Camera, touchscreen)
Touch screen controller
software
OS/application interface
Hardware/software
interfaces
App Loader
software
Machine language – machine readable
00101100 1011011000111100
00110011 1110100011100010
00111001 1010100001100001
Machine Language
Machine language – machine readable
00101100 1011011000111100
00110011 1110100011100010
00111001 1010100001100001
Computers only understand their own machine language.
Machine Language
Machine language – machine readable
00101100 1011011000111100
00110011 1110100011100010
00111001 1010100001100001
Computers only understand their own machine language.
Machine Language
High- and Low-level Languages
High-level language - human readable
c = a + b;
High- and Low-level Languages
High-level language - human readable
c = a + b;
Machine language – machine readable
00101100 1011011000111100
00110011 1110100011100010
00111001 1010100001100001
High- and Low-level Languages
High-level language - human readable
c = a + b;
Machine language – machine readable
00101100 1011011000111100
00110011 1110100011100010
00111001 1010100001100001
Translator software translates high level
source code to low level binary code.
Language Abstractions
App Inventor code -- a human-readable abstraction
Language Abstractions
App Inventor code -- a human-readable abstraction
Binary code -- a machine-readable abstraction.
00111001 1010100001100001
Translation software
Language Abstractions
App Inventor code -- a human-readable abstraction
Binary code -- a machine-readable abstraction.
00111001 1010100001100001
Translation software
Binary Instruction Interpreter
CPU
Running An App
App Inventor : Translation
001010100100
110101001000
Translate
App Inventor : Translation
001010100100
110101001000
Translation
“Connect to
Companion”
“Package”
App Inventor : Connect to Companion
“Connect to
Companion”
001010100100
110101001000
App Inventor : Connect to Companion
Companion App
Interpreter
“Connect to
Companion”
001010100100
110101001000
App Inventor : Connect to Companion
Companion App
Interpreter
“Connect to
Companion”
001010100100
110101001000
Android
OS
App Inventor : Connect to Companion
Companion App
Interpreter
Android
OS
“Connect to
Companion”
001010100100
110101001000
Reinterpret
blocks
whenever
something
changes.
App Inventor : Connect to Companion
Companion App
Interpreter
Android
OS
“Connect to
Companion”
001010100100
110101001000
Reinterpret
blocks
whenever
something
changes.
Interpretation
The process of translating source code into
machine language one instruction at a time
and immediately executing instruction.
App Inventor : Connect to Companion
“Package”
001010100100
110101001000
App Inventor : Package the App
Android
OS
“Package”
001010100100
110101001000
IHaveADream.apk
(Android machine code)
00101010010011010100
10000101010100101001
App Inventor : Package the App
Barcode
Scanner
Android
OS
“Package”
001010100100
110101001000
IHaveADream.apk
(Android machine code)
00101010010011010100
10000101010100101001
Compilation
The process of translating the entire source
code into a single binary file.
Compilation vs. Interpretation
Compilation - The process of
translating the entire source code
into a single binary file.
Interpretation - The process of
translating source code into
machine language one instruction
at a time and immediately
executing instruction.
More efficient
Easier to debug
Whew!
That was a lot of new concepts.
Technical Term Definition or description
Computer The computer’s electronic and mechanical components
Program A computer that has a fixed program (e.g. a calculator, a watch, a car's brakes)
Hardware Houses the computer's main electronic components
Software Stores the computer's programs and data temporarily while power is on
General purpose computer A machine that processes information under the control of a program
Special purpose computer An integrated circuit (IC) consisting of millions of tiny circuits
RAM (random access memory) A computer that can run many different programs (e.g. a smartphone)
Central Processing Unit (CPU) The hardware that carries out the instructions of a computer program.
Motherboard The programs that control the computer
Machine language A programming language that is human readable (App Inventor) and provides
the programmer with easy to understand abstractions
High level language A programming language that is directly readable by the computer’s CPU.
Chip A sequence of instructions that controls the computer
Matching Activity
Match the technical terms with their definitions

More Related Content

Similar to Lesson 2.5 Mobile Apps and Mobile Devices.pptx

Module1 computerbasics1
Module1 computerbasics1Module1 computerbasics1
Module1 computerbasics1Usman Shah
 
Introduction to computer according to veta curicullum
Introduction to computer according to veta curicullumIntroduction to computer according to veta curicullum
Introduction to computer according to veta curicullumSteven Alphonce
 
hardware software basics
hardware software basicshardware software basics
hardware software basicsDeepa Rani
 
Fundamentals of computer
Fundamentals of computerFundamentals of computer
Fundamentals of computerYash Jain
 
2.-HARDWARE.pptx
2.-HARDWARE.pptx2.-HARDWARE.pptx
2.-HARDWARE.pptxAndrewBeka
 
Computer Concepts
Computer ConceptsComputer Concepts
Computer ConceptsPhoebe Kim
 
Basic Computer Hardware and Software.pptx
Basic Computer Hardware and Software.pptxBasic Computer Hardware and Software.pptx
Basic Computer Hardware and Software.pptxJaimeCanchela1
 
Computer
ComputerComputer
ComputerCAFE91
 
Components of a computer system.pptx
Components of a computer system.pptxComponents of a computer system.pptx
Components of a computer system.pptxAssemgulBaieshova
 
Basic Computer Hardware and Software.pptx
Basic Computer Hardware and Software.pptxBasic Computer Hardware and Software.pptx
Basic Computer Hardware and Software.pptxOwen14290
 
Computer Hardware & Their Functions
Computer Hardware & Their FunctionsComputer Hardware & Their Functions
Computer Hardware & Their FunctionsMicon Pastolero
 
Lec no. 4 hardware and software basic
Lec no. 4 hardware and software basicLec no. 4 hardware and software basic
Lec no. 4 hardware and software basicJiian Francisco
 
Basic Computer Hardware and Software by nissi.pptx
Basic Computer Hardware and Software by nissi.pptxBasic Computer Hardware and Software by nissi.pptx
Basic Computer Hardware and Software by nissi.pptxNishishKumarNissi
 

Similar to Lesson 2.5 Mobile Apps and Mobile Devices.pptx (20)

Module1 computerbasics1
Module1 computerbasics1Module1 computerbasics1
Module1 computerbasics1
 
Introduction to computer according to veta curicullum
Introduction to computer according to veta curicullumIntroduction to computer according to veta curicullum
Introduction to computer according to veta curicullum
 
Network
NetworkNetwork
Network
 
Hardware
HardwareHardware
Hardware
 
Hardware and Software Basics With Dr. Poirot
Hardware and Software Basics With Dr. PoirotHardware and Software Basics With Dr. Poirot
Hardware and Software Basics With Dr. Poirot
 
Hwswb
HwswbHwswb
Hwswb
 
hardware software basics
hardware software basicshardware software basics
hardware software basics
 
Fundamentals of computer
Fundamentals of computerFundamentals of computer
Fundamentals of computer
 
Glossary
GlossaryGlossary
Glossary
 
2.-HARDWARE.pptx
2.-HARDWARE.pptx2.-HARDWARE.pptx
2.-HARDWARE.pptx
 
Chapter 2(answer)2
Chapter 2(answer)2Chapter 2(answer)2
Chapter 2(answer)2
 
Computer Concepts
Computer ConceptsComputer Concepts
Computer Concepts
 
Basic Computer Hardware and Software.pptx
Basic Computer Hardware and Software.pptxBasic Computer Hardware and Software.pptx
Basic Computer Hardware and Software.pptx
 
Computer
ComputerComputer
Computer
 
Components of a computer system.pptx
Components of a computer system.pptxComponents of a computer system.pptx
Components of a computer system.pptx
 
Basic Computer Hardware and Software.pptx
Basic Computer Hardware and Software.pptxBasic Computer Hardware and Software.pptx
Basic Computer Hardware and Software.pptx
 
Computer Hardware & Their Functions
Computer Hardware & Their FunctionsComputer Hardware & Their Functions
Computer Hardware & Their Functions
 
Lec no. 4 hardware and software basic
Lec no. 4 hardware and software basicLec no. 4 hardware and software basic
Lec no. 4 hardware and software basic
 
Chapter 1r
Chapter 1rChapter 1r
Chapter 1r
 
Basic Computer Hardware and Software by nissi.pptx
Basic Computer Hardware and Software by nissi.pptxBasic Computer Hardware and Software by nissi.pptx
Basic Computer Hardware and Software by nissi.pptx
 

Recently uploaded

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 

Recently uploaded (20)

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 

Lesson 2.5 Mobile Apps and Mobile Devices.pptx

  • 1. Mobile Apps and Mobile Devices: A First Look at Software and Hardware Acknowledgment and Disclaimer: This presentation is supported in part by the National Science Foundation under Grants 1240841, 1225680, 1225719, 1225745, 1225976, and 1226216. Any opinions, findings, and conclusions or recommendations expressed in these materials are those of the authors and do not necessarily reflect the views of the National Science Foundation.
  • 2. Hardware Hardware -- the computer’s electronic and mechanical components. Laptop Desktop Flash drive Smart phone Memory Chip Disk drive
  • 3. Software Software -- the computer programs or code that controls the hardware. Scheme App Inventor Java Python C
  • 4. General Purpose Computers A general purpose computer is a computer that can run any program (app) we give it.
  • 5. Special Purpose Computers Special purpose computers have fixed programs that can’t be changed. Watch program Microwave controller program Calculator program Antilock Braking System
  • 6. Computer Programmer A programmer or coder is someone who designs and writes software. That will be you, in a few weeks! You
  • 9. Main Hardware Components Random Access Memory (RAM) stores the computer’s programs and data temporarily while the power is on.
  • 10. Main Hardware Components Random Access Memory (RAM) stores the computer’s programs and data temporarily while the power is on. Central Processing Unit (CPU) processes the program’s instructions and performs arithmetic and logic operations.
  • 11. Main Hardware Components Random Access Memory (RAM) stores the computer’s programs and data temporarily while the power is on. Central Processing Unit (CPU) processes the program’s instructions and performs arithmetic and logic operations. Storage devices (disk drives, flash drives, CDs) store data permanently even when the power is off.
  • 12. Main Hardware Components Random Access Memory (RAM) stores the computer’s programs and data temporarily while the power is on. Central Processing Unit (CPU) processes the program’s instructions and performs arithmetic and logic operations. I/O. Input devices (touchscreen, mic) transfer information into the computer’s memory. Output devices (touchscreen, speaker) transfer information out of the memory. Storage devices (disk drives, flash drives, CDs) store data permanently even when the power is off.
  • 13. Motherboard and Chips The motherboard is a pre- printed circuit board that houses all of the computer’s main electronic components. Sony Playstation Motherboard
  • 14. Motherboard and Chips The motherboard is a pre- printed circuit board that houses all of the computer’s main electronic components. A computer chip is another term for an integrated circuit (IC), a component that contains millions of electronic circuits. This chip is this computer’s CPU. Sony Playstation Motherboard
  • 15. Motherboard and Chips The motherboard is a pre- printed circuit board that houses all of the computer’s main electronic components. A computer chip is another term for an integrated circuit (IC), a component that contains millions of electronic circuits. This chip is this computer’s CPU. Memory chips. This computer’s Random Access Memory (RAM). I/O Connectors. I/O devices can be connected here. Sony Playstation
  • 16. Chip: Integrated Circuit Millions of electronic components (diodes, switches, gates, circuits) can be printed on a single chip.
  • 17. Nexus 4 Motherboard Back 2 Gb Samsung RAM memory chip Snapdragon 1.4 GHz CPU underneath Src: http://www.ifixit.com/Teardown/Nexus+4+Teardown/11781/3 2 Gigabytes is enough memory to store around 8000 books or 700 digital photographs!
  • 18. Nexus 4 Motherboard Back 2 Gb Samsung RAM memory chip Snapdragon 1.4 GHz CPU underneath Src: http://www.ifixit.com/Teardown/Nexus+4+Teardown/11781/3 •Qualcomm audio codec Qualcomm modem
  • 19. Nexus 4 Motherboard Front • 8 Gb Flash drive – permanent storage • Qualcomm 4 Gb LTE phone chip • Accelerometer sensor • HDMI Output converter • Wifi/Bluetooth module Src: http://www.ifixit.com/Teardown/Nexus+4+Teardown/11781/3 8 Gigabytes! That’s enough storage for 2000 4-Megabyte audio files.
  • 21. Software: Computer Programs A computer program is a set of instructions that controls the computer. App Inventor Program Java Program
  • 22. Software Interfaces Software serves as an interface between us and our computers. App Inventor App Software Human/Computer interface Smart Phone Hardware
  • 23. Layers of Interfaces Application Layer – I Have a Dream App Hardware Layer – Nexus (Camera, touchscreen)
  • 24. Operating System Layer – Android Layers of Interfaces Camera controller software Application Layer – I Have a Dream App Hardware Layer – Nexus (Camera, touchscreen) Touch screen controller software OS/application interface Hardware/software interfaces App Loader software
  • 25. Operating System Layer – iOS Layers of Interfaces Camera controller software Application Layer – Angry Birds Hardware Layer – iPhone (Camera, touchscreen) Touch screen controller software OS/application interface Hardware/software interfaces App Loader software
  • 26. Machine language – machine readable 00101100 1011011000111100 00110011 1110100011100010 00111001 1010100001100001 Machine Language
  • 27. Machine language – machine readable 00101100 1011011000111100 00110011 1110100011100010 00111001 1010100001100001 Computers only understand their own machine language. Machine Language
  • 28. Machine language – machine readable 00101100 1011011000111100 00110011 1110100011100010 00111001 1010100001100001 Computers only understand their own machine language. Machine Language
  • 29. High- and Low-level Languages High-level language - human readable c = a + b;
  • 30. High- and Low-level Languages High-level language - human readable c = a + b; Machine language – machine readable 00101100 1011011000111100 00110011 1110100011100010 00111001 1010100001100001
  • 31. High- and Low-level Languages High-level language - human readable c = a + b; Machine language – machine readable 00101100 1011011000111100 00110011 1110100011100010 00111001 1010100001100001 Translator software translates high level source code to low level binary code.
  • 32. Language Abstractions App Inventor code -- a human-readable abstraction
  • 33. Language Abstractions App Inventor code -- a human-readable abstraction Binary code -- a machine-readable abstraction. 00111001 1010100001100001 Translation software
  • 34. Language Abstractions App Inventor code -- a human-readable abstraction Binary code -- a machine-readable abstraction. 00111001 1010100001100001 Translation software Binary Instruction Interpreter CPU
  • 36. App Inventor : Translation 001010100100 110101001000 Translate
  • 37. App Inventor : Translation 001010100100 110101001000 Translation “Connect to Companion” “Package”
  • 38. App Inventor : Connect to Companion “Connect to Companion” 001010100100 110101001000
  • 39. App Inventor : Connect to Companion Companion App Interpreter “Connect to Companion” 001010100100 110101001000
  • 40. App Inventor : Connect to Companion Companion App Interpreter “Connect to Companion” 001010100100 110101001000 Android OS
  • 41. App Inventor : Connect to Companion Companion App Interpreter Android OS “Connect to Companion” 001010100100 110101001000 Reinterpret blocks whenever something changes.
  • 42. App Inventor : Connect to Companion Companion App Interpreter Android OS “Connect to Companion” 001010100100 110101001000 Reinterpret blocks whenever something changes. Interpretation The process of translating source code into machine language one instruction at a time and immediately executing instruction.
  • 43. App Inventor : Connect to Companion “Package” 001010100100 110101001000
  • 44. App Inventor : Package the App Android OS “Package” 001010100100 110101001000 IHaveADream.apk (Android machine code) 00101010010011010100 10000101010100101001
  • 45. App Inventor : Package the App Barcode Scanner Android OS “Package” 001010100100 110101001000 IHaveADream.apk (Android machine code) 00101010010011010100 10000101010100101001 Compilation The process of translating the entire source code into a single binary file.
  • 46. Compilation vs. Interpretation Compilation - The process of translating the entire source code into a single binary file. Interpretation - The process of translating source code into machine language one instruction at a time and immediately executing instruction. More efficient Easier to debug
  • 47. Whew! That was a lot of new concepts.
  • 48. Technical Term Definition or description Computer The computer’s electronic and mechanical components Program A computer that has a fixed program (e.g. a calculator, a watch, a car's brakes) Hardware Houses the computer's main electronic components Software Stores the computer's programs and data temporarily while power is on General purpose computer A machine that processes information under the control of a program Special purpose computer An integrated circuit (IC) consisting of millions of tiny circuits RAM (random access memory) A computer that can run many different programs (e.g. a smartphone) Central Processing Unit (CPU) The hardware that carries out the instructions of a computer program. Motherboard The programs that control the computer Machine language A programming language that is human readable (App Inventor) and provides the programmer with easy to understand abstractions High level language A programming language that is directly readable by the computer’s CPU. Chip A sequence of instructions that controls the computer Matching Activity Match the technical terms with their definitions