Lecture0 Introduction To Computing
Lecture0 Introduction To Computing
Introduction
1
What is a Computer?
Computer
Device capable of performing computations
and making logical decisions (i.e. executing
instructions)
Super computers, PC, mobile phones, microwave
ovens, …
2
TPU
TPU
Computer Organization Memory
CPU
Arithmetic Storage Unit
& Logic
Unit Memory Unit
Control Communication
Unit Unit
Flow of data
Memory centric
5
Computer Organization
1. Input unit
Obtains information from input devices
Keyboard, mouse, microphone, scanner, camera, …
2. Output unit
Takes information processed by computer
Places information on output devices
Screen, printer, 3D printer, speaker, …
Information used to control other devices
6
Computer Organization
7
Computer Organization
4. Memory unit (= Primary Memory = Main Memory)
Rapid access, relatively low capacity “warehouse”
section
9
Computer Organization
Communication unit/ device/ technology
Ethernet (IEEE 802.3)
Blue-tooth, NFC, RFID, …
Wi-Fi (IEEE 802.11a/b/g/n/ac)
Wi-Max
Infra-red
Fibre-optics
GSM, 3G, 4G, 5G, …
Computer programs
Sets of instructions that tells the computer
how to process the data
13
Machine Languages
Language that a computer directly understands
Defined by hardware design
Machine-dependent
Made up of 0s and 1s
Instruct computers to perform elementary operations
One at a time
Example:
00010101000101010100010110000001 means add a & b
10100101011010101010101010101010 means jmp loc
00000011111100000011111100000010 means int 21h
16
High-Level Languages (HLL)
HLL Compilation and Interpretation
The process of translating HLL programs to machine
code (or object code, intermediate code, binary
code)
18
History of C and C++
History of C
Evolved from two other programming languages
BCPL and B
Dennis Ritchie (Bell Laboratories)
Added data typing, other features
Development language of UNIX
Hardware independent
Portable programs
1989: ANSI standard
1990: ANSI and ISO standard published
ANSI/ISO 9899: 1990
19
History of C and C++
History of C++
Extension of C
Early 1980s: Bjarne Stroustrup (Bell Laboratories)
Provides capabilities for object-oriented programming (OOP)
Objects: reusable software components
• Model items in real world
Object-oriented programs
• Easy to understand, correct and modify
Hybrid language
C-like style
Object-oriented style
Both
20
Other High Level Languages
Java (now under Oracle Corporation)
1991: Sun Microsystems
Green project
1995: Sun Microsystems
Formally announced Java at trade show
OOP, C-like syntax, compact, portable, rich set of
libraries, and secure.
Web pages with dynamic and interactive content (Applet)
Develop large-scale enterprise applications
Enhance functionality of web servers
Provide applications for consumer devices
• Cell phones, pagers, personal digital assistants, …
21