Fundamentals of Computing
Chapter 1: Overview of Computers and Programming
Prepared by:
Eng. Malek Al-Louzi
School of Computing and Informatics– Al Hussein Technical University
Outlines
Computers Overview
Hardware
Memory
Software
Computer Languages
Page 2
Computers
Machines which receive, store, process, and output information
can deal with data of all kinds: numbers, text, images, graphics, and
sound.
Page 3
The elements of a computer system
Hardware is the equipment used to perform the necessary
computations which includes: the central processing unit
(CPU),Memory, monitor, keyboard, mouse, printer, and speakers.
Software consists of the programs that enable us to solve
problems with a computer by providing it with lists of instructions to
perform.
Page 4
Hardware
Components of a Computer
Page 6
Memory
Essential component in any computer
Ordered sequence of storage locations called memory cells, To store
and access information.
Each memory cell has a unique address that indicates its relative
position in memory.
Communication with memory is done using three Buses:
Data Bus (To read/write the actual data).
Address Bus (to identify the exact memory cell to read or write).
Control Bus (to control if I want to read or write).
The data stored in a memory cell are called the contents of the cell.
Page 7
Memory
1000 memory Cells.
A memory cell is a grouping of smaller units called bytes
A byte is composed of even smaller units of storage called
bits.
The term bit , derived from the words binary digit , is the
smallest element a computer can deal with.
Page 8
Numbering System
A numbering system is a systematic method for representing
numbers using a particular set of symbols.
Binary System.
Decimal System.
Octal System.
Hexadecimal System.
Page 9
Binary System
Binary refers to a number system based on two numbers, 0 and 1, so
a bit is either a 0 or a 1
Generally, there are 8 bits to a byte.
Page 10
Storage Capacity
Page 11
Main Memory
Stores programs, data, and results.
Two types of main memory:
Random access memory (RAM):
Temporary storage of programs and data.
Usually volatile memory , which means that everything in RAM will be
lost when the computer is switched off.
Read-only memory (ROM):
Stores programs or data permanently.
Not volatile, the data stored there do not disappear when the computer
is switched off.
Page 12
Central Processing Unit
central processing unit (CPU) has two roles:
coordinating all computer operations.
performing arithmetic and logical operations on data.
Follows the instructions contained in a computer program to determine
which operations should be carried out and in what order.
CPU retrieves each instruction in sequence (called fetching an
instruction ).
CPU’s current instruction and data values are stored temporarily inside
the CPU in special high-speed memory locations called registers.
Page 13
Page 14
Software
Operating System
It is the software that is responsible for directing all computer
operations and managing all computer resources.
We will use Ubuntu OS for this class.
Page 16
Computer Languages
Developing new software requires writing lists of instructions for a
computer to execute.
The Computer only understand machine language.
Machine language is a collection of binary numbers.
Software developers rarely write in the machine language.
Another drawback of machine language is that it is not standardized.
There is a different machine language for every type of CPU.
Assembly language is more readable.
Page 17
Machine Language Program Fragment
and its Assembly Language Equivalent
Page 18
Assembly language
A language in which computer operations are represented by mnemonic
codes rather than binary numbers.
Variables can be given names rather than binary memory addresses.
Each assembly language instruction corresponds to exactly one machine
instruction.
Page 19
High-level languages
To write programs that are independent of the CPU.
Combine algebraic expressions and symbols taken from English.
Example: a = a + b;
It is easier to express problem solutions in high-level languages.
Remains the problem that computers do NOT understand these languages.
Thus, before a high-level language program can be executed, it must first be translated
into the target computer’s machine language.
The program that does this translation is called a compiler.
Page 20
Levels of Programming Language Example
High-level
Low-level assembly
Machine binary language
Page 21
Any Questions???…
Page 22