Information Technology Essentials Lecture 02 PDF Fall 2024
Document Details
The National School of Artificial Intelligence
2024
Dr. Karim Lounis
Tags
Summary
This PDF is a lecture on information technology essentials. It covers computer systems, components, and algorithms. The lecture was given in Fall 2024 at The National School of Artificial Intelligence.
Full Transcript
Information Technology Essentials — Lecture 02 Dr. Karim Lounis Fall 2024 Dr. Karim Lounis Information Technology Essentials Fall 2024 1 / 33 Concetps, notions, and terminologies in Computers Computer Systems Computer Sy...
Information Technology Essentials — Lecture 02 Dr. Karim Lounis Fall 2024 Dr. Karim Lounis Information Technology Essentials Fall 2024 1 / 33 Concetps, notions, and terminologies in Computers Computer Systems Computer Systems Dr. Karim Lounis Information Technology Essentials Fall 2024 2 / 33 Concetps, notions, and terminologies in Computers Computer Systems What is a system? Dr. Karim Lounis Information Technology Essentials Fall 2024 3 / 33 Concetps, notions, and terminologies in Computers Computer Systems Systems Definition System. Is a set of components that work together to achieve specific objectives or functions (i.e., provide a service). Dr. Karim Lounis Information Technology Essentials Fall 2024 4 / 33 Concetps, notions, and terminologies in Computers Computer Systems Systems Could you think of real examples of systems? Dr. Karim Lounis Information Technology Essentials Fall 2024 5 / 33 Concetps, notions, and terminologies in Computers Computer Systems Systems Definition System. Is a set of components that work together to achieve specific objectives or functions (i.e., provide a service). Dr. Karim Lounis Information Technology Essentials Fall 2024 6 / 33 Concetps, notions, and terminologies in Computers Computer Systems What is a computer system? Dr. Karim Lounis Information Technology Essentials Fall 2024 7 / 33 Computer Systems Computers Computers Dr. Karim Lounis Information Technology Essentials Fall 2024 8 / 33 Computer Systems Computers Computers What is a Computer? Dr. Karim Lounis Information Technology Essentials Fall 2024 9 / 33 Computer Systems Computers Computers Look at these images and tell what do they have in common. Dr. Karim Lounis Information Technology Essentials Fall 2024 10 / 33 Computer Systems Computers Computers Look at these images and tell what do they have in common. In fact, all these are computers... computers are not just laptops and desktops Dr. Karim Lounis Information Technology Essentials Fall 2024 11 / 33 Computer Systems Computers Computers Definition Computer. It is an electronic machine that is designed to automatically compute problems at a very high velocity. Dr. Karim Lounis Information Technology Essentials Fall 2024 12 / 33 Computer Systems Computers Computers What do We Use Computers for? Dr. Karim Lounis Information Technology Essentials Fall 2024 13 / 33 Computer Systems Computers Computers Why do we need computers? Data Processing and Analysis: Computers can analyze large volumes of data quickly and accurately (good for decision-making). Automation and Efficiency: Computers automate tasks that would be time-consuming and error-prone if done manually. Communication and Connectivity: Computers enable global communi- caiton using various tools. Innovation and Creativity: Computers provide tools for creative activi- ties, e.g., creating multimedia content. Research and Exploration: Computers allow access to a large amount of various information. Education and Learning: Computers have revolutionized education by providing access to online learning resources (e.g., virtual classrooms). And more: entertainment, healthcare, finance, e-commerce, weather pre- diction, space exploration, agriculture, social-interaction, etc. Dr. Karim Lounis Information Technology Essentials Fall 2024 14 / 33 Computer Systems Computers Computers Definition Computer. It is an electronic machine that is designed to automatically compute problems at a very high velocity. Let us take a moment and analyze the above definition: Eletronic machines: Following the the development of electronics. Moore’s Law. It is an observation that the number of transistors in an integrated circuit (IC) doubles about every two years. Automatic: Reducing human intervention. Compute: means, solve problems. Problem: A situation or question that requires a solution. Dr. Karim Lounis Information Technology Essentials Fall 2024 15 / 33 Computer Systems Computers Computers Definition Computer. It is an electronic machine that is designed to automatically compute problems at a very high velocity. Eletronic machines: Following the the development of electronics. Automatic: Reducing human intervention. Compute: solve problems. Problem: A question that requires a solution. In general, problems that can be solved (computed) using a computer are called computable problems (Computability). Also, we may say that a computer decides a problem (Decidability). This regards decision problems. Dr. Karim Lounis Information Technology Essentials Fall 2024 16 / 33 Computer Systems Computers Computers Definition Computer. It is an electronic machine that is designed to automatically compute problems at a very high velocity. Eletronic machines: Following the the development of electronics. Automatic: Reducing human intervention. Compute: solve problems. Problem: A question that requires a solution. Of course, some problems cannot be solved. They are called: uncomputable problems or undecidable problems. Dr. Karim Lounis Information Technology Essentials Fall 2024 17 / 33 Computer Systems Computers Computers Definition Computer. It is an electronic machine that is designed to automatically compute problems at a very high velocity. Eletronic machines: Following the the development of electronics. HowReducing Automatic: do computers try to solve problems? human intervention. Compute: solve problems. Problem: A question that requires a solution. Of course, some problems cannot be solved. They are called: uncomputable problems or undecidable problems. Dr. Karim Lounis Information Technology Essentials Fall 2024 17 / 33 Computer Systems Computers Computers To solve a problem using a computer, the following steps are performed: 1 We analyze and understand the problem. 2 We propose a solution to the problem. 3 We write the solution as a set of finite steps, called algorithm. 4 We translate the algorithm into a program by rewriting all the steps using a programming language. 5 Feed the computer with the written program with any required intput. 6 The computer, may use another program to translate the written pro- gram into a sequence of instructions — known as machine code. 7 The computer automatically executes the produced machine code and rapidly solves the problem. 8 The computer outputs the results (output). Dr. Karim Lounis Information Technology Essentials Fall 2024 18 / 33 Computer Systems Computers Computers To solve a problem using a computer, the following steps are performed: 1 We analyze and understand the problem. Algorithm 2 We propose a solution to the problem. éJ ÓPP@ñk 3 We write the It is a finite solution as asequence of steps set of finite steps,tocalled solve algorithm. a problem. 4 We translate the algorithm into a program by rewriting all the steps using a programming language (producing the source code). 5 Feed the computer with the written program with any required intput. 6 The computer, may use another program to translate the written pro- gram into a sequence of instructions Muh.ammad ibn Musa— known as machine al-Khwarizmi code. (780-850) 7 The computer automatically executes the produced machine code and rapidly solves the problem. 8 The computer outputs the results (output). Dr. Karim Lounis Information Technology Essentials Fall 2024 19 / 33 Computer Systems Computers Computers To solve a problem using a computer, the following steps are performed: 1 We analyze and understand the problem. Algorithm 2 We propose a solution to the problem. éJ ÓPP@ñk 3 We write theAlgorithms solution ashave a setcharacteristiques: of finite steps, called algorithm. 4 Finite set of steps. We translate the algorithm into a program by rewriting all the steps Stepslanguage. using a programming are unambiguous. 5 Feed the computerInputs with and outputs.program with any required intput. the written 6 The computer, mayTermination. use another program to translate the written pro- gram into a sequence of instructions — known as machine code. Feasability. 7 The computer automatically Expressed inexecutes natural the produced machine code and language. rapidly solves the problem. 8 The computer outputs the results (output). Dr. Karim Lounis Information Technology Essentials Fall 2024 20 / 33 Computer Systems Computers Computers To solve a problem using a computer, the following steps are performed: 1 We analyze and Let Algorithm understand us solve the problem. a problem. 2 We propose a solution to the problem. Problem statement 1. Given a list of random natural numbers, 3 We write the solution as a set we would like of tofinite steps, compute called their algorithm. product. 4 We translate the algorithm into a program by rewriting all the steps usingLet us write an algorithm a programming language.that solves the problem. 5 Feed the computer with the written program with any required intput. 6 The computer, may use another program to translate the written pro- gram into a sequence of instructions — known as machine code. 7 The computer automatically executes the produced machine code and rapidly solves the problem. 8 The computer outputs the results (output). Dr. Karim Lounis Information Technology Essentials Fall 2024 21 / 33 Computer Systems Computers Computers To solve a problem using a computer, the following steps are performed: 1 We analyze and Let Algorithm understand us solve the problem. a problem: 2 We propose a solution to the problem. Algorithm 1 3 We write the solution as a set of finite steps, called algorithm. 4 1 Obtain We translate thethe complete algorithm lista ofprogram into those numbers. by rewriting all the steps using a2 programming language. Take the first number and multiply it with the second 5 number then Feed the computer withwrite down the the written result. with any required intput. program 6 3 Take the The computer, maynext use number another on the listtoand program multiply translate theit written with thepro- gram intoresult you wrote a sequence down in Step of instructions — 2. known as machine code. 7 4 Repeat The computer Step 3 untilexecutes automatically numberstherunproduced out. machine code and rapidly 5solves the problem. Announce the final result. 8 The computer outputs the results (output). Dr. Karim Lounis Information Technology Essentials Fall 2024 22 / 33 Computer Systems Computers Computers To solve a problem using a computer, the following steps are performed: 1 We analyze and Let Algorithm understand us solve the problem. a problem: 2 We propose a solution to the problem. Algorithm 1 3 We write the solution as a set of finite steps, called algorithm. 4 1 Obtain We translate thethe complete algorithm lista ofprogram into those numbers. by rewriting all the steps using a2 programming language. Take the first number and multiply it with the second 5 number then Feed the computer withwrite down the the written result. with any required intput. program 6 3 Take the The computer, maynext use number another on the listtoand program multiply translate theit written with thepro- gram intoresult you wrote a sequence down in Step of instructions — 2. known as machine code. 7 4 Repeat The computer Step 3 untilexecutes automatically numberstherunproduced out. machine code and rapidly 5solves the problem. Announce the final result. 8 The computer outputs the results (output). Does this conform to the characteristics of an algorithm? Dr. Karim Lounis Information Technology Essentials Fall 2024 23 / 33 Computer Systems Computers Computers To solve a problem using a computer, the following steps are performed: 1 We analyze and Let Algorithm understand us solve the problem. another problem. 2 We propose a solution to the problem. Problem statement 2. We want to deliver a parcel (e.g., could be 3 We write the solution an eggastray) a settoofa finite steps,using customer called algorithm. a drone. 4 We translate the algorithm into a program by rewriting all the steps using a programming language. 5 Feed the computer with the written program with any required intput. 6 The computer, may use another program to translate the written pro- gram into a sequence of instructions — known as machine code. 7 The computer automatically executes the produced machine code and Let us write an algorithm that solves the problem. rapidly solves the problem. 8 The computer outputs the results (output). Dr. Karim Lounis Information Technology Essentials Fall 2024 24 / 33 Computer Systems Computers Computers We do not want this: Dr. Karim Lounis Information Technology Essentials Fall 2024 25 / 33 Computer Systems Computers Computers We want something close, or even better than this: Dr. Karim Lounis Information Technology Essentials Fall 2024 26 / 33 Computer Systems Computers Computers To solve a problem using a computer, the following steps are performed: 1 We analyze and Here Algorithm understand the problem. is an attempt to solve this (Algorithm 2): 2 We propose a solution 1 Obtain to the problem. the customer location. 3 We write the solution 2 Check as a setisofwithin that location finite drone’s steps, called algorithm. operational range. 4 Otherwise, We translate cancel delivery the algorithm and notify into a program bycustomer rewriting(go2 Step all the 9). steps using a3 programming language. Load drone with parcel (may need assistance). 5 Feed the 4 computer withflythe Take off and to written customerprogram with any required intput. location. 6 The computer, may use 5 Use drone’s another sensors program to avoid to translate collisions duringthe written pro- flight. gram into a sequence of instructions — known as machine 6 Inform customer that drone is approaching destination. code. 7 The computer 7 Gently automatically executes release the parcel theparachute using producedatmachine code and a safe spot. rapidly 8solves the problem. Confirm successful delivery with the customer. If successful 8 The computer outputs delivery the results is confirmed, (output). return to store. Otherwise,... 9 Announce delivery status to the customer service. Dr. Karim Lounis Information Technology Essentials Fall 2024 27 / 33 Computer Systems Computers Computers To solve a problem using a computer, the following steps are performed: 1 We analyze and Let Algorithm understand us solve the problem. another problem. 2 We propose a solution to the problem. Problem statement 3. Salim wants to send some confidential 3 We write the solution documents to Ali as in aa set of finite locked steps, called box without algorithm. sharing the key for his 4 We translate lock with the Ali. algorithm Also, the into a program postman will notbyberewriting all the able to open thesteps box. using a programming language. 5 Feed the computer with the written program with any required intput. 6 The computer, may use another program to translate the written pro- gram into a sequence of instructions — known as machine code. 7 The computer automatically executes the produced machine code and rapidly solves the problem. Let us write an algorithm that solves the problem. 8 The computer outputs the results (output). The box should not be broken or destroyed. Dr. Karim Lounis Information Technology Essentials Fall 2024 28 / 33 Computer Systems Computers Computers ToAlgorithm Here is solve a problem an attempt using to solve a computer, the this (Algorithm following steps are3):performed: 1 Put confidential documents in box then lock the box. 1 We analyze and understand the problem. 2 Send box to Ali. 2 We propose a solution to the problem. 3 Postman collects the box and transports it to Ali. 3 We write the solution as a set of finite steps, called algorithm. 4 When Ali receives the box, he locks it again with his lock. 4 We translate the algorithm into a program by rewriting all the steps 5 Send the box to Salim. using a programming language. 6 Postman collects the box and transports it to Salim. 5 Feed the computer with the written program with any required intput. 7 When Salim receives the box, he removes his lock from the box. 6 The computer, may use another program to translate the written pro- 8 Send box to Ali. gram into a sequence of instructions — known as machine code. 9 Postman collects the box and transports it to Ali. 7 The computer automatically executes the produced machine code and rapidly 10 Whensolves the problem. Ali receives the box, he removes his lock from the box. 8 The 11Alicomputer opens theoutputs box andthecollects resultsthe (output). documents. Dr. Karim Lounis Information Technology Essentials Fall 2024 29 / 33 Computer Systems Computers Computers To solve a problem using a computer, the following steps are performed: 1 We Algorithms, analyze and understand the problem. Computability, & Uncomputability: 2 We Inpropose a solution theoritical to the problem. computer science, computability looks at 3 We whether write thea solution problem as cana beset solved of finite steps, using an called algorithm. algorithm or not. 4 We I.e., translate given athe algorithm problem, into if you cana find program by rewriting an algorithm all solve that can the steps using a programming language. that problem for whatever input (and will always terminate — 5 Feed the computer halt), with theiswritten then the problem program computable —with any required intput. or decidable. 6 TheUncomputable computer, may problems use another are program to translate those problems the we for which written can- pro- gram into a sequence of instructions — known as machine code. not construct an algorithm to solve the problem in finite time. 7 The computer automatically executes the produced machine code and Example: The halting problem is uncomputable, and more rapidly solves the problem. precisely, we say it is undecidable. 8 The computer outputs the results (output). Dr. Karim Lounis Information Technology Essentials Fall 2024 30 / 33 Computer Systems Computers Computers To solve a problem using a computer, the following steps are performed: 1 We Algorithms analyze and & understand the problem. Complexity: 2 We Complexity propose a solution studiesto thethe problem. difficulty of solving comptational prob- 3 We lems writeby thelooking solutionatastheir a setsolvability, of finite steps, called algorithm. requirements (space and 4 time), efficiency, and classification. We translate the algorithm into a program by rewriting all the steps using a programming Space complexitylanguage. looks at how much memory I need to solve 5 Feed thethe computer problem, with the whereas timewritten program complexity with looks at any howrequired intput. much time 6 I need to solve the problem (focusing on worst case scenario). The computer, may use another program to translate the written pro- gram intonotation: a sequence of instructions √ Big-O O(1), O(log (n)), — O(known as machine n), O(n), O(n·logcode. (n)), 7 TheO(n 2 ), O(nautomatically computer 3 ),..., O(2n ),executes the produced machine code and and O(n!). rapidly solves the problem. 8 The computer outputs the results (output). Dr. Karim Lounis Information Technology Essentials Fall 2024 31 / 33 Computer Systems Computers Computers To solve a problem using a computer, the following steps are performed: 1 We analyze and Let Algorithm understand us solve the problem. another problem. 2 We propose a solution to the problem. Problem statement 4. We want to display the numbers from 1 to 3 We write 100, the but solution as aofset3,ofprint for muliples finite steps, “EN” calledofalgorithm. instead the number, for 4 We translate the algorithm multiples of 5, printinto a program “SIA”, and for bytherewriting numbers allthatthearesteps using a programming language. multiples of both 3 and 5, print “ENSIA”. 5 Feed the computer with the written program with any required intput. 6 The Let us writemay computer, an algorithm use another thatprogram solves the problem. the to translate For written consistency, pro- let us use the following algorithm template: gram into a sequence of instructions — known as machine code. 7 The Input: computer...automatically executes the produced machine code and rapidly Body: solves the... problem. 8 The computer outputs the results (output). Output:... Dr. Karim Lounis Information Technology Essentials Fall 2024 32 / 33 End of Presentation End. Dr. Karim Lounis Information Technology Essentials Fall 2024 33 / 33