The “Nothing is Obvious Story” Imagine a young boy in the Amazon jungles. This boy has always...

66

Transcript of The “Nothing is Obvious Story” Imagine a young boy in the Amazon jungles. This boy has always...

  • Slide 1
  • Slide 2
  • Slide 3
  • The Nothing is Obvious Story Imagine a young boy in the Amazon jungles. This boy has always lived in the jungle without any modern conveniences. He has never been in a city; he has never seen a television nor seen a book. Now imagine that for some unknown reason this young boy travels to Colorado in the Winter time. The little boy stands in a yard somewhere and watches the snow with bewilderment. He is astonished; he does not understand what is falling from the sky. Another little boy, about the same age, from Colorado, looks at the boy's behavior. The Colorado boy is confused, why is the boy acting so odd? Obviously it is snowing, so what is the big deal?
  • Slide 4
  • Corn Flakes & Iced Tea Most Americans consider it "obvious" that cold milk is poured on corn flakes. However, in Europe, everybody knows you put warm milk on your cereal. Most Europeans consider it "obvious" that Tea is to be served warm, preferably hot. They are completely baffled when Texans actually put ICE in their Tea.
  • Slide 5
  • The Exposure Equation Bewilderment + Exposure = Obvious
  • Slide 6
  • Exposure in Extracurricular Activities Drill team performance Half-time band show Football Team blocking Basketball free throws Baseball batting
  • Slide 7
  • The Curious Exposure Discrepancy Students recognize that only continuous practice will result in a good showing at a brief performance or brief competition Many of the same students barely read or practice a topic once for an academic subject. It appears that preparation for a known, short performance requires practice, but preparation for life receives only minimal effort from many students.
  • Slide 8
  • Roller Coaster Emotions The majority of computer science assignments work or they do not work. This causes considerable emotions with most beginning students. Many students get very excited when a program works, and very depressed when many hours of effort result in nothing. Accept the fact that a computer is not intelligent and requires 100% correct information. Do not become angry with the computer, nor with yourself. Determine the discrepancy (small we always hope) and try again.
  • Slide 9
  • Learning Computer Science Read the assigned textbook pages before the lecture. Read the material again after the lecture. Listen closely to the lecture.Play with the computer. If program examples are used at your computer, make sure that you are at the same place as the lecture. Make sure that you get clarification in any area that is confusing before you take a test. Read lab assignments before arriving for a scheduled lab. Pay particularly close attention when a test is returned Ask questions, if you are confused with a lecture or lab. Please realize that cramming does not work with computer science!
  • Slide 10
  • Excessive Help Positive Help Kind of help a student gets to understand the required concepts, so that the student learns to do the assignment Excessive Help Kind of help a student uses to complete an assignment without learning the required concepts.
  • Slide 11
  • Excessive Help Catches Up: Lab Exercises Computer Lab Programming Tests Class quizzes Multiple Choice Tests
  • Slide 12
  • Slide 13
  • The Abacus 3000 B.C. The Abacus was originally invented in the Middle Eastern area. This rather amazing computing device is still very much used in many Asian countries today.
  • Slide 14
  • Napier's "Bones" 1617 A.D. John Napier used some bones marked with special scales to simplify arithmetic by using addition for multiplication.
  • Slide 15
  • The Slide Rule 1622 William Oughtred created the slide rule. This device allows sophisticated mathematical calculations, which was widely in use until around 1970.
  • Slide 16
  • Numerical Calculating Machine 1642 Blaise Pascal builds the first numerical calculating machine. This device works similar to the old car odometers and could perform addition and subtraction.
  • Slide 17
  • Joseph Jacquard invents flexible cards that are punched with information in such a manner that it is possible to program how cloth will be weaved. It was one of the first examples of programming. Jacquard's Loom 1805
  • Slide 18
  • Analytical Engine 1833 Charles Babbage invents a machine that can read instructions from a sequence of punched cards. This becomes the first general purpose computing machine.
  • Slide 19
  • Programming 1842 Countess Ada Lovelace designs programs that work for Babbage's analytical machine. She is considered the mother of programming. Today a programming language is named after Ada.
  • Slide 20
  • Tabulating Machine 1884 Herman Hollerith invents a tabulating machine that records statistics for the U.S. Bureau of census. Hollerith starts a tabulating company, which after various name changes eventually becomes International Business Machines (IBM).
  • Slide 21
  • Colossus 1941-1944 This computer is developed in England in various stages and helps to decrypt the secret code message of German communication during Word War II.
  • Slide 22
  • Mark I 1944 This relay-based computer is developed by Harvard University and IBM. Grace Hopper, then a Navy Lieutenant, becomes the first programmer of the Mark I.
  • Slide 23
  • ENIAC 1946 The ENIAC (Electronic Numerical Integrator and Computer) is the first fully-electronic computer. The computer is two stories tall, weighs 80 tons, contains 19,000 vacuum tubes, and is programmed by walking inside the computer.
  • Slide 24
  • Integrated Circuit 1958 Jack Kilby, of Texas Instruments, at Richardson, Texas invents the planar transistor, which allows creation of integrated circuits and micro chips.
  • Slide 25
  • Altair 1975 Altair becomes the first personal computer. It is created by Ed Roberts and Bill Yates. The computer costs $397.00 and has storage for 256 bytes.
  • Slide 26
  • Apple II 1977 The Apple Computer Company is created and introduces the Apple II personal Computer. It becomes the first commercially successful personal computer.
  • Slide 27
  • VisiCalc 1979 Dan Bricklin created VisiCalc, a spreadsheet program, which becomes the first wide spread software to be sold.
  • Slide 28
  • WordStar 1979 MicroPro releases WordStar, which becomes the most popular word processing software program.
  • Slide 29
  • IBM PC 1981 IBM's entry into the personal computer market gives the personal computer a serious image as a true business computer and not some sophisticated electronic game playing machine.
  • Slide 30
  • MS-DOS 1981 Microsoft, an unknown little company run by Bill Gates, agrees to create the operating system for the IBM Personal Computer and becomes a company larger than IBM.
  • Slide 31
  • The Macintosh 1984 The "Mac" was the first commercially successful computer with the mouse/windows technology. The mouse technology was already developed earlier by Xerox Corporation.
  • Slide 32
  • Slide 33
  • Three Ways Where Computers Beat People Computers are faster. Computers are more accurate. Computers do not forget.
  • Slide 34
  • A short - long B long - short - short - short C long - short - long - short D long - short - short E short First Five Letters In Morse code
  • Slide 35
  • Electronic Memory offonoff on 01000001
  • Slide 36
  • 0-31 in Bases 10 & 2 Base 10Base-2Base 10Base-2 001610000 111710001 2101810010 3111910011 41002010100 51012110101 61102210110 71112310111 810002411000 910012511001 1010102611010 1110112711011 1211002811100 1311012911101 1411103011110 1511113111111
  • Slide 37
  • Three Combinations of 8 Light Bulbs 01000001 01000001 (base-2) = 65 (base 10) or char A 01000010 01000010 (base-2) = 66 (base 10) or char B 01000011 01000011 (base-2) = 67 (base 10) or char C
  • Slide 38
  • Bits, Bytes & Codes Bit is a Binary digit that is either 0 (off) or 1 (on). 1 Nibble = 4 bits 1 Byte = 8 bits. 1 Byte has 256 different numerical combinations. 2 Bytes has 65,536 different numerical combinations. ASCII uses one byte to store one character. Unicode uses two bytes to store one character.
  • Slide 39
  • Slide 40
  • Counting in Other # Systems 0-15 Base 10Base-2Base 16Base 5 0000000 1000111 2001022 3001133 4010044 50101510 60110611 70111712 81000813 91001914 101010A20 111011B21 121100C22 131101D23 141110E24 151111F30
  • Slide 41
  • Counting in Other # Systems 16-31 Base 10Base-2Base 16Base 5 160001 00001031 170001 1132 180001 00101233 190001 00111334 200001 01001440 210001 01011541 220001 01101642 230001 01111743 240001 10001844 250001 100119100 260001 10101A101 270001 10111B102 280001 11001C103 290001 11011D104 300001 11101E110 310001 11111F111
  • Slide 42
  • Motherboard & Computers Chips motherboard The main board with all the primary computer components. Has several computer chips attached: Read Only Memory (ROM) This chip stores permanent information for the computer. Random Access Memory (RAM) This chip stores temporary information for the computer. Central Processing Unit (CPU) This chip is the brains of the computer.
  • Slide 43
  • Measuring Memory Note: Technically, a kilobyte is exactly 2 10 or 1024 bytes. KBKilo Byte1 thousand bytes MBMega Byte1 million bytes GBGiga Byte1 billion bytes TBTera Byte1 trillion bytes PBPeta Byte1 quadrillion bytes EBExa Byte1 quintillion bytes
  • Slide 44
  • Secondary Storage Devices Since RAM is lost when the computer is turned off, files must be saved to some secondary storage device for later use.
  • Slide 45
  • Program Definition A program is a sequence of instructions that makes a computer perform a desired task. A programmer is a person who writes a program for a computer.
  • Slide 46
  • Programming in Machine Code Programming the first computers was an unbelievably difficult task. Individual vacuum tubes had to be switched on or off. Instructions were sequenced by physically plugging wires from one computer memory segment to another. Later computers allowed tape and cards to be used for program input. Still, thousands of 1s and 0s that had to be entered. Mistakes were very easily made, and very difficult to detect.
  • Slide 47
  • Programming in Assembly Language Every CPU instruction has a mnemonic name. For instance, mov AX,1234 is the instruction to place the value 1234 into the AX register. Uses hexadecimal (base-16) numbers rather than binary (base-2) numbers. There exists a unique relationship between base-2 and base-16 numbers. An assembler is used to translate the mnemonic commands into machine code.
  • Slide 48
  • Slide 49
  • Interpreters & Compilers Grace Hopper, a Navy lieutenant, was largely instrumental for developing translating programs that allow programming in a human-style language. Two types of translating programs were created: An interpreter translates a program one line at a time during execution. A compiler translates the entire program into a machine code file and then executes the file. The majority of todays program languages use compilers for translators. Java, oddly enough, is both a compiled and an interpretive language. How this is possible will be explained soon.
  • Slide 50
  • High-Level Language Languages that are closer to human languages. Examples: BASIC, Pascal, COBOL, FORTRAN, PL/1, C, C++, Java Low-Level Language Languages that are very close to binary code. Examples: Machine Code and Assembly Language A translator (interpreter or compiler) translates a High-level language into a Low-Level language. Types of Languages
  • Slide 51
  • The first successful programming language -- released in 1956. FORTRAN stands for FORmula TRANslation Designed for the mathematics and scientific community. It could not handle the record processing required for the business world. FORTRAN
  • Slide 52
  • Created in 1960 (largely by Grace Hopper) for the business community and the armed forces. COBOL stands for COmmon Business Oriented Language. COBOL became extremely successful when the Department of Defense adopted COBOL as its official programming language. COBOL
  • Slide 53
  • PL/1 stands for Programming Language 1 It tried to be a language for everybody by combining all of the Math features of FORTRAN with all of the business features of COBOL. The result was an extremely cumbersome language that never gained much popularity. PL/1
  • Slide 54
  • BASIC stands for Beginner All-purpose Symbolic Instructional Code Was designed for beginning college students. BASIC became the first popular program language for personal computers in the 1970s. BASIC required little memory, and it was the only language that could initially be handled by the first micro computers. BASIC
  • Slide 55
  • Pascal was named after Blaise Pascal (the same guy who created Pascals Triangle). In the late seventies, early eighties, Pascal took a strong hold in the educational community. Pascal was developed by Niklaus Wirth, specifically for the purpose of teaching proper computer science programming techniques. For many years Pascal was the language taught in APCS1 & APCS2. Pascal
  • Slide 56
  • The UNIX operating system was developed at the Bell laboratories and was written in several languages including BCPL or just plain B. A later version of the language was called C. A new era with a powerful programming technique was born called Object Oriented Programming (OOP). Bjarne Stroustrup combined the popularity of the existing C language with the demands for OOP and developed C++. C and C++
  • Slide 57
  • Released in 1995 by Sun Microsystems. Java is a Platform Independent Language. Platform Independent means that the language does not cause problems as programs are transported between different hardware and software platforms. Unlike C++, Java required you to use OOP which caused many universities to adopt it. This caused Java to be the official language for the APCS Exam starting in the 2003-2004 school year. Java
  • Slide 58
  • Slide 59
  • Early personal computers were not networked at all. Every computer was a stand-alone computer. Some computers were hooked up to printers and many others were not. If you needed to print something, and you were not directly connected to a printer, you saved your work to a floppy disk, put on your sneakers, and walked to the printing computer. Sharing files was done in the same way. SneakerNet
  • Slide 60
  • The first practical networks for personal computers were peer-to-peer networks. These are small groups of computers with a common purpose all connected to each other. These types of networks were frequently called Local Area Networks or LANs. Initially, the networks were true peer-to-peer networks. This means that every computer on the network was equal. Peer-To-Peer Networks
  • Slide 61
  • A server is a specialty computer that is connected to the LAN for one or more purposes. It services the other computers in the network which are called clients. Servers can be used for printing, logon authentications, permanent data storage and communication. Client-Server Networks
  • Slide 62
  • The Internet has existed since the 1960s and has its origins in the "Cold War. During the Cold War there was a major concern about the country being paralyzed by a direct nuclear hit on the Pentagon. A means of communication had to be created that was capable to keep working regardless of damage created anywhere. This was the birth of the Internet. The Internet has no central location where all the control computers are located. Any part of the Internet can be damaged and all information will then travel around the damaged area. The Department of Defense
  • Slide 63
  • Normally, businesses and schools have a series of LANs that all connect into a large network called an Intranet. An Intranet behaves like the Internet on a local business level. This promotes security, speed and saves cost. Now the moment a school, a business, your home, wants to be connected to the outside world and giant world-wide network known as the Internet, you have access to millions of lines of telecommunications. This will cost money and every person, every school, every business, who wants this access needs to use an Internet Service Provider or ISP. You pay a monthly fee to the ISP for the Internet connection. The amount of money you pay depends on the speed of your Internet connection. The Modern Internet
  • Slide 64
  • Slide 65
  • Hardware are the physical pieces of computer equipment. This included the main computer system unit, as well as all of the peripherals (things that plug into the computer.) Hardware
  • Slide 66
  • Computer software provides instructions to a computer. The most important aspect of this course is to learn how to give correct and logical instructions to a computer with the help of a programming language. Software falls into two categories: System Software Application Software. Operating Systems like Windows and Linux are examples of System Software. Applications software runs an application on a computer. Examples of Application Software are Word, Excel, PowerPoint, Video Games, and the very programs that you will write in this course. Software