INTRODUCTION TO PROGRAMMING
A LECTURE FOR THE C++ COURSE
Each slide may have its own narration in an audio file. �For the explanation of any slide, click on the audio icon to start the narration.
The Professor‘s C++ Course by Linda W. Friedman is licensed under a �Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
COMPUTER ORGANIZATION
A computer system has the following logical components:
Input
Output
Central Processing Unit (CPU)
Arithmetic & Logical Unit (ALU)
Main Memory
Secondary Storage
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…
INTRODUCTION TO PROGRAMMING
3
COMPUTER ORGANIZATION
Central Processing Unit (CPU) ‑ Coordinates the operation of the other sections of the computer.
Arithmetic & Logical Unit (ALU) ‑ where calculations, relational and logical operations are performed ‑ part of the CPU.
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.
Secondary Storage Unit ‑ secondary memory, permanent memory ‑ long term, secondary storage area for data and programs.
INTRODUCTION TO PROGRAMMING
5
Primary memory | Secondary |
Temporary, volatile | Permanent, non‑volatile |
Rapid access | Slower access (1/0) |
Low capacity | High capacity |
High cost | Low cost |
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.
In the beginning, there were…
INTRODUCTION TO PROGRAMMING
7
COMPUTER LANGUAGES
First generation ‑ Machine Language
0010 0000 0000 0100
0100 0000 0000 0101
0011 0000 0000 0110
INTRODUCTION TO PROGRAMMING
8
COMPUTER LANGUAGES
Second generation ‑ Assembly Languages
LOAD BASEPAY
ADD OVERPAY
STORE GROSSPAY
INTRODUCTION TO PROGRAMMING
9
COMPUTER LANGUAGES
Third generation ‑ Compiler Languages
GROSSPAY = BASEPAY + OVERPAY
INTRODUCTION TO PROGRAMMING
10
COMPUTER LANGUAGES
High‑level Language Translators
INTRODUCTION TO PROGRAMMING
11
source program
object program
compiler
or
interpreter
Compilers | Interpreters |
Slower translation Entire program Faster execution More efficient execution Good for commercial applications | Faster translation One instruction or macro at a time Slower execution Less efficient execution Good for program development |
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.”
Modern programs are projects composed of many of individual program modules that have to be linked together in order to be run. In fact most developer systems have their own integrated development environment (ide) and programs are developed in phases within the ide.
INTRODUCTION TO PROGRAMMING
12
REVIEW
INTRODUCTION TO PROGRAMMING
13
What did we learn in this lecture? Plenty.