SlideShare a Scribd company logo
Copyright © 2012 Pearson Education, Inc.
Warning
Class Book: 8th Edition This Slides
• Taken from same book
but 7th Edition
• I added some and did
some modifications to
others
Copyright © 2012 Pearson Education, Inc.
Chapter 1:
Introduction to
Computers and
Programming
Copyright © 2012 Pearson Education, Inc.
1.1
Why Program?
Copyright © 2012 Pearson Education, Inc.
Why Program?
Computer – programmable machine designed
to follow instructions
Program – instructions in computer memory to
make it do something
Programmer – person who writes instructions
(programs) to make computer perform a task
SO, without programmers, no programs;
without programs, a computer cannot do
anything
Copyright © 2012 Pearson Education, Inc.
1.2
Computer Systems: Hardware
and Software
Copyright © 2012 Pearson Education, Inc.
Main Hardware Component
Categories:
1. Central Processing Unit (CPU)
2. Main Memory
3. Secondary Memory / Storage
4. Input Devices
5. Output Devices
Copyright © 2012 Pearson Education, Inc.
Main Hardware Component
Categories
Figure 1-2
Copyright © 2012 Pearson Education, Inc.
Central Processing Unit (CPU)
Comprised of:
Control Unit
Retrieves and decodes program instructions
Coordinates activities of all other parts of computer
Arithmetic & Logic Unit
Hardware optimized for high-speed numeric
calculation
Hardware designed for true/false, yes/no decisions
Copyright © 2012 Pearson Education, Inc.
CPU Organization
Figure 1-3
Copyright © 2012 Pearson Education, Inc.
Main Memory
• It is volatile. Main memory is erased when
program terminates or computer is turned off
• Also called Random Access Memory (RAM)
• Organized as follows:
– bit: smallest piece of memory. Has values 0 (off,
false) or 1 (on, true)
– byte: 8 consecutive bits. Bytes have addresses.
Copyright © 2012 Pearson Education, Inc.
Main Memory
• Addresses – Each byte in memory is
identified by a unique number known as
an address.
Copyright © 2012 Pearson Education, Inc.
Main Memory
• In Figure 1-4, the number 149 is stored in
the byte with the address 16, and the
number 72 is stored at address 23.
Copyright © 2012 Pearson Education, Inc.
Secondary Storage
• Non-volatile: data retained when program
is not running or computer is turned off
• Comes in a variety of media:
– magnetic: floppy disk, hard drive
– optical: CD-ROM, DVD
– Flash drives, connected to the USB port
Copyright © 2012 Pearson Education, Inc.
Input Devices
• Devices that send information to the
computer from outside
• Many devices can provide input:
– Keyboard, mouse, scanner, digital camera,
microphone
– Disk drives, CD drives, and DVD drives
Copyright © 2012 Pearson Education, Inc.
Software-Programs That Run on a
Computer
• Categories of software:
– System software: programs that manage the
computer hardware and the programs that run
on them. Examples: operating systems, utility
programs, software development tools
– Application software: programs that provide
services to the user. Examples : word
processing, games, programs to solve
specific problems
Copyright © 2012 Pearson Education, Inc.
1.3
Programs and Programming
Languages
Copyright © 2012 Pearson Education, Inc.
Programs and Programming
Languages
• A program is a set of instructions that the
computer follows to perform a task
• We start with an algorithm, which is a set
of well-defined steps.
Copyright © 2012 Pearson Education, Inc.
Example Algorithm for Calculating
Gross Pay
Copyright © 2012 Pearson Education, Inc.
Machine Language
• Although the previous algorithm defines
the steps for calculating the gross pay, it is
not ready to be executed on the computer.
• The computer only executes machine
language instructions
Copyright © 2012 Pearson Education, Inc.
Machine Language
• Machine language instructions are binary
numbers, such as
1011010000000101
• Rather than writing programs in machine
language, programmers use programming
languages.
Copyright © 2012 Pearson Education, Inc.
Programs and Programming
Languages
• Types of languages:
– Low-level: used for
communication with computer
hardware directly. Often written
in binary machine code (0’s/1’s)
directly.
– High-level: closer to human
language
Copyright © 2012 Pearson Education, Inc.
Some Well-Known Programming
Languages (Table 1-1 on Page 10)
BASIC
FORTRAN
COBOL
C
C++
C#
Java
JavaScript
Python
Ruby
Visual Basic
Copyright © 2012 Pearson Education, Inc.
From a High-Level Program to an
Executable File
a) Create file containing the program with a text
editor.
b) Run preprocessor to convert source file
directives to source code program statements.
c) Run compiler to convert source program into
machine instructions.
d) Run linker to connect hardware-specific code to
machine instructions, producing an executable
file.
• Steps b–d are often performed by a single
command or button click.
• Errors detected at any step will prevent
execution of following steps.
Copyright © 2012 Pearson Education, Inc.
From a High-Level Program to an
Executable File
Copyright © 2012 Pearson Education, Inc.
Integrated Development
Environments (IDEs)
• An integrated development environment,
or IDE, combine all the tools needed to
write, compile, and debug a program into a
single software application.
• Examples are Microsoft Visual C++, Turbo
C++ Explorer, CodeWarrior, etc.
Copyright © 2012 Pearson Education, Inc.
Integrated Development
Environments (IDEs)
Copyright © 2012 Pearson Education, Inc.
1.4
What is a Program Made of?
Copyright © 2012 Pearson Education, Inc.
What is a Program Made of?
• Common elements in programming
languages:
– Key Words
– Programmer-Defined Identifiers
– Operators
– Punctuation
– Syntax
Copyright © 2012 Pearson Education, Inc.
Program 1-1
Copyright © 2012 Pearson Education, Inc.
Key Words
• Also known as reserved words
• Have a special meaning in C++
• Can not be used for any other purpose
• Key words in the Program 1-1: using,
namespace, int, double, and return
Copyright © 2012 Pearson Education, Inc.
Key Words
Copyright © 2012 Pearson Education, Inc.
Programmer-Defined Identifiers
• Names made up by the programmer
• Not part of the C++ language
• Used to represent various things: variables
(memory locations), functions, etc.
• In Program 1-1: hours, rate, and pay.
Copyright © 2012 Pearson Education, Inc.
Operators
• Used to perform operations on data
• Many types of operators:
– Arithmetic - ex: +,-,*,/
– Assignment – ex: =
• Some operators in Program1-1:
<< >> = *
Copyright © 2012 Pearson Education, Inc.
Operators
Copyright © 2012 Pearson Education, Inc.
Punctuation
• Characters that mark the end of a
statement, or that separate items in a list
• In Program 1-1: , and ;
Copyright © 2012 Pearson Education, Inc.
Punctuation
Copyright © 2012 Pearson Education, Inc.
Syntax
• The rules of grammar that must be
followed when writing a program
• Controls the use of key words, operators,
programmer-defined symbols, and
punctuation
Copyright © 2012 Pearson Education, Inc.
Variables
• A variable is a named storage location in
the computer’s memory for holding a piece
of data.
• In Program 1-1 we used three variables:
– The hours variable was used to hold the
hours worked
– The rate variable was used to hold the pay
rate
– The pay variable was used to hold the gross
pay
Copyright © 2012 Pearson Education, Inc.
Variable Definitions
• To create a variable in a program you
must write a variable definition (also called
a variable declaration)
• Here is the statement from Program 1-1
that defines the variables:
double hours, rate, pay;
Copyright © 2012 Pearson Education, Inc.
Variable Definitions
• There are many different types of data,
which you will learn about in this course.
• A variable holds a specific type of data.
• The variable definition specifies the type of
data a variable can hold, and the variable
name.
Copyright © 2012 Pearson Education, Inc.
Variable Definitions
• Once again, line 7 from Program 1-1:
double hours, rate, pay;
• The word double specifies that the
variables can hold double-precision
floating point numbers. (You will learn
more about that in Chapter 2)
Copyright © 2012 Pearson Education, Inc.
1.5
Input, Processing, and Output
Copyright © 2012 Pearson Education, Inc.
Input, Processing, and Output
Three steps that a program typically
performs:
1) Gather input data:
• from keyboard
• from files on disk drives
2) Process the input data
3) Display the results as output:
• send it to the screen
• write to a file
Copyright © 2012 Pearson Education, Inc.
1.6
The Programming Process
Copyright © 2012 Pearson Education, Inc.
The Programming Process
Copyright © 2012 Pearson Education, Inc.
Hierarchy chart, flowcharts,
pseudocode Start
Message input 1
Read 1
Message input 2
Read 2
Calculate
Print Pay
END
Copyright © 2012 Pearson Education, Inc.
1.7
Procedural and Object-Oriented
Programming
Copyright © 2012 Pearson Education, Inc.
Procedural and Object-Oriented
Programming
• Procedural programming: focus is on the process.
Procedures/functions are written to process data.
• Object-Oriented programming: focus is on objects, which
contain data and the means to manipulate the data.
Messages sent to objects to perform operations.

More Related Content

What's hot

Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programming
Sangheethaa Sukumaran
 
Rise of software
Rise of softwareRise of software
Rise of software
Gamini Khurana
 
Algorithm and flowchart(1)
Algorithm and flowchart(1)Algorithm and flowchart(1)
Algorithm and flowchart(1)Suneel Dogra
 
Software
SoftwareSoftware
Software
Kalsoom shoukat
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
ALi Mughal
 
Interaction With Computers FIT
Interaction With Computers FITInteraction With Computers FIT
Interaction With Computers FIT
Raj vardhan
 
High level languages representation
High level languages representationHigh level languages representation
High level languages representation
gaurav jain
 
Mca i-fundamental of computer-u-2- application and system software
Mca  i-fundamental of  computer-u-2- application and system softwareMca  i-fundamental of  computer-u-2- application and system software
Mca i-fundamental of computer-u-2- application and system software
Rai University
 
Embedded systems tools & peripherals
Embedded systems   tools & peripheralsEmbedded systems   tools & peripherals
Embedded systems tools & peripherals
imtiazalijoono
 
Assembly and Machine Code
Assembly and Machine CodeAssembly and Machine Code
Assembly and Machine Code
Project Student
 
MCA-5 unit1
MCA-5 unit1MCA-5 unit1
MCA-5 unit1
Vasanti Dutta
 
Cross compiling android applications
Cross compiling android applicationsCross compiling android applications
Cross compiling android applications
sai krishna
 
Features of machine language, assembly language, high level language & their ...
Features of machine language, assembly language, high level language & their ...Features of machine language, assembly language, high level language & their ...
Features of machine language, assembly language, high level language & their ...
SHUBHAM PATIDAR FISHERIES ADDAA
 
Computer programming
Computer programmingComputer programming
Computer programmingSuneel Dogra
 
Eo gaddis java_chapter_01_5e
Eo gaddis java_chapter_01_5eEo gaddis java_chapter_01_5e
Eo gaddis java_chapter_01_5e
Gina Bullock
 
Lecture 5 - Structured Programming Language
Lecture 5 - Structured Programming Language Lecture 5 - Structured Programming Language
Lecture 5 - Structured Programming Language
Md. Imran Hossain Showrov
 
What is Higher Language and Lower Language in programming.
What is Higher Language and Lower Language in programming.What is Higher Language and Lower Language in programming.
What is Higher Language and Lower Language in programming.
Questpond
 

What's hot (20)

Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programming
 
Rise of software
Rise of softwareRise of software
Rise of software
 
Algorithms - Introduction to computer programming
Algorithms - Introduction to computer programmingAlgorithms - Introduction to computer programming
Algorithms - Introduction to computer programming
 
Algorithm and flowchart(1)
Algorithm and flowchart(1)Algorithm and flowchart(1)
Algorithm and flowchart(1)
 
Software
SoftwareSoftware
Software
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Interaction With Computers FIT
Interaction With Computers FITInteraction With Computers FIT
Interaction With Computers FIT
 
High level languages representation
High level languages representationHigh level languages representation
High level languages representation
 
Mca i-fundamental of computer-u-2- application and system software
Mca  i-fundamental of  computer-u-2- application and system softwareMca  i-fundamental of  computer-u-2- application and system software
Mca i-fundamental of computer-u-2- application and system software
 
Software and os ch5
Software and os ch5Software and os ch5
Software and os ch5
 
Software
SoftwareSoftware
Software
 
Embedded systems tools & peripherals
Embedded systems   tools & peripheralsEmbedded systems   tools & peripherals
Embedded systems tools & peripherals
 
Assembly and Machine Code
Assembly and Machine CodeAssembly and Machine Code
Assembly and Machine Code
 
MCA-5 unit1
MCA-5 unit1MCA-5 unit1
MCA-5 unit1
 
Cross compiling android applications
Cross compiling android applicationsCross compiling android applications
Cross compiling android applications
 
Features of machine language, assembly language, high level language & their ...
Features of machine language, assembly language, high level language & their ...Features of machine language, assembly language, high level language & their ...
Features of machine language, assembly language, high level language & their ...
 
Computer programming
Computer programmingComputer programming
Computer programming
 
Eo gaddis java_chapter_01_5e
Eo gaddis java_chapter_01_5eEo gaddis java_chapter_01_5e
Eo gaddis java_chapter_01_5e
 
Lecture 5 - Structured Programming Language
Lecture 5 - Structured Programming Language Lecture 5 - Structured Programming Language
Lecture 5 - Structured Programming Language
 
What is Higher Language and Lower Language in programming.
What is Higher Language and Lower Language in programming.What is Higher Language and Lower Language in programming.
What is Higher Language and Lower Language in programming.
 

Similar to Introduction to Computers and Programming

programing fundamentals by dr. wheedh khan
programing fundamentals by dr. wheedh khanprograming fundamentals by dr. wheedh khan
programing fundamentals by dr. wheedh khan
ahmedmidhu2001
 
Introduction to computers and programing.pptx
Introduction to computers and programing.pptxIntroduction to computers and programing.pptx
Introduction to computers and programing.pptx
ahmedmidhu2001
 
Lecture3.pptx
Lecture3.pptxLecture3.pptx
Lecture3.pptx
nassmah
 
Chtp4 01
Chtp4 01Chtp4 01
Chtp4 01
manedar
 
C programming Introduction
C programming IntroductionC programming Introduction
C programming Introduction
Srinivas Dr. Suri
 
BookPPT_Chapter_01_9e.ppt
BookPPT_Chapter_01_9e.pptBookPPT_Chapter_01_9e.ppt
BookPPT_Chapter_01_9e.ppt
thaersyam
 
C++ advanced PPT.pdf
C++ advanced PPT.pdfC++ advanced PPT.pdf
C++ advanced PPT.pdf
DinashMaliya3
 
Unit 1.1 Introduction to python programming
Unit 1.1 Introduction to python programmingUnit 1.1 Introduction to python programming
Unit 1.1 Introduction to python programming
shubhangic93
 
Employee Management System using c++ ppt.pptx
Employee Management System using c++ ppt.pptxEmployee Management System using c++ ppt.pptx
Employee Management System using c++ ppt.pptx
DevikaSahu14
 
Chapter 01 Introduction to Visual Basic
Chapter 01 Introduction to Visual BasicChapter 01 Introduction to Visual Basic
Chapter 01 Introduction to Visual Basic
gbonilla53
 
Lecture 1-3.ppt
Lecture 1-3.pptLecture 1-3.ppt
Lecture 1-3.ppt
HafeezullahJamro
 
Chapter 1.ppt
Chapter 1.pptChapter 1.ppt
Chapter 1.ppt
BakhitaSalman
 
Savitch_ch_01.ppt
Savitch_ch_01.pptSavitch_ch_01.ppt
Savitch_ch_01.ppt
DenisSuljakovic1
 
introductiontocomputerprogramming.pptx
introductiontocomputerprogramming.pptxintroductiontocomputerprogramming.pptx
introductiontocomputerprogramming.pptx
HazardRhenz1
 
Introductiontocomputerprogramming 140713205433-phpapp02 (1)
Introductiontocomputerprogramming 140713205433-phpapp02 (1)Introductiontocomputerprogramming 140713205433-phpapp02 (1)
Introductiontocomputerprogramming 140713205433-phpapp02 (1)
Lanie Plecerda
 
Program Logic and Design
Program Logic and DesignProgram Logic and Design
Program Logic and Design
Froilan Cantillo
 
chapter01.ppt
chapter01.pptchapter01.ppt
chapter01.ppt
senthilkumar969017
 

Similar to Introduction to Computers and Programming (20)

programing fundamentals by dr. wheedh khan
programing fundamentals by dr. wheedh khanprograming fundamentals by dr. wheedh khan
programing fundamentals by dr. wheedh khan
 
Introduction to computers and programing.pptx
Introduction to computers and programing.pptxIntroduction to computers and programing.pptx
Introduction to computers and programing.pptx
 
Lecture3.pptx
Lecture3.pptxLecture3.pptx
Lecture3.pptx
 
Chtp4 01
Chtp4 01Chtp4 01
Chtp4 01
 
C programming Introduction
C programming IntroductionC programming Introduction
C programming Introduction
 
BookPPT_Chapter_01_9e.ppt
BookPPT_Chapter_01_9e.pptBookPPT_Chapter_01_9e.ppt
BookPPT_Chapter_01_9e.ppt
 
C++ advanced PPT.pdf
C++ advanced PPT.pdfC++ advanced PPT.pdf
C++ advanced PPT.pdf
 
Unit 1.1 Introduction to python programming
Unit 1.1 Introduction to python programmingUnit 1.1 Introduction to python programming
Unit 1.1 Introduction to python programming
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Employee Management System using c++ ppt.pptx
Employee Management System using c++ ppt.pptxEmployee Management System using c++ ppt.pptx
Employee Management System using c++ ppt.pptx
 
Chapter 01 Introduction to Visual Basic
Chapter 01 Introduction to Visual BasicChapter 01 Introduction to Visual Basic
Chapter 01 Introduction to Visual Basic
 
Lecture 1-3.ppt
Lecture 1-3.pptLecture 1-3.ppt
Lecture 1-3.ppt
 
Chapter 1.ppt
Chapter 1.pptChapter 1.ppt
Chapter 1.ppt
 
Savitch_ch_01.ppt
Savitch_ch_01.pptSavitch_ch_01.ppt
Savitch_ch_01.ppt
 
Chtp401
Chtp401Chtp401
Chtp401
 
introductiontocomputerprogramming.pptx
introductiontocomputerprogramming.pptxintroductiontocomputerprogramming.pptx
introductiontocomputerprogramming.pptx
 
Introductiontocomputerprogramming 140713205433-phpapp02 (1)
Introductiontocomputerprogramming 140713205433-phpapp02 (1)Introductiontocomputerprogramming 140713205433-phpapp02 (1)
Introductiontocomputerprogramming 140713205433-phpapp02 (1)
 
Program Logic and Design
Program Logic and DesignProgram Logic and Design
Program Logic and Design
 
chapter01.ppt
chapter01.pptchapter01.ppt
chapter01.ppt
 

Recently uploaded

Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
AzmatAli747758
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
Excellence Foundation for South Sudan
 
Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
PedroFerreira53928
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
joachimlavalley1
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
PedroFerreira53928
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve Thomason
Steve Thomason
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chips
GeoBlogs
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
Vivekanand Anglo Vedic Academy
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
Jheel Barad
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
beazzy04
 

Recently uploaded (20)

Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
 
Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve Thomason
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chips
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 

Introduction to Computers and Programming

  • 1. Copyright © 2012 Pearson Education, Inc. Warning Class Book: 8th Edition This Slides • Taken from same book but 7th Edition • I added some and did some modifications to others
  • 2. Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming
  • 3. Copyright © 2012 Pearson Education, Inc. 1.1 Why Program?
  • 4. Copyright © 2012 Pearson Education, Inc. Why Program? Computer – programmable machine designed to follow instructions Program – instructions in computer memory to make it do something Programmer – person who writes instructions (programs) to make computer perform a task SO, without programmers, no programs; without programs, a computer cannot do anything
  • 5. Copyright © 2012 Pearson Education, Inc. 1.2 Computer Systems: Hardware and Software
  • 6. Copyright © 2012 Pearson Education, Inc. Main Hardware Component Categories: 1. Central Processing Unit (CPU) 2. Main Memory 3. Secondary Memory / Storage 4. Input Devices 5. Output Devices
  • 7. Copyright © 2012 Pearson Education, Inc. Main Hardware Component Categories Figure 1-2
  • 8. Copyright © 2012 Pearson Education, Inc. Central Processing Unit (CPU) Comprised of: Control Unit Retrieves and decodes program instructions Coordinates activities of all other parts of computer Arithmetic & Logic Unit Hardware optimized for high-speed numeric calculation Hardware designed for true/false, yes/no decisions
  • 9. Copyright © 2012 Pearson Education, Inc. CPU Organization Figure 1-3
  • 10. Copyright © 2012 Pearson Education, Inc. Main Memory • It is volatile. Main memory is erased when program terminates or computer is turned off • Also called Random Access Memory (RAM) • Organized as follows: – bit: smallest piece of memory. Has values 0 (off, false) or 1 (on, true) – byte: 8 consecutive bits. Bytes have addresses.
  • 11. Copyright © 2012 Pearson Education, Inc. Main Memory • Addresses – Each byte in memory is identified by a unique number known as an address.
  • 12. Copyright © 2012 Pearson Education, Inc. Main Memory • In Figure 1-4, the number 149 is stored in the byte with the address 16, and the number 72 is stored at address 23.
  • 13. Copyright © 2012 Pearson Education, Inc. Secondary Storage • Non-volatile: data retained when program is not running or computer is turned off • Comes in a variety of media: – magnetic: floppy disk, hard drive – optical: CD-ROM, DVD – Flash drives, connected to the USB port
  • 14. Copyright © 2012 Pearson Education, Inc. Input Devices • Devices that send information to the computer from outside • Many devices can provide input: – Keyboard, mouse, scanner, digital camera, microphone – Disk drives, CD drives, and DVD drives
  • 15. Copyright © 2012 Pearson Education, Inc. Software-Programs That Run on a Computer • Categories of software: – System software: programs that manage the computer hardware and the programs that run on them. Examples: operating systems, utility programs, software development tools – Application software: programs that provide services to the user. Examples : word processing, games, programs to solve specific problems
  • 16. Copyright © 2012 Pearson Education, Inc. 1.3 Programs and Programming Languages
  • 17. Copyright © 2012 Pearson Education, Inc. Programs and Programming Languages • A program is a set of instructions that the computer follows to perform a task • We start with an algorithm, which is a set of well-defined steps.
  • 18. Copyright © 2012 Pearson Education, Inc. Example Algorithm for Calculating Gross Pay
  • 19. Copyright © 2012 Pearson Education, Inc. Machine Language • Although the previous algorithm defines the steps for calculating the gross pay, it is not ready to be executed on the computer. • The computer only executes machine language instructions
  • 20. Copyright © 2012 Pearson Education, Inc. Machine Language • Machine language instructions are binary numbers, such as 1011010000000101 • Rather than writing programs in machine language, programmers use programming languages.
  • 21. Copyright © 2012 Pearson Education, Inc. Programs and Programming Languages • Types of languages: – Low-level: used for communication with computer hardware directly. Often written in binary machine code (0’s/1’s) directly. – High-level: closer to human language
  • 22. Copyright © 2012 Pearson Education, Inc. Some Well-Known Programming Languages (Table 1-1 on Page 10) BASIC FORTRAN COBOL C C++ C# Java JavaScript Python Ruby Visual Basic
  • 23. Copyright © 2012 Pearson Education, Inc. From a High-Level Program to an Executable File a) Create file containing the program with a text editor. b) Run preprocessor to convert source file directives to source code program statements. c) Run compiler to convert source program into machine instructions. d) Run linker to connect hardware-specific code to machine instructions, producing an executable file. • Steps b–d are often performed by a single command or button click. • Errors detected at any step will prevent execution of following steps.
  • 24. Copyright © 2012 Pearson Education, Inc. From a High-Level Program to an Executable File
  • 25. Copyright © 2012 Pearson Education, Inc. Integrated Development Environments (IDEs) • An integrated development environment, or IDE, combine all the tools needed to write, compile, and debug a program into a single software application. • Examples are Microsoft Visual C++, Turbo C++ Explorer, CodeWarrior, etc.
  • 26. Copyright © 2012 Pearson Education, Inc. Integrated Development Environments (IDEs)
  • 27. Copyright © 2012 Pearson Education, Inc. 1.4 What is a Program Made of?
  • 28. Copyright © 2012 Pearson Education, Inc. What is a Program Made of? • Common elements in programming languages: – Key Words – Programmer-Defined Identifiers – Operators – Punctuation – Syntax
  • 29. Copyright © 2012 Pearson Education, Inc. Program 1-1
  • 30. Copyright © 2012 Pearson Education, Inc. Key Words • Also known as reserved words • Have a special meaning in C++ • Can not be used for any other purpose • Key words in the Program 1-1: using, namespace, int, double, and return
  • 31. Copyright © 2012 Pearson Education, Inc. Key Words
  • 32. Copyright © 2012 Pearson Education, Inc. Programmer-Defined Identifiers • Names made up by the programmer • Not part of the C++ language • Used to represent various things: variables (memory locations), functions, etc. • In Program 1-1: hours, rate, and pay.
  • 33. Copyright © 2012 Pearson Education, Inc. Operators • Used to perform operations on data • Many types of operators: – Arithmetic - ex: +,-,*,/ – Assignment – ex: = • Some operators in Program1-1: << >> = *
  • 34. Copyright © 2012 Pearson Education, Inc. Operators
  • 35. Copyright © 2012 Pearson Education, Inc. Punctuation • Characters that mark the end of a statement, or that separate items in a list • In Program 1-1: , and ;
  • 36. Copyright © 2012 Pearson Education, Inc. Punctuation
  • 37. Copyright © 2012 Pearson Education, Inc. Syntax • The rules of grammar that must be followed when writing a program • Controls the use of key words, operators, programmer-defined symbols, and punctuation
  • 38. Copyright © 2012 Pearson Education, Inc. Variables • A variable is a named storage location in the computer’s memory for holding a piece of data. • In Program 1-1 we used three variables: – The hours variable was used to hold the hours worked – The rate variable was used to hold the pay rate – The pay variable was used to hold the gross pay
  • 39. Copyright © 2012 Pearson Education, Inc. Variable Definitions • To create a variable in a program you must write a variable definition (also called a variable declaration) • Here is the statement from Program 1-1 that defines the variables: double hours, rate, pay;
  • 40. Copyright © 2012 Pearson Education, Inc. Variable Definitions • There are many different types of data, which you will learn about in this course. • A variable holds a specific type of data. • The variable definition specifies the type of data a variable can hold, and the variable name.
  • 41. Copyright © 2012 Pearson Education, Inc. Variable Definitions • Once again, line 7 from Program 1-1: double hours, rate, pay; • The word double specifies that the variables can hold double-precision floating point numbers. (You will learn more about that in Chapter 2)
  • 42. Copyright © 2012 Pearson Education, Inc. 1.5 Input, Processing, and Output
  • 43. Copyright © 2012 Pearson Education, Inc. Input, Processing, and Output Three steps that a program typically performs: 1) Gather input data: • from keyboard • from files on disk drives 2) Process the input data 3) Display the results as output: • send it to the screen • write to a file
  • 44. Copyright © 2012 Pearson Education, Inc. 1.6 The Programming Process
  • 45. Copyright © 2012 Pearson Education, Inc. The Programming Process
  • 46. Copyright © 2012 Pearson Education, Inc. Hierarchy chart, flowcharts, pseudocode Start Message input 1 Read 1 Message input 2 Read 2 Calculate Print Pay END
  • 47. Copyright © 2012 Pearson Education, Inc. 1.7 Procedural and Object-Oriented Programming
  • 48. Copyright © 2012 Pearson Education, Inc. Procedural and Object-Oriented Programming • Procedural programming: focus is on the process. Procedures/functions are written to process data. • Object-Oriented programming: focus is on objects, which contain data and the means to manipulate the data. Messages sent to objects to perform operations.