I1100 - Introduction to Computer Science · technology to our work and social lives has created...
Transcript of I1100 - Introduction to Computer Science · technology to our work and social lives has created...
I1100Introduction to Computer Science
Semester: 1
Academic Year: 2018/2019
Credits: 3 (30 hours)
Dr. Antoun Yaacoub
Lebanese University
Faculty of Science
Computer Science BS Degree
Faculty of Science• 1 Deanery in Hadath
• 5 sections + antennas
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
2
Faculty of Science
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
Entrance
Physics
Electronics
Dpt
Maths
DptComputer Science
Statistics Dpt
Biology
Biochemistry
Dpts
Dean’s Office
3
MISPCE
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
M Mathematics
I Computer Sc.
S Statistics
P Physics
C Physical
Chemistry
E Electronics
BS 1 - Semester 1 BS 1 - Semester 2 BS 2 – BS 3
BS degree M1 degree
M2 Professional
M2 Research
Professional M2 in Cybersecurity
Professional M2 in Software Engineering
Professional M2 in WEB Development
Research M2 in Information Systems and
Data Intelligence
Research M2 in Information System:
Risk Prevention
4
I1100- Introduction to Computer ScienceSchedule
Monday Tuesday Wednesday Thursday Friday Saturday
08h00-09h40 I2232
9h00-12h00
B109h50-11h30I2204
Lab G1
I2204
B1
12h00-13h40I2204
B1
I2204
Lab G2
I1100
G6 / X4
1 week over 2
14h00-15h40
I1100
G6 / X5
Fixed
I1100
G4 / X7
1 week over 2
I1100
G4 / A3
fixed
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
6
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
7
Dr Antoun YaacoubOffice Faculty of Science – Section 1
Old Building – 2nd floor
Office 220
Email [email protected]
Websites www.antoun.me
www.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
8
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
9
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
12
Why this course ?Why is it addressed to MISPCE students?
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
13
Job ranking• 25. Mathematicians: Modern mathematicians analyze data and use statistical theories to help businesses and governments make decisions.
• 24. Actuary: These business professionals use math and economics to help corporations predict and manage risks by designing tests, analyzing models and presenting their findings to company executives. Their work is essential to insurance corporations, which set their fees based on the probabilities that particular events will occur.
• 23. Optometrist
• 22. Nurse Anesthetist
• 21. Respiratory Therapist
• 20. Physical Therapist Assistant
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
22
Job ranking• 19. Marketing Manager
• 18. Registered Nurse
• 17. Dental Hygienist
• 16. Prosthodontist
• 15. Psychiatrist
• 13. Surgeon (tie)
• 13. Anesthesiologist (tie)
• 12. Physical Therapist
• 11. Occupational Therapist
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
23
Job ranking• 8. Physician (tie)
• 8. Oral and Maxillofacial Surgeon (tie)
• 8. Obstetrician and Gynecologist (tie)
• 7. Pediatrician
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
24
Job ranking• 6. Statistician: Statisticians help businesses and governments make sophisticated decisions about complicated problems. They collect data about real-world scenarios, then use theories, models and specialized software to predict outcomes.Statisticians often have master’s degrees plus college degrees in mathematics, economics or computer science. They may specialize in fields like engineering or physics. Demand for statisticians is expected to increase by 33.4 percent by 2026.
• 5. Orthodontist
• 4. Nurse Practitioner
• 3. Physician Assistant
• 2. Dentist
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
25
Job ranking• 1. Software Developer: These days, code is king. The importance of technology to our work and social lives has created high demand for software developers, pushing their career to the top of this list. Software developers create, maintain and fix applications and programs for smartphones and computers, paying attention to both function and form.
• Software developers typically have college degrees in computer science or a related discipline. Employment opportunities in the field are skyrocketing; they’re expected to increase by more than 30 percent by 2026.
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
26
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
28
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
29
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
30
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
31
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
32
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
33
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
34
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
35
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
36
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
37
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
38
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
39
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
40
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
41
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
42
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
43
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
44
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
45
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
46
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
47
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
48
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
49
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
50
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
51
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
52
Mechanical Machines
(before 1930)
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
54
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.
55
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
56
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.
57
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.
58
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.
59
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)
60
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.
61
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
62
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
63
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
64
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
65
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
66
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.
67
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
68
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).
69
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
70
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.
71
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.
72
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.
73
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.
74
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.
75
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
76
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
77
Application Domain
• Production (robotics, management, ...)
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
78
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
79
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
80
Application Domain
• Avionics, Automotive, …
Intr
od
uct
ion
to
Co
mp
ute
r S
cie
nce
(I1
10
0)
20
18
-20
19
81