I1100 - Introduction to Computer Science · technology to our work and social lives has created...

82
I1100 Introduction 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

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

Intr

od

uct

ion

to

Co

mp

ute

r S

cie

nce

(I1

10

0)

20

18

-20

19

www.fsciences.ul.edu.lb

5

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]

[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

Intr

od

uct

ion

to

Co

mp

ute

r S

cie

nce

(I1

10

0)

20

18

-20

19

10

Intr

od

uct

ion

to

Co

mp

ute

r S

cie

nce

(I1

10

0)

20

18

-20

19

11

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

Intr

od

uct

ion

to

Co

mp

ute

r S

cie

nce

(I1

10

0)

20

18

-20

19

14

Intr

od

uct

ion

to

Co

mp

ute

r S

cie

nce

(I1

10

0)

20

18

-20

19

15

Intr

od

uct

ion

to

Co

mp

ute

r S

cie

nce

(I1

10

0)

20

18

-20

19

16

Intr

od

uct

ion

to

Co

mp

ute

r S

cie

nce

(I1

10

0)

20

18

-20

19

17

Intr

od

uct

ion

to

Co

mp

ute

r S

cie

nce

(I1

10

0)

20

18

-20

19

18

Intr

od

uct

ion

to

Co

mp

ute

r S

cie

nce

(I1

10

0)

20

18

-20

19

19

Intr

od

uct

ion

to

Co

mp

ute

r S

cie

nce

(I1

10

0)

20

18

-20

19

20

Intr

od

uct

ion

to

Co

mp

ute

r S

cie

nce

(I1

10

0)

20

18

-20

19

21

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 Science

Intr

od

uct

ion

to

Co

mp

ute

r S

cie

nce

(I1

10

0)

20

18

-20

19

27

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

Computer History Timeline

Intr

od

uct

ion

to

Co

mp

ute

r S

cie

nce

(I1

10

0)

20

18

-20

19

53

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

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

82