Presentation is loading. Please wait.

Presentation is loading. Please wait.

Illuminating Computer Science CCIT 4-6Sep

Similar presentations


Presentation on theme: "Illuminating Computer Science CCIT 4-6Sep"— Presentation transcript:

1 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/

2 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Presented by: Nada Hany Sherief, MSc.

3 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Agenda Data: the raw materials – Representing Information Binary Numbering System Image Representation Putting Computers to Work – Algorithms Searching Algorithms Sorting Algorithms Telling Computers What to do Finite State Automata Programming Languages 3

4 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/

5 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Binary Numbering System (1/3) The word computer comes from the Latin computare, which means to calculate or add together Computers today are more than just giant calculators. They can be a library, help us to write, find information for us, play music and even show movies. So how do they store all this information? Believe it or not, the computer uses only two things: zero and one! 5

6 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Binary Numbering System (2/3) Decimal Numbering System Weights (units, tens, hundreds, thousands,…) Why Base 10 (there are only 10 digits 0-9 ) Binary Numbering System Weights (1, 2, 4, 8, 16,…) Why Base 2 (there are only 2 digits 0,1) 6

7 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Binary Numbering System (3/3) Binary to Decimal Conversion Add the weights Example: 1001, 10101 Can you work out what 111100 is? Decimal to Binary Conversion Repeated Division by 2 method Read the numbers upside down 7

8 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Image Representation (1/4) Computer screens are divided up into a grid of small dots called pixels (picture elements). In a black and white picture, each pixel is either black or white. The letter “a” has been magnified above to show the pixels. When a computer stores apicture, all that it needs to store is which dots are black and which are white. 8

9 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Image Representation (2/4) The picture below shows us how a picture can be represented by numbers. The first line consists of one white pixel, then three black, then one white. The first number always relates to the number of white pixels. If the first pixel is black the line will begin with a zero. 9

10 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Image Representation (3/4) 10

11 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Image Representation (4/4) 11

12 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/

13 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Searching Algorithms (1/6) Computers operate by following a list of instructions set for them. These instructions enable them to sort, find and send information. To do these things as quickly as possible, you need good methods for finding things in large collections of data, and for sending information through networks. An algorithm is a set of instructions for completing a task. 13

14 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Linear Search Algorithm (2/6) Linear search is a method for finding a particular value in a list, that consists of checking every one of its elements until the desired one is found. Linear search can be described as a recursive algorithm: 14

15 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Linear Search Algorithm (3/6) Example Using the algorithm below, find 6 within the following list: 15

16 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Binary Search Algorithm (4/6) Binary search algorithm, finds the position of a specified value within a sorted array. In each step, the algorithm compares the input key value with the key value of the middle element of the array. If the keys match, then a matching element has been found so its index, or position, is returned. Else if the sought key is less than the middle element's key, then the algorithm repeats its action on the sub-array to the left of the middle element or, if the input key is greater, on the sub-array to the right. If the remaining array to be searched is reduced to zero, then the key cannot be found in the array and a special "Not found" indication is returned. 16

17 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Binary Search Algorithm (5/6) Example 1: 17

18 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Binary Search Algorithm (6/6) Example 2: 18

19 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Sorting Algorithms (1/9) Computers are often used to put lists into some sort of order, for example names into alphabetical order, appointments or e-mail by date, or items in numerical order. Sorting lists helps us find things quickly, and also makes extreme values easy to see. If you sort the marks for a class test into numeric order, the lowest and highest marks become obvious. If you use the wrong method, it can take a long time to sort a large list into order, even on a fast computer. 19

20 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Selection Sort (2/9) One method a computer might use is called selection sort. This is how selection sort works: First find the lightest weight in the set and put it to one side. Next, find the lightest of the weights that are left, and remove it. Repeat this until all the weights have been removed. 20

21 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Selection Sort (3/9) 21

22 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Quick Sort (4/9) Quick sort is a lot faster than selection sort, particularly for larger lists. In fact, it is one of the best methods known. This is how quick sort works: Choose one of the objects at random, and place it on one side of the balance Scales. Now compare each of the remaining objects with it. Put those that are lighter on the left, the chosen object in the middle, and the heavier ones on the right. Choose one of the groups and repeat this procedure. Do the same for the other group. Remember to keep the one you know in the centre. Keep repeating this procedure on the remaining groups until no group has more than one object in it. 22

23 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Quick Sort (5/9) 23

24 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Insertion Sort (6/9) Insertion sort works by removing each object from an unsorted group and inserting it into its correct position in a growing list. With each insertion the group of unsorted objects shrinks and the sorted list grows, until eventually the whole list is sorted. 24

25 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Bubble Sort (7/9) Bubble sort involves going through the list again and again, swapping any objects side by- side that are in the wrong order. The list is sorted when no swaps occur during a pass through the list. 25

26 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Merge Sort (8/9) First, the list is divided at random into two lists of equal size (or nearly equal if there are an odd number of items). Each of the two half-size lists is sorted, and the two lists are merged together. Merging two sorted lists is easy—you repeatedly remove the smaller of the two items at the front of the two lists. 26

27 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Merge Sort (9/9) 27

28 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/

29 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Finite State Automata (1/4) Computer programs often need to process a sequence of symbols such as letters or words in a document, or even the text of another computer program. Computer scientists often use a finite-state automaton to do this. A finite-state automaton (FSA) follows a set of instructions to see if the computer will recognize the word or string of symbols. 29

30 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Finite State Automata (2/4) The Mysterious Coin Game Some friends downloaded a game from the Internet in which a robot flipped a coin and they had to guess whether it would turn up heads or tails. At first the game looked very easy. At least they would have a 50/50 chance of winning—or so they thought! After a while though they started to get suspicious. There seemed to be a pattern in the coin tosses. They decided to investigate. Joe wrote down the results of their next attempts at the game and this is what they found: (h = heads, t = tails) 30

31 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Finite State Automata (3/4) Can you find a predictable pattern? There is a very simple ‘map’ that will describe the sequence of coin tosses. See if you can figure it out. (Hint: it has just 4 ‘islands’) 31

32 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Finite State Automata (4/4) Pattern: If you follow it, you will see that the first two coin tosses of each three have the same outcome. 32

33 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Programming Languages Computers operate by following a list of instructions, called a program, that has been written to carry out a particular task. Programs are written in languages that have been specially designed, with a limited set of instructions, to tell computers what to do. Some languages are more suitable for some purposes than others. Regardless of what language they use, programmers must become adept at specifying exactly what they want the computer to do. 33

34 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Programming Languages It is important that programs are well written. A small error can cause a lot of problems. Imagine the consequences of an error in the program of a computer in a space shuttle launch, a nuclear power plant, or the signals on a train track! 34

35 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ Programming Languages C hello world example C program to add two numbers 35

36 Illuminating Computer Science CCIT 4-6Sep http://www.aast.edu/en/colleges/ccit/cs4hs/http://www.aast.edu/en/colleges/ccit/cs4hs/ 36


Download ppt "Illuminating Computer Science CCIT 4-6Sep"

Similar presentations


Ads by Google