Post on 27-Apr-2020
I1100Introduction to Computer Science
Semester: 1
Academic Year: 2019/2020
Credits: 3 (30 hours)
Dr. Antoun Yaacoub
Lebanese University
Faculty of Science
Computer Science BS Degree
I1100- Introduction to Computer ScienceSchedule
Monday Tuesday Wednesday Thursday Friday
08h00-09h40
09h55-11h35
12h00-13h40
I1100
G4 / A3
1 week over 2
I1100
G2 / X5
1 week over 2
14h00-15h40
I1100
G2 / X5
Fixed
I1100
G5 / 32
1 week over 2
I1100
G5 / 31
Fixed
I1100
G4 / A3
fixed
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
2
I1100- Introduction to Computer ScienceGrading
Mid-term exam 30 pts
Final Exam 70 pts
Total 100 pts
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
3
Dr Antoun YaacoubOffice Faculty of Science – Section 1
Old Building – 2nd floor
Office 220
Email antoun.yaacoub@ul.edu.lb
contact@antoun.me
Websites www.antoun.mewww.fsciences.ul.edu.lb/antoun.yaacoub
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
4
Aim• Introducing fundamental topics in Informatics
• Developing a basic understanding of Information Theory
• Emphasizing its use in the modeling of nature and technology
• Resources of this course are available on www.antoun.me
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
5
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
6
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
7
Syllabus1. Introduction to Computer Science
2. Computer architecture
3. Operating system
4. Software
5. Databases
6. Introduction to networks
7. Internet
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
8
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
9
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
10
LUCPC LCPC ACPC ICPC
www.fsciences.ul.edu.lb/lcpc
www.fsciences.ul.edu.lb/lucpc
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
11
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
12
Introduction to Computer Science
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
13
Introduction to Computer ScienceOutline of this lecture1. Definitions
a. Turing Model
b. Von Neumann Model
2. Computer Components
a. Hardware
b. Data
c. Software
3. History
a. Mechanical Machines (before 1930)
b. The birth of electronic computers (1930-1950)
c. Computer Generations (1950-present)
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
14
Definitions• Computer Science = Computing Science = Informatics
• Informatics = information + automatic
• Informatics = automation of information treatment by a system
• Computer = Computational device
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
15
Example of a computational device• Show the steps that your perform if you want the result of the sum between 2 and 3.
• Press on 2 (input the data 2)
• Press on + (compute the sum operation)
• Press on 3 (input the data 3)
• Press on = (output the final result)
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
16
Data Processor• Computer = Data processor ?
• Computer acts as a black box that1. accepts input data,
2. process the data
3. and creates output data.
• This model is too general, in the sense that a pocket calculator becomes also a computer !
• What if we need to compute 6 ∗ �� − (20! +�
�) ?
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
ComputerInput data Output data
17
Turing Model�Universal computational device introduced by Alain Turing in 1937.
� The Turing model is a better model for a general-purpose model.
� It adds an extra element: the program
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
18
Turing Model
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
PROGRAM
a sequence of instructions that
tells the computer what to do with
data
19
Turing Model• In the Turing model, the output data depends on the combination of two factors: the input data and the program.
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
ComputerInput data Output data
Program
20
Turing Model
• With the same input data, we can generate different outputs if we change the program.
• With the same program, we can generate different outputs if we change the input data.
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
ComputerInput data Output data
Program
21
Examples
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
Computer3, 12, 8, 22
Input data
3, 8, 12, 22
Output data
SortProgram
Computer14, 6, 8, 12
Input data
6, 8, 12, 14
Output data
SortProgram
22
Examples
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
Computer3, 12, 8, 22
Input data
3, 8, 12, 22
Output data
SortProgram
Computer3, 12, 8, 22
Input data
45
Output data
AddProgram
Computer3, 12, 8, 22
Input data
3
Output data
Find SmallestProgram
23
Turing Model• Universal Turing Machine = machine that can do any computation if the appropriate program is provided
• Universal Turing Machine = capable of computing anything that is computable
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
24
Von Neumann Model
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
Input data Output data
Program
• John Von Neumann proposed that programs should also be stored in the memory of a computer.
Computer
25
Four Subsystems• Computers built on the Von Neumann model divide the computer hardware into four subsystems:
� Memory
� Arithmetic logic unit
� Control unit
� Input/output
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
Computer
Input
dataOutput
data
Input/output
Memory
Arithmetic Logic Unit
(ALU)
Control Unit
26
Four SubsystemsMemory
•Memory is the storage area.
• This is where programs and data are stored during processing.
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
27
Four SubsystemsArithmetic Logic Unit (ALU)
• ALU is where calculation operation take place.
• For a computer to act as a data processor, it must be able to do:
a. Arithmetic operations on data
b. Logical operations on data
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
28
Four SubsystemsControl Unit
• The control unit controls the operations of the
�memory,
�ALU,
� and the input/output subsystem.
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
29
Four SubsystemsInput / Output
• The input subsystem accepts input data from outside the computer.
• The output subsystem sends the results of processing to the outside world.
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
30
Programs in Von Neumann Model
• A program is made of a finite number of instructions.
• Instructions are executed one after another.
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
31
Computer Components• A computer is made up of three components:
a. Computer hardware
b. Data
c. Computer software
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
32
Computer ComponentsHardware
• Computer hardware has 4 basic components under the Von Neumann model.
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
33
Computer ComponentsData
• Different types of data:
� numbers,
� text,
� image,
� video,
� audio
�…
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
34
Computer ComponentsSoftware
• Programs are stored in the computer’s memory.
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
Program
Data
Memory
35
Computer ComponentsSoftware
• Programs consist of a sequence of instructions.
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
Program
1. Input the first number into memory
2. Input the second number into memory
3.Add the two together and store the result in memory
4.Output the result
36
Computer ComponentsSoftware• A program must be composed of instructions for reusability.
• A programmer can combine instructions to make any number of programs.
• Each program can be a different combination of different instructions.
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
37
Computer ComponentsAlgorithms• A programmer must learn how to combine instructions to do a particular task.
• A programmer must first solve the problem in a step-by-step manner, then try to find the appropriate instruction (or series of instructions) to implement those steps.
• Step-by-step solution = Algorithm
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
38
Computer History Timeline
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
39
Mechanical Machines
(before 1930)
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
40
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
2400 BC Abacus
• One of the world’s oldest computing device.
• The device uses beads attached to wires in a frame to represent units, tens and thousands.
41
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
1642 Pascaline
• Blaise Pascale invents the “Pascaline”, a mechanical adding machine
42
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
1671 Leibnitz Wheel
• Gottfried Leibnitz invented a more sophisticated mechanical calculator that could do multiplicationand division as well as additionand substraction.
43
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
1801 Jacquard loom
• The first machine that used the idea of storage and programming.
• Uses punched cards like a stored program.
44
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
1823 First Mechanical Computer
• Charles Babbage invented the Difference Engine, which can do more than simple arithmetic operations.
• It could solve polynomial equations.
45
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
1837 Analytical Engine
• Charles Babbage invented the Analytical Engine.
• 4 components: a mill (modern ALU), a store (memory), an operator (control unit), and output (input/output)
46
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
1890 First Counting Machine
• Herman Hollerith built a programmable machine that could automatically read, count and sort data.
47
Birth of electronic computers
(1930-1950)
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
48
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
•Early computers in this period did not store the program in memory.
•Five computers were prominent during these years
49
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
1938 Z1
• Konrad Zusedesigned a general purpose machine using punch tape
50
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
1939 ABC
• Called ABC (Atanasoff Berry Computer)
• Designed to solve a system of linear equations
51
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
1943 Colossus
• Invented by Alan Turing
• Designed to break the German Enigma code
52
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
1944 Mark 1
• Huge computer sponsored by US Navy and IBM at Harvard University.
• Uses both electrical and mechanical components.
53
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
1946 ENIAC
• First totally electronic computer.
• Called ENIAC (Electronic Numerical Integrator And Calculator).
• Weighted 30 tons
54
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
1950 EDVAC
• First computer based on Von Neumann’s model.
• Called EDVAC (Electronic Discrete Variable Automatic Computer).
55
Computer recent 5 generations
(1950-present)
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
56
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
•Computers follow the Von Neumann model.
•Become faster, smaller and cheaper.
• 5 generations with each witnessing major changes in hardware or software.
57
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
1950 – 1959 First Generation
• Emergence of commercial computers.
• Used by professionals.
• Affordable only by big companies.
58
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
1959 – 1965 Second Generation
• Size and cost reduced
• Affordable for small organizations
• FORTRAN and COBOL (programming languages) invented and made programming easier.
59
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
1965 – 1975 Third Generation
• Invention of integrated circuit (transistors, wiring and other components on a single chip).
• Minicomputers appeared on the market.
• Software packages became available.
60
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
1975 – 1985 Fourth Generation
• Microcomputers appeared on the market.
• Computer networks appeared.
61
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
From 1985 Fifth Generation
• Appearance of laptops, pads, palmtop computers.
• Improvements in storage media: CD-ROM, DVD, …
• Usage of multimedia
• Virtual reality
62
Application Domain
• Finance (stock exchange, banks, ...)
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
63
Application Domain
• Production (robotics, management, ...)
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
64
Application Domain
• Science (weather forecast, geography, physics, mathematics, medicine, pharmacy, genetics,… )
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
65
Application Domain
•Network Supervision (electricity, oil, transport, ...)
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
66
Application Domain
• Avionics, Automotive, …
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
67
References• Foundations of Computer ScienceBehrouz A. Forouzan, Firouz Mosharraf
• http://wallblog.co.uk/files/2012/06/History-of-Computers.jpg
• http://www.datesandevents.org/events-timelines/07-computer-history-timeline.htm
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
68