Intro 1
Intro 1
S
TO
R
U
O
N C
O
I GE +
+
CT I N TH
C
U
D MMF O R
R O A E
T R UR
IN OGE C T
PRA L
Each slide has its own narration in an audio file.
For the explanation of any slide, click on the audio icon to
start the narration.
INTRODUCTION TO PROGRAMMING 2
COMPUTER ORGANIZATION
Input Unit ‑ obtains data (and programs) from an input device for processing.
Keyboard, mouse, CD‑ROM or DVD drive, scanner, digital camera...
Output Unit ‑ takes information from the computer and places it on an output
device ‑ monitor screen, printer, tape, DVD‑Writer…
We (in the real world) use input / output devices to communicate with the
computer.
INTRODUCTION TO PROGRAMMING 3
COMPUTER ORGANIZATION
Central Processing Unit (CPU) ‑ Coordinates the operation of the other
sections of the computer.
INTRODUCTION TO PROGRAMMING 4
COMPUTER ORGANIZATION
Main Memory Unit ‑ primary memory, primary storage ‑ short‑term main
storage area for data and executable programs (RAM). Ordered sequence of
storage locations called memory cells, each memory cell has a unique
address.
INTRODUCTION TO PROGRAMMING 5
COMPUTER ORGANIZATION
Also….
Computer Networks ‑ allows each computer to access (e.g.) the same large
hard disk drive and high‑quality printer ‑ LAN.
INTRODUCTION TO PROGRAMMING 6
COMPUTER LANGUAGES
In order to communicate with the computer we use one of several
programming languages.
INTRODUCTION TO PROGRAMMING 7
COMPUTER LANGUAGES
First generation ‑ Machine Language
Each type of computer has its own machine language, the only language it can
understand (machine dependent). Most machine languages consist of binary
codes for both data and instructions, e.g., to add overtime pay to base pay we
would need a series of binary codes such as, perhaps:
INTRODUCTION TO PROGRAMMING 8
COMPUTER LANGUAGES
Second generation ‑ Assembly Languages
Uses English‑like abbreviations to represent the machine‑language instructions.
Uses a translator program called an assembler to convert each instruction from
the assembly language instruction to the corresponding machine language
binary code e.g., perhaps:
LOAD BASEPAY
ADD OVERPAY
STORE GROSSPAY
INTRODUCTION TO PROGRAMMING 9
COMPUTER LANGUAGES
Third generation ‑ Compiler Languages
High‑level, machine independent, more English‑like, more natural. Each high-
level language statement translates to several low-level language statements,
e.g.:
GROSSPAY = BASEPAY + OVERPAY
Use compilers to translate from the high‑level language into machine language.
A compiler is a translator program that transforms high-level program code
into a low-level machine-level executable program.
Compilers translate the whole program first, then execute the object program.
High-level languages are more English-like, easier to code, more costly to run,
less flexible. e.g., FORTRAN, BASIC, COBOL, PL/1, ALGOL, APL, Pascal,
SIMSCRIPT, Smalltalk, C, C++, Java, Python.
INTRODUCTION TO PROGRAMMING 10
COMPUTER LANGUAGES
High‑level Language Translators
Compilers Interpreters
Slower translation Faster translation
Entire program One instruction or macro at a time
Faster execution Slower execution
More efficient execution Less efficient execution
Good for commercial applications Good for program development
compiler
source object
or
program program
interpreter
INTRODUCTION TO PROGRAMMING 11
PROGRAMMING
A program is a set of instructions in proper sequence, that causes a computer to
perform a particular task.
When learning to program in any programming language, it’s best just to learn
the “rules of the game.”
INTRODUCTION TO PROGRAMMING 12
REVIEW
What did we learn in this lecture? Plenty.
INTRODUCTION TO PROGRAMMING 13