Standard Version of
Starting Out with C++, 4th
Edition
Chapter 1
Introduction to Computers and
Programming
Copyright 2003
Scott/Jones Publishing
Contents
1.1 Why Program?
1.2 Computer Systems: Hardware and Software
1.3 Programs and Programming Languages
1.4 What Is a Program Made of?
1.5 Input, Processing, and Output
1.6 The Programming Process
1.7 Procedural and Object-Oriented Programming
Chapter 1 slide 2
1.1 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, computer cannot do anything
Chapter 1 slide 3
1.2 Computer Systems:
Hardware and Software
Main Hardware Component Categories:
1. Central Processing Unit (CPU)
2. Main Memory
3. Secondary Memory / Storage
4. Input Devices
5. Output Devices
Chapter 1 slide 4
Main Hardware Component
Categories
Central
Processing
Unit
Input Output
Device Device
Main
Memory
Secondary
Storage
Devices
Chapter 1 slide 5
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
Chapter 1 slide 6
Main Memory
Volatile – 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.
Chapter 1 slide 7
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, zip disk, hard drive
optical: CD-ROM
Chapter 1 slide 8
Input Devices
Used to send information to computer
from outside
Many devices can provide input:
Keyboard, mouse, scanner, camera
Disk drives
Chapter 1 slide 9
Output Devices
Used for information sent from a
computer program
Many devices can be used for output:
Computer monitor and printer
Floppy, zip disk drives
Writable CD drives
Chapter 1 slide
10
Software – Programs That
Run on a Computer
Categories of software:
Operating system: programs that manage
the computer hardware and the programs
that run on them. Ex: Windows, UNIX,
Linux
Application software: programs that
provide services to the user. Ex: word
processing, games, programs to solve
specific problems
Chapter 1 slide 11
1.3 Programs and
Programming Languages
Program: a set of instructions to a
computer to perform a task
Programming Language: a language
used to write programs
Chapter 1 slide
12
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
Chapter 1 slide
13
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.
Chapter 1 slide
14
From a High-level Program to
an Executable File
Source Code Object Code
Preprocessor Linker
Modified Executable Code
Source Code
Compiler
Chapter 1 slide
15
1.4 What Is a Program Made
Of?
Common elements in programming languages:
Key Words
Programmer-Defined Symbols
Operators
Punctuation
Syntax
Chapter 1 slide
16
Example Program
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name;
cout << "What is your name? ";
cin >> name;
cout << "Hello there, " << name;
return 0;
}
Chapter 1 slide
17
Key Words
Also known as reserved words
Have a special meaning in C++
Can not be used for another purpose
Examples in program: using,
namespace, int, main
Chapter 1 slide
18
Programmer-Defined Symbols
Names made up by the programmer
Not part of the C++ language
Used to represent various things:
variables (memory locations), functions,
etc.
Example in program: name
Chapter 1 slide
19
Operators
Used to perform operations on data
Many types of operators:
Arithmetic - ex: +,-,*,/
Assignment – ex: =
Examples in program: <<, >>
Chapter 1 slide
20
Punctuation
Characters that mark the end of a
statement, or that separate items in a list
Examples in program: ;
Chapter 1 slide
21
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
Chapter 1 slide
22
1.5 Input, Processing, and
Output
Three steps many programs perform:
1) Gather input data:
2) from keyboard
3) from files on disk drives
4) Process the input data
5) Display the results as output:
6) send it to the screen
7) write to a file
Chapter 1 slide
23
1.6 The Programming Process
1. Define the purpose of the program
2. Visualize the running program; sketch
the user interface
3. Model the program using design tools
4. Check the model for errors
5. Enter the program into the computer
and compile it
Chapter 1 slide
24
The Programming Process
6. Correct errors and recompile until
there are none
7. Execute (run) the program
8. Correct execution errors, recompile,
rerun
9. Validate results: does the output meet
what was defined in step 1?
Chapter 1 slide
25
1.7 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.
Chapter 1 slide
26
Standard Version of
Starting Out with C++, 4th
Edition
Chapter 1
Introduction to Computers and
Programming
Copyright 2003
Scott/Jones Publishing