PF Lec 1
PF Lec 1
SECTION 1
HARDWARE REVIEW
Essential components that are present
in every type of computers
At the highest level, two things
are required for computing
Hardware: The physical equipment in a
computing environment such as the
computer and its peripheral devices
(printers, speakers, etc.)
????
The Bus!
Contro Keyboar Mou
Integer
l d se
Unit
Unit Compac
Floatin t
Cache
g Disk
Memor
Point
y
Unit
Processor
M Hard
System Bus
e Disk
m
o
r
y
B
u
Memory Printer Monitor
s
Input Devices
• Mouse
• Keyboard
• Joystick
• Camera
• Microphone
• Scanner
What’s a
Port?
Port
The connection point at which we connect
input and output devices to a computer
Many Types of Ports
1. Parallel
2. Serial
3. SCSI
4. USB
5. Firewire
Processor
• Pentium
• Celeron
• Athlon
• PowerPC
• Crusoe (Laptops)
• SPARC (Workstations)
Memory/Storage
• RAM
• Punch cards
• ROM
• Hard disk
• Floppy disk
• Tape
• CD
• DVD
Classifying Memory/Storage
• Electronic (RAM, ROM)
magnetic (HD, FD, Tape), optical (CD, DVD)
Plotter
Speakers
Monitor
modem
input device or output device?
mo●dem
Modem is an example of a device
that acts both as an input as well
as an output device
– Network card
– Touch screens
SECTION 2
SOFTWARE REVIEW
Two things are required for
computing
• Application SW
– Programs that generally interact with the user to perform
work that is useful to the user. These programs generally
talk to the HW through the assistance of system SW
System software
Application software
Programming
Language?
A vocabulary and set of
grammatical rules for
instructing a computer to
perform specific tasks
There are rules for both
Syntax (grammar)
and
Semantics (meaning)
Syntax
• A formal Set of Rules that defines exactly
what combinations of letters, numbers and
symbols can be used in a programming
language.
• Syntax rules are the blue prints to build
instructions in a Program, to assemble
constructs (correct structures) from the basic
building blocks
If a program violates any of the rules of the
language , it is said to have Syntax errors
Syntax Rules themselves are written in a very
simple, precise, formal language called
Meta-language. (e.g., Backus-Naur Form)
Examples of
Programming
Language?
Machine Language
Assembly Language (1956-63)
LISP (1956)
Fortran (1957) Ada(1983)
COBOL (1959) C++ (1983-85)
PL/1(1964) QBasic (1986)
BASIC (1964) Perl (1987)
Pascal (1970) VisualBasic (1991)
Smalltalk (1972) PowerBuilder
C (1972) Java (1995)
JavaScript
C# (2001)
Types of
Programming
Languages?
Computer Programming
Languages
Err
ors
contd..
• Variety of source languages e.g. C,
Pascal.
• Variety of target languages e.g. any
other programming language, machine
language of any computer b/w a
microprocessor to a super computer.
Compiler
Assembly
Language
Assemble Machine
Language
Program r Program
ST 1,[801]
01001001
. . .
10010100
Primary Memory
CPU takes each
CPU instruction and
executes it, possibly
storing new data
..
..
values as the program
..
executes.
Language Processing System Text Editor:
• Used to write the code
Other Sources Text Editor Debugger of the program in high
& modules level language.
Skeletal Source Program
Preprocessor
• Word Processor can’t
be used because lot of
Source Program other information
Compiler including the text is
Target Assembly Program saved in the file
Assembler • Some Text Editors for
Relocatable machine code certain languages has
or Object Code special features
Linker specifically designed
Absolute Machine Code for editing source
Loader programs in that
languages
• Language Processing System Skeletal Source
Program / Code
Other Sources Text Editor Debugger • Contains that part of
& Programs
Skeletal Source Program source code (written in
Preprocessor
high level language)
which defines the basic
Source Program functionality of your
Compiler program.
Target Assembly Program
Assembler
Relocatable machine code
or Object Code
Linker
Source Program
Compiler
Target Assembly Program
Assembler
Relocatable machine code
or Object Code
Linker
Source Program
Compiler
Target Assembly Program
Assembler
Relocatable machine code
or Object Code
Linker
Source Program
Compiler
Target Assembly Program
Assembler
Relocatable machine code
or Object Code
Linker
Assembler
Relocatable machine code
or Object Code
Linker