Lebanese University Faculty of Science Computer Science BS Degree I1100 Introduction to Computer Science Semester: 1 Academic Year: 2018/2019 Credits: 3 (30 hours) Dr. Antoun Yaacoub
2 Faculty of Science 1 Deanery in Hadath 5 sections + antennas
Faculty of Science Maths Computer Science Dpt Statistics Dpt Biology Biochemistry Dpts Dean s Office Physics Electronics Dpt Entrance 3
MISPCE M2 Professional M Mathematics I Computer Sc. S Statistics P Physics C Physical Chemistry E Electronics BS degree M1 degree BS 1 - Semester 1 BS 1 - Semester 2 BS 2 BS 3 Professional M2 in Cybersecurity Professional M2 in Software Engineering Professional M2 in WEB Development M2 Research Research M2 in Information Systems and Data Intelligence Research M2 in Information System: Risk Prevention 4
www.fsciences.ul.edu.lb 5
I1100- Introduction to Computer Science Schedule 08h00-09h40 09h50-11h30 12h00-13h40 14h00-15h40 Monday Tuesday Wednesday Thursday Friday Saturday I2204 B1 I1100 G6 / X5 Fixed I2204 Lab G1 I2204 Lab G2 I1100 G4 / X7 1 week over 2 I2204 B1 I1100 G6 / X4 1 week over 2 I1100 G4 / A3 fixed I2232 9h00-12h00 B1 6
7 I1100- Introduction to Computer Science Grading Mid-term exam 30 pts Final Exam 70 pts Total 100 pts
Dr Antoun Yaacoub Office Faculty of Science Section 1 Old Building 2nd floor Office 220 Email Websites antoun.yaacoub@ul.edu.lb contact@antoun.me www.antoun.me www.fsciences.ul.edu.lb/antoun.yaacoub 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 9
10
11
Syllabus 1. Introduction to Computer Science 2. Computer architecture 3. Operating system 4. Software 5. Databases 6. Introduction to networks 7. Internet 12
Why this course? Why is it addressed to MISPCE students? 13
14
15
16
17
18
19
20
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 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 23
Job ranking 8. Physician (tie) 8. Oral and Maxillofacial Surgeon (tie) 8. Obstetrician and Gynecologist (tie) 7. Pediatrician 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 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. 26
Introduction to Computer Science 27
Introduction to Computer Science Outline of this lecture 1. 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) 28
Definitions Computer Science = Computing Science = Informatics Informatics = information + automatic Informatics = automation of information treatment by a system Computer = Computational device 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) 30
Data Processor Computer = Data processor? Computer acts as a black box that 1. accepts input data, 2. process the data 3. and creates output data. Input data Computer This model is too general, in the sense that a pocket calculator becomes also a computer! What if we need to compute 6 (20!+ )? Output data 31
Turing Model Universal computational device introduced by Alain Turing in 1937. The Turing model is a better model for a generalpurpose model. It adds an extra element: the program 32
Turing Model 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. Input data Program Computer Output data 34
Turing Model Program Input data Computer Output data 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. 35
Examples Program Sort 3, 12, 8, 22 Input data 14, 6, 8, 12 Input data Computer Program Sort Computer 3, 8, 12, 22 Output data 6, 8, 12, 14 Output data 36
Examples Program Sort 3, 12, 8, 22 Input data Computer 3, 8, 12, 22 Output data 3, 12, 8, 22 Input data Program Add Computer Program Find Smallest 45 Output data 3, 12, 8, 22 Input data Computer 3 Output data 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 38
Von Neumann Model Program Input data Computer Output data John Von Neumann proposed that programs should also be stored in the memory of a computer. 39
Four Subsystems Computers built on the Von Neumann model divide the computer hardware into four subsystems: Memory Input data Arithmetic logic unit Control unit Input/output Arithmetic Logic Unit (ALU) Control Unit Input/output Computer Memory Output data 40
Four Subsystems Memory Memory is the storage area. This is where programs and data are stored during processing. 41
Four Subsystems Arithmetic 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 42
Four Subsystems Control Unit The control unit controls the operations of the memory, ALU, and the input/output subsystem. 43
Four Subsystems Input / Output The input subsystem accepts input data from outside the computer. The output subsystem sends the results of processing to the outside world. 44
Programs in Von Neumann Model A program is made of a finite number of instructions. Instructions are executed one after another. 45
Computer Components A computer is made up of three components: a. Computer hardware b. Data c. Computer software 46
Computer Components Hardware Computer hardware has 4 basic components under the Von Neumann model. 47
Computer Components Data Different types of data: numbers, text, image, video, audio 48
Computer Components Software Programs are stored in the computer s memory. Program Data Memory 49
Computer Components Software Programs consist of a sequence of instructions. 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 Program 50
Computer Components Software 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. 51
Computer Components Algorithms A programmer must learn how to combine instructions to do a particular task. A programmer must first solve the problem in a step-bystep manner, then try to find the appropriate instruction (or series of instructions) to implement those steps. Step-by-step solution = Algorithm 52
Computer History Timeline 53
Mechanical Machines (before 1930) 54
One of the world s oldest computing device. The device uses beads attached to wires in a frame to represent units, tens and thousands. 2400 BC Abacus 55
Blaise Pascale invents the Pascaline, a mechanical adding machine 1642 Pascaline 56
Gottfried Leibnitz invented a more sophisticated mechanical calculator that could do multiplication and division as well as addition and substraction. 1671 Leibnitz Wheel 57
The first machine that used the idea of storage and programming. Uses punched cards like a stored program. 1801 Jacquard loom 58
Charles Babbage invented the Difference Engine, which can do more than simple arithmetic operations. It could solve polynomial equations. 1823 First Mechanica 59
Charles Babbage invented the Analytical Engine. 4 components: a mill (modern ALU), a store (memory), an operator (control unit), and output (input/output) 1837 Analytical Engin 60
Herman Hollerith built a programmable machine that could automatically read, count and sort data. 1890 First Counting M 61
Birth of electronic computers (1930-1950) 62
Early computers in this period did not store the program in memory. Five computers were prominent during these years 63
Konrad Zuse designed a general purpose machine using punch tape 1938 Z1 64
Called ABC (Atanasoff Berry Computer) Designed to solve a system of linear equations 1939 ABC 65
Invented by Alan Turing Designed to break the German Enigma code 1943 Colossus 66
Huge computer sponsored by US Navy and IBM at Harvard University. Uses both electrical and mechanical components. 1944 Mark 1 67
First totally electronic computer. Called ENIAC (Electronic Numerical Integrator And Calculator). Weighted 30 tons 1946 ENIAC 68
First computer based on Von Neumann s model. Called EDVAC (Electronic Discrete Variable Automatic Computer). 1950 EDVAC 69
Computer recent 5 generations (1950-present) 70
Computers follow the Von Neumann model. Become faster, smaller and cheaper. 5 generations with each witnessing major changes in hardware or software. 71
Emergence of commercial computers. Used by professionals. Affordable only by big companies. 1950 1959 First Ge 72
Size and cost reduced Affordable for small organizations FORTRAN and COBOL (programming languages) invented and made programming easier. 1959 1965 Second 73
Invention of integrated circuit (transistors, wiring and other components on a single chip). Minicomputers appeared on the market. Software packages became available. 1965 1975 Third Ge 74
Microcomputers appeared on the market. Computer networks appeared. 1975 1985 Fourth G 75
Appearance of laptops, pads, palmtop computers. Improvements in storage media: CD- ROM, DVD, Usage of multimedia Virtual reality From 1985 Fifth Gene 76
Application Domain Finance (stock exchange, banks,...) 77
Application Domain Production (robotics, management,...) 78
Application Domain Science (weather forecast, geography, physics, mathematics, medicine, pharmacy, genetics, ) 79
Application Domain Network Supervision (electricity, oil, transport,...) 80
Application Domain Avionics, Automotive, 81
References Foundations of Computer Science Behrouz 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 82