Introduction to Computing - CS101 Handouts PDF
Document Details
Uploaded by Deleted User
Virtual University of Pakistan
Tags
Summary
These notes cover an introduction to computing, including historical figures like Charles Babbage and Ada Lovelace, and details about the evolution of computing, from the Analytical Engine to the World Wide Web. The document also explores various aspects like computer types, hardware components, and software.
Full Transcript
Introduction to Computing –CS101 VU Table of Contents: Lecture 1.......................................................................................................... 9 Introduction........................................
Introduction to Computing –CS101 VU Table of Contents: Lecture 1.......................................................................................................... 9 Introduction..................................................................................................... 9 1.1. Charles Babbage (1791-1871).......................................................... 9 1.2. The Analytical Engine................................................................... 9 1.3. Ada, Countess of Lovelace(1815-52)............................................... 9 1.4 Course Contents & Structure.............................................................. 10 Lecture 2........................................................................................................ 13 Evolution of Computing................................................................................. 13 2.1 Turing Machine – 1936.................................................................... 13 2.2 The “Turing test”........................................................................... 13 2.3 Vacuum Tube – 1904:...................................................................... 13 2.4 ABC – 1939..................................................................................... 14 2.5 Harvard Mark 1 – 1943:.................................................................... 14 2.6 ENIAC – 1946:................................................................................ 14 2.7 Transistor – 1947............................................................................. 14 2.8 Floppy Disk – 1950.......................................................................... 14 2.9 UNIVAC 1 – 1951............................................................................ 14 2.10 Compiler - 1952........................................................................... 15 2.11 ARPANET – 1969....................................................................... 15 2.12 Intel 4004 – 1971.......................................................................... 15 2.13 Altair 8800 – 1975......................................................................... 15 2.14 Cray 1 – 1 976.............................................................................. 16 2.15 IBM PC – 1981............................................................................ 16 2.16 Apple Macintosh – 1984............................................................... 16 2.17 World Wide Web -1989................................................................ 16 2.18 Quantum Computing with Molecules.......................................... 17 Lecture 3....................................................................................................... 18 3.1 Browser.......................................................................................... 18 3.2 URL................................................................................................... 18 3.3 What is a Web site?............................................................................. 18 3.4 What is Home Page of a web site?...................................................... 19 3.5 Who invented the Web & Why?.......................................................... 19 3.6 Future of the Web: Semantic Web....................................................... 20 3.7 Useful Web page................................................................................ 20 Lecture 4........................................................................................................ 21 4.1 Computer Types According to Capability............................................ 21 4.2 Supercomputers................................................................................. 21 4.3 Mainframe Computers........................................................................ 21 4.4 Servers / Minicomputers.................................................................... 21 4.5 Desktops............................................................................................ 21 4.6 Portables............................................................................................ 21 4.7 Ranking w.r.t. installed number.......................................................... 22 4.8 All computers have the following essential hardware components:....... 22 4.9 Input Devices..................................................................................... 23 4.10 What is Port?.................................................................................... 24 4.11Many Types of Ports.......................................................................... 24 4.12 Processor.......................................................................................... 24 4.13 Memory/Storage.............................................................................. 24 4.14 Classifying Memory/Storage............................................................. 25 4.15 Output Devices................................................................................. 25 4.16 Modem............................................................................................. 25 1 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Lecture 5........................................................................................................27 5.1 PC Parts..............................................................................................27 5.2 Inside of the CPU...............................................................................27 5.3 The Processor Module........................................................................27 Lecture 6.........................................................................................................28 6.1 To develop your personal Web page....................................................28 Lecture 7.........................................................................................................31 7.1 Microprocessor...................................................................................31 7.2 Integrated Circuits..............................................................................31 7.3 Devices...............................................................................................31 7.4 Microprocessor system.......................................................................33 7.5 Micro-controllers................................................................................33 7.6 The Main Memory Bottleneck............................................................33 7.7 Cache.................................................................................................33 7.8 Microprocessors Building Blocks........................................................34 Lecture 8.........................................................................................................39 Binary Numbers & Logic Operations..............................................................39 8.1 Why binary.........................................................................................42 8.2 Boolean Logic Operations...................................................................43 8.3 Truth Table for the XOR Operation....................................................45 8.4 STRATEGY: Divide & Conquer.........................................................45 Lecture 9.........................................................................................................47 HTML Lists & Tables (Web Development Lecture 3).....................................47 9.1 Single Tags.........................................................................................47 9.2 Types of Lists.....................................................................................52 9.3 Ordered List Types.............................................................................52 9.4 Useful URL........................................................................................57 Lecture 10.......................................................................................................59 Computer Software..........................................................................................59 10.1 Machine Language............................................................................59 10.2 Language Translators........................................................................59 10.3 Software Development.......................................................................59 10.4 Major Types of SW............................................................................60 10.5 System SW are programs that …........................................................60 10.6 Operating System..............................................................................60 10.7 Utilities:............................................................................................61 10.8 Language Translators........................................................................61 10.9 Device Drivers...................................................................................61 10.10 Application SW................................................................................61 10.11 Another way of classifying SW..........................................................62 10.12 Who Owns Software?.......................................................................62 10.13 Main types of SW licensees..............................................................62 10.14 Proprietary SW License....................................................................62 10.15 Freeware SW License.......................................................................63 10.16 Open-Source SW License.................................................................63 10.17 Shareware SW License.....................................................................63 10.18 Trialware.........................................................................................63 Lecture 11........................................................................................................65 Operating Systems..........................................................................................65 11.1 Why Have OSes?...............................................................................65 11.2 Core Tasks of an OS..........................................................................65 11.3 OS Components................................................................................66 2 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU 11.4 Kernel............................................................................................... 67 11.5Types of OS’es................................................................................... 67 11.6 Another Way of Classifying................................................................ 67 11.7 How many different OS’es are there?................................................. 67 11.8 Comparing Popular OS’es................................................................. 68 Lecture 12....................................................................................................... 69 Interactive Forms (Web Development Lecture 4)............................................ 69 12.1 Server-Side Scripts............................................................................. 71 12.2 Checkbox Input Element.................................................................. 76 12.3 Radio Button Input Element............................................................. 77 12.4 Select from a (Drop Down) List......................................................... 78 12.5 File Upload Input Element............................................................... 79 Lecture 13....................................................................................................... 81 Application Software....................................................................................... 81 13.1 Two Major Types of Software............................................................ 81 13.2 Application Software......................................................................... 81 13.3 Classification According to the Mode................................................ 81 13.4 Classification According to Application Area..................................... 81 13.5 Scientific/Engineering/Graphics Apps............................................. 81 13.6 Scientific SW..................................................................................... 82 13.7 Engineering SW................................................................................ 82 13.8 Graphics & Animation SW (1)........................................................... 82 13.9 Business Applications....................................................................... 82 13.10 E-Commerce Software..................................................................... 82 13.11 ERP (Enterprise Resource Planning) SW......................................... 83 13.12 DSS (Decision Support Systems) SW................................................ 83 13.13 Productivity SW............................................................................... 83 13.14 Word Processors.............................................................................. 83 13.15 Web Page Development SW............................................................. 83 13.16 Spreadsheet SW (1).......................................................................... 83 13.17 Spreadsheet SW (2).......................................................................... 83 13.18 Presentation Development SW......................................................... 83 13.19 Small-Scale Databases SW (1).......................................................... 84 13.20 Small-Scale Databases SW (2).......................................................... 84 13.21 Productivity SW Suites..................................................................... 84 13.22 Document-Centered Computing (DCC) - 1...................................... 84 13.23 Document-Centered Computing (DCC) - 2...................................... 84 13.24 Entertainment SW........................................................................... 84 13.25 Music & Video Players.................................................................... 84 13.26 Music Generation & Movie Editing SW........................................... 84 13.27 Games............................................................................................ 84 13.28 Educational SW.............................................................................. 85 13.29 Electronic Encyclopedias................................................................ 85 13.30 On-Line Learning........................................................................... 85 13.31 Interactive CD’s.............................................................................. 85 13.32 Attributes of Good Application Software.......................................... 85 13.33 Most Popular Application Software Categories................................. 85 Lecture 14....................................................................................................... 87 Word Processing............................................................................................. 87 14.1 Word Processor................................................................................. 87 14.2 Types: WYSIWYG-based & Markup-based....................................... 88 14.3 Desktop Publishing (DTP)............................................................... 88 3 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU 14.4 Word Processors for the Web.............................................................88 14.5 Let’s try to use MS Word for creating a CV.........................................90 Lecture 15.......................................................................................................91 More on Interactive Forms (Web Development Lecture 5)..............................91 15.1 Single-Line Text Input Field..............................................................91 15.2 Password Input Field........................................................................91 15.3 Hidden Input....................................................................................91 15.4 Checkbox Input Element...................................................................91 15.5 Radio Button Input Element.............................................................91 15.6 File Upload Input Element................................................................91 15.7 Reset Button Input Element..............................................................92 15.8 Submit Button Input.........................................................................92 15.9 Multi-Line Text Input Area...............................................................92 15.10 Select from a (Drop Down) List........................................................92 15.11 Client-Side Scripting is a viable alternate..........................................94 15.12 Server-Side Scripts: Review...............................................................94 15.13 Why JavaScript?...............................................................................96 Lecture 16.......................................................................................................99 Algorithms......................................................................................................99 16.1 Algorithm for Decimal-to-Binary Conversion...................................100 16.2 Algorithm (Better Definition)..........................................................100 16.3 Why Algorithms are Useful?.............................................................101 16.4 Analysis of Algorithms.....................................................................101 16.5 Al-Khwarzmi...................................................................................101 16.6 Greedy Algorithm............................................................................102 16.7 Deterministic Algorithm (1).............................................................102 16.8 Randomized Algorithm (1)..............................................................102 16.9 Randomized Algorithm (2)..............................................................102 16.10 Deterministic Algorithm (2)...........................................................102 16.11 Heuristic........................................................................................102 16.12 The Brute Force Strategy (1)...........................................................103 16.13 The Brute Force Strategy (2)..........................................................103 16.14 A Selection of Algorithmic Application Areas..................................103 16.15 Flowchart......................................................................................104 Lecture 17.....................................................................................................106 Algorithms II................................................................................................106 17.1 Algorithm Building Blocks..............................................................106 17.2 Solution in Pseudo Code..................................................................108 17.3 Tips on Writing Good Pseudo Code.................................................108 17.4 Pros and Cons of Flowcharts (1).......................................................117 17.5 Pros and Cons of Flowcharts (2)......................................................117 17.6 Pros and Cons of Pseudo Code (1)...................................................117 17.7 Pros and Cons of Pseudo Code (2)...................................................117 Lecture 18.....................................................................................................118 Objects, Properties, Methods (Web Development Lecture 6).........................118 18.1 New Concept: Client-Side Scripts....................................................119 18.2 Advantages of Client-Side Scripting.................................................119 18.3 Disadvantages.................................................................................119 18.4 JavaScript........................................................................................119 18.5 Client-Side JavaScript......................................................................120 18.6 Properties........................................................................................121 18.7 Event Handlers...............................................................................128 4 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Lecture 19..................................................................................................... 129 Programming Languages.............................................................................. 129 19.1 Batch Programs.............................................................................. 129 19.2 Event-Driven Programs.................................................................. 129 19.3 Types of Prog. Languages............................................................... 130 19.4 Programming SW Development...................................................... 131 19.5 Object Oriented Design.................................................................. 131 19.6 Structured Design........................................................................... 131 19.7 Object-Oriented Languages............................................................ 132 Lecture 20.................................................................................................... 133 SW Development Methodology..................................................................... 133 Lecture 21..................................................................................................... 142 Data Types & Operators (Web Development Lecture 7)............................... 142 21.1 JavaScript Data Types.................................................................... 143 21.2 Declaring Variables........................................................................ 144 21.3 JavaScript Operators...................................................................... 148 21.4 Comparison Operators.................................................................... 148 21.5 Logical Operators.......................................................................... 148 21.6 Elements of JavaScript Statements................................................. 149 Lecture 22.................................................................................................... 151 Spreadsheets................................................................................................. 151 22.1 Business Plan for a New Software Development Company.............. 151 22.2 The Structure of A Spreadsheet....................................................... 152 22.3 Goal Seek....................................................................................... 154 Lecture 23.................................................................................................... 158 Flow Control & Loops (Web Development Lecture 8).................................. 158 JavaScript Variables are Dynamically Typed.......................................... 158 Lecture 24.................................................................................................... 166 Design Heuristics......................................................................................... 166 24.1 Heuristic........................................................................................ 166 24.2 System............................................................................................ 166 24.3 System Architecture........................................................................ 166 24.4 Heuristics for system architecting................................................... 166 Lecture 25.................................................................................................... 170 Web Design for Usability.............................................................................. 170 25.2 SPEED:......................................................................................... 170 25.3 Elements of Website Design:.......................................................... 171 25.4 Website Navigation:....................................................................... 171 25.5 A Few Navigation Design Heuristics:............................................. 171 25.6 Navigation Design Heuristics (contd.):........................................... 171 25.7 Good designs assist the user in recovering from errors..................... 173 25.8 Assisting the User Recover from Errors:.......................................... 173 25.9 A few constructive recommendations.............................................. 173 25.10 Making Display Elements Legible:................................................ 175 25.11 Ensuring Text is Readable:............................................................ 175 25.12 Using Pictures & Illustrations:...................................................... 176 25.13 Using Motion................................................................................ 176 Arrays (Web Development Lecture 9)........................................................... 177 26.1 Arrays in JavaScript......................................................................... 178 26.2 Array Identifiers................................................................................ 180 26.3 The ‘length’ Property of Arrays....................................................... 181 26.4 Array Methods: sort( ) 26.5 Sorts the elements in alphabetical order. 181 5 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU 26.6 Array Methods: reverse( ) 26.7 Reverses the order of the elements....181 26.7 Pseudo Code...................................................................................182 Lecture 27.....................................................................................................185 Computer Networks......................................................................................185 27.1 Private Networks.............................................................................186 27.2 Public Networks.............................................................................186 27.3 VPN: Virtual Private Network (1)....................................................187 27.4 Network Topologies.......................................................................188 27.5 Networking Protocols.....................................................................190 27.6 Types of Communication Channels.................................................191 27.7 Network Security............................................................................191 Lecture 28.....................................................................................................193 Introduction to the Internet...........................................................................193 28.1 Internet: Network of Networks...........................................................196 28.2 Internet Networking Protocols........................................................196 Lecture 29.....................................................................................................199 Functions & Variable Scope (Web Development Lecture 10).........................199 29.1 Function.........................................................................................199 29.2 Advantages of Functions.................................................................200 29.3 Function Identifiers........................................................................201 29.4 Arguments of a Function.................................................................201 29.5 Event Handlers...............................................................................203 29.6 Scope of Variable............................................................................204 Lecture 30.....................................................................................................209 Internet Services............................................................................................209 30.1 Internet Addressing.........................................................................210 30.2 DNS: Domain Name System...........................................................210 30.3 Internet Services.............................................................................210 30.3 How does an eMail system work?....................................................213 30.4 Using Instant Messaging................................................................215 30.5 VoIP: Voice over IP.........................................................................220 Lecture 31.....................................................................................................221 Developing Presentations..............................................................................221 31.1 Presentations:..................................................................................221 31.2 The Structure of A Presentation:......................................................224 31.3 Presentation Development SW:........................................................224 Lecture 32.....................................................................................................226 Event Handling (Web Development Lecture 11)............................................226 32.1 What is Event Handling?....................................................................228 32.2 In-Line JavaScript Event Handling :................................................229 Lecture 33.....................................................................................................234 Graphics & Animation..................................................................................234 33.1 Computer Graphics:........................................................................235 33.2 Displaying Images:.........................................................................235 33.3 Pixel Colors :...................................................................................235 33.4 Color Mapping :..............................................................................235 33.5 Dithering:.......................................................................................236 33.6 Aliasing:.........................................................................................236 33.7 Anti-Aliasing:..................................................................................236 33.8 Graphics File Formats:....................................................................237 33.9 Vector or Object-Oriented Graphics:...............................................237 33.10 Bit-Mapped or Raster Graphics:.....................................................237 6 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU 33.11 File Formats Popular on the Web (1):............................................. 237 33.12 Image Processing:......................................................................... 237 33.13-D Graphics:.................................................................................. 238 33.14 Animation:.................................................................................... 238 Lecture 34.................................................................................................... 240 Intelligent Systems....................................................................................... 240 34.1 (Artificial) Intelligent Systems:........................................................ 241 34.2 Fuzzy Logic:.................................................................................. 242 34.3 Robotics:........................................................................................ 244 Lecture 35.................................................................................................... 245 Mathematical Methods (Web Development Lecture 12)................................ 245 35.1 Problems & Solutions:.................................................................... 246 35.2 Mathematical Functions in JavaScript:............................................ 248 Lecture 36.................................................................................................... 251 Data Management........................................................................................ 251 36.1 BholiBooks.com :........................................................................... 252 36.2 Issues in Data Management:........................................................... 252 36.3 DBMS :.......................................................................................... 253 36.4 OS Independence:.......................................................................... 254 36.5 The Trouble with Flat-File Databases:............................................ 257 Lecture 37.................................................................................................... 259 Database Software........................................................................................ 259 37.1 RDBMS.......................................................................................... 262 37.2 Some Terminology......................................................................... 263 Lecture 38.................................................................................................... 264 String Manipulations (Web Development Lecture 13)................................... 264 38.1 String Manipulation in JavaScript.................................................... 267 Lecture 39.................................................................................................... 274 Cyber Crime................................................................................................. 274 39.1 07 February 2000............................................................................. 275 39.2 DoS Attack: A Cyber Crime............................................................ 276 39.3 More cybercrimes …...................................................................... 276 39.4 Viruses........................................................................................... 277 39.5 Other Virus-Like Programs............................................................. 278 Lecture 40.................................................................................................... 279 Social Implications of Computing................................................................. 279 40.1 Introduction................................................................................... 280 40.2 Powerful Global Corporations......................................................... 280 40.3 The Network Organization............................................................. 280 40.4 Working from Home...................................................................... 281 40.5 From Mass- to Personalized-Marketing.......................................... 281 40.6 The Political Process...................................................................... 282 Lecture 41..................................................................................................... 284 Images & Animation (Web Development Lecture 14)................................... 284 41.1 Images in JavaScript....................................................................... 286 41.2 Flash Animation............................................................................. 293 Lecture 42.................................................................................................... 294 The Computing Profession........................................................................... 294 42.1 IT: Information Technology............................................................ 295 42.2 Organization: A Collection of Teams.............................................. 296 Lecture 43.................................................................................................... 302 The Future of Computing............................................................................. 302 7 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Lecture 44.....................................................................................................308 Programming Methodology (Web Development Lecture 15).........................308 44.1 Design Guidelines...........................................................................309 44.2 Coding Guidelines..........................................................................309 44.3 Guidelines for Developing Short Programs......................................310 44.4 Design & Code Reviews..................................................................311 44.5 Testing & Debugging.....................................................................312 44.6 Helpful Editors...............................................................................314 Lecture 45.....................................................................................................316 Review & Wrap-Up.......................................................................................316 Course Objectives..................................................................................323 8 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Lecture 1 Introduction 1.1. Charles Babbage (1791-1871) Creator of the Analytical Engine - the first general-purpose digital computer (1833) The Analytical Engine was not built until 1943 (in the form of the Harvard Mark I) 1.2. The Analytical Engine A programmable, mechanical, digital machine Could carryout any calculation Could make decisions based upon the results of the previous calculation Components: input; memory; processor; output 1.3. Ada, Countess of Lovelace(1815-52) Babbage: the father of computing Ada: the mother? Wrote a program for computing the Bernoulli’s sequence on the Analytical Engine - world’s 1st computer program Ada: A programming language specifically designed by the US Dept of Defense for developing military applications was named Ada to honor her contributions towards computing A lesson that we all can learn from Babbage’s Life Charles Babbage had huge difficulties raising money to fund his research As a last resort, he designed a clever mathematical scheme along with Ada, the Countess of Lovelace It was designed to increase their odds while gambling. They bet money on horse races to raise enough money to support their research experiments Guess what happened at the end? The lost every penny that they had. Fast Bored Storage Here is a fact: It could analyze up to 300 billion chess moves in three minutes In 1997 Deep Blue, a supercomputer designed by IBM, beat Gary Kasparov, the World Chess Champion That computer was exceptionally fast, did not get tired or bored. It just kept on analyzing the situation and kept on searching until it found the perfect move from its list of possible moves … Goals for Today: To develop an appreciation about the capabilities of computing To find about the structure & policies of this course 9 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU CS101 Introduction to Computing 1.4 Course Contents & Structure Course Objectives To build an appreciation for the fundamental concepts in computing To achieve a beginners proficiency in Web page development To become familiar with popular PC productivity software Lecture Readings W Lecture 3 e Lecture 1 2 Web Assignment e UC JS Dev k 1 2 3 4 5 6 7 Midterm 8 Exam 9 10 11 12 13 14 15 Finals Week Fundamental concepts Intro to computing Development methodology Evolution of computing Design heuristics Computer organization Web design for usability Building a PC Computer networks Microprocessors Intro to the Internet Binary numbers & logic Internet services Computer software Graphics & animation Operating systems Intelligent systems Application software Data management Algorithms Cyber crime Flowcharts Social implications Programming languages The computing profession The future of computing 10 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Web page development Web Development The World Wide Web Flow control & loops Arrays Making a Web page Built-in functions Lists & tables User-defined functions Interactive forms Events handling Objective & methods String manipulation Data types & operators Images & graphics Programming methodology Productivity Applications Word processor Spreadsheet Presentation software Database Instructor: Altaf Khan [email protected] Course Web Page: http://www.vu.edu.pk/cs101 Textbooks: UC - Understanding Computers (2000 ed.) JS - Learn JavaScript in a Weekend Reading Assignments Please make sure to read the assigned material for each week before the commencement of the corresponding week Reading that material beforehand will help you greatly in absorbing with ease the matter discussed during the lecture Check your e-mail often for announcements related to this and other VU courses Marks distribution … Assignments (15%) Almost one every week, 13 in all No credit for late submissions The lowest 2 assignment grades will be dropped Midterm Exam (35%) During the 8th week Duration: One hour Will cover all material covered during the first seven weeks Final Exam (50%) During the 16th week Will cover the whole of the course with a slight emphasis on the material covered after the midterm exam Duration: 2 hours First Assignment 11 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Send an email message to me at [email protected] with the subject “Assignment 1” giving me some information (in around 50 words) about what you see yourself doing ten years from now Go to the CS101 message board and post a message (consisting of approx. 50 words) about how we could make the contents of this course more suitable for your individual needs. The subject for this message should be “Assignment 1” Consult the CS101 syllabus for the submission deadline A suggestion about unfamiliar terms We try not to use any new terms without explaining them first However, it is not possible to do that all the time If you encounter any unfamiliar terms during the lectures, please note them down and consult the GLOSSARY provided at the end of the “Understanding Computers” text book for their meaning Let’s summarize the things that we have covered today? A few things about: the very first digital computer & its inventor the capability of modern computers the structure and contents of CS101 Final Midterm Examin Examin ation ation 50% 35% Homew ork Assign ments 15% In the Next Lecture … We’ll continue the story of the evolution of digital computers form the Analytical Engine onwards. We’ll discuss many of the key inventions and developments that he lead to the shape of the current field of computing. 12 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Lecture 2 Evolution of Computing Today’s Goal To learn about the evolution of computing To recount the important and key events To identify some of the milestones in computer development Babbage’s Analytical Engine - 1833 Mechanical, digital, general-purpose Was crank-driven Could store instructions Could perform mathematical calculations Had the ability to print Could punched cards as permanent memory Invented by Joseph-Marie Jacquard 2.1 Turing Machine – 1936 Introduced by Alan Turing in 1936, Turing machines are one of the key abstractions used in modern computability theory, the study of what computers can and cannot do. A Turing machine is a particularly simple kind of computer, one whose operations are limited to reading and writing symbols on a tape, or moving along the tape to the left or right. The tape is marked off into squares, each of which can be filled with at most one symbol. At any given point in its operation, the Turing machine can only read or write on one of these squares, the square located directly below its "read/write" head. 2.2 The “Turing test” A test proposed to determine if a computer has the ability to think. In 1950, Alan Turing (Turing, 1950) proposed a method for determining if machines can think. This method is known as The Turing Test. The test is conducted with two people and a machine. One person plays the role of an interrogator and is in a separate room from the machine and the other person. The interrogator only knows the person and machine as A and B. The interrogator does not know which the person is and which the machine is. Using a teletype, the interrogator, can ask A and B any question he/she wishes. The aim of the interrogator is to determine which the person is and which the machine is. The aim of the machine is to fool the interrogator into thinking that it is a person. If the machine succeeds then we can conclude that machines can think. Terminal Human providing answers Terminal Interrogator asking questions Computer on its own Computer providing answers 2.3 Vacuum Tube – 1904: 13 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU A vacuum tube is just that: a glass tube surrounding a vacuum (an area from which all gases has been removed). What makes it interesting is that when electrical contacts are put on the ends, you can get a current to flow though that vacuum. A British scientist named John A. Fleming made a vacuum tube known today as a diode. Then the diode was known as a "valve," 2.4 ABC – 1939 The Atanasoff-Berry Computer was the world's first electronic digital computer. It was built by John Vincent Atanasoff and Clifford Berry at Iowa State University during 1937- 42. It incorporated several major innovations in computing including the use of binary arithmetic, regenerative memory, parallel processing, and separation of memory and computing functions. 2.5 Harvard Mark 1 – 1943: Howard Aiken and Grace Hopper designed the MARK series of computers at Harvard University. The MARK series of computers began with the Mark I in 1944. Imagine a giant roomful of noisy, clicking metal parts, 55 feet long and 8 feet high. The 5-ton device contained almost 760,000 separate pieces. Used by the US Navy for gunnery and ballistic calculations, the Mark I was in operation until 1959. The computer, controlled by pre-punched paper tape, could carry out addition, subtraction, multiplication, division and reference to previous results. It had special subroutines for logarithms and trigonometric functions and used 23 decimal place numbers. Data was stored and counted mechanically using 3000 decimal storage wheels, 1400 rotary dial switches, and 500 miles of wire. Its electromagnetic relays classified the machine as a relay computer. All output was displayed on an electric typewriter. By today's standards, the Mark I was slow, requiring 3-5 seconds for a multiplication operation 2.6 ENIAC – 1946: ENIAC I (Electrical Numerical Integrator And Calculator). The U.S. military sponsored their research; they needed a calculating device for writing artillery-firing tables (the settings used for different weapons under varied conditions for target accuracy). John Mauchly was the chief consultant and J Presper Eckert was the chief engineer. Eckert was a graduate student studying at the Moore School when he met John Mauchly in 1943. It took the team about one year to design the ENIAC and 18 months and 500,000 tax dollars to build it. The ENIAC contained 17,468 vacuum tubes, along with 70,000 resistors and 10,000 capacitors. 2.7 Transistor – 1947 The first transistor was invented at Bell Laboratories on December 16, 1947 by William Shockley. This was perhaps the most important electronics event of the 20th century, as it later made possible the integrated circuit and microprocessor that are the basis of modern electronics. Prior to the transistor the only alternative to its current regulation and switching functions (TRANSfer resISTOR) was the vacuum tubes, which could only be miniaturized to a certain extent, and wasted a lot of energy in the form of heat. Compared to vacuum tubes, it offered: smaller size better reliability lower power consumption lower cost 2.8 Floppy Disk – 1950 Invented at the Imperial University in Tokyo by Yoshiro Nakamats 2.9 UNIVAC 1 – 1951 UNIVAC-1. The first commercially successful electronic computer, UNIVAC I, was also the first general purpose computer - designed to handle both numeric and textual information. It was designed by J. Presper Eckert and John Mauchly. The implementation of this machine marked the real beginning of the computer era. 14 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Remington Rand delivered the first UNIVAC machine to the U.S. Bureau of Census in 1951. This machine used magnetic tape for input. first successful commercial computer design was derived from the ENIAC (same developers) first client = U.S. Bureau of the Census $1 million 48 systems built 2.10 Compiler - 1952 Grace Murray Hopper an employee of Remington-Rand worked on the NUIVAC. She took up the concept of reusable software in her 1952 paper entitled "The Education of a Computer" and developed the first software that could translate symbols of higher computer languages into machine language. (Compiler) 2.11 ARPANET – 1969 The Advanced Research Projects Agency was formed with an emphasis towards research, and thus was not oriented only to a military product. The formation of this agency was part of the U.S. reaction to the then Soviet Union's launch of Sputnik in 1957. (ARPA draft, III-6). ARPA was assigned to research how to utilize their investment in computers via Command and Control Research (CCR). Dr. J.C.R. Licklider was chosen to head this effort. Developed for the US DoD Advanced Research Projects Agency 60,000 computers connected for communication among research organizations and universities 2.12 Intel 4004 – 1971 The 4004 was the world's first universal microprocessor. In the late 1960s, many scientists had discussed the possibility of a computer on a chip, but nearly everyone felt that integrated circuit technology was not yet ready to support such a chip. Intel's Ted Hoff felt differently; he was the first person to recognize that the new silicon-gated MOS technology might make a single-chip CPU (central processing unit) possible. Hoff and the Intel team developed such architecture with just over 2,300 transistors in an area of only 3 by 4 millimeters. With its 4-bit CPU, command register, decoder, decoding control, control monitoring of machine commands and interim register, the 4004 was one heck of a little invention. Today's 64-bit microprocessors are still based on similar designs, and the microprocessor is still the most complex mass-produced product ever with more than 5.5 million transistors performing hundreds of millions of calculations each second - numbers that are sure to be outdated fast. 2.13 Altair 8800 – 1975 By 1975 the market for the personal computer was demanding a product that did not require an electrical engineering background and thus the first mass produced and marketed personal computer (available both as a kit or assembled) was welcomed with open arms. Developers Edward Roberts, William Yates and Jim Bybee spent 1973-1974 to develop the MITS (Micro Instruments Telemetry Systems ) Altair 8800. The price was $375, contained 256 bytes of memory (not 256k),but had no keyboard, no display, and no auxiliary storage device. Later, Bill Gates and Paul Allen wrote their first product for the Altair -- a BASIC compiler (named after a planet on a Star Trek episode). 15 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU 2.14 Cray 1 – 1 976 It looked like no other computer before, or for that matter, since. The Cray 1 was the world's first "supercomputer," a machine that leapfrogged existing technology when it was introduced in 1971. And back then, you couldn't just order up fast processors from Intel. "There weren't any microprocessors," says Gwen Bell of The Computer Museum History Center. "These individual integrated circuits that are on the board performed different functions." Each Cray 1, like this one at The Computer Museum History Center, took months to build. The hundreds of boards and thousands of wires had to fit just right. "It was really a hand-crafted machine," adds Bell. "You think of all these wires as a kind of mess, but each one has a precise length." 2.15 IBM PC – 1981 On August 12, 1981, IBM released their new computer, re-named the IBM PC. The "PC" stood for "personal computer" making IBM responsible for popularizing the term "PC". The first IBM PC ran on a 4.77 MHz Intel 8088 microprocessor. The PC came equipped with 16 kilobytes of memory, expandable to 256k. The PC came with one or two 160k Floppy Disks Drives and an optional color monitor. The price tag started at $1,565, which would be nearly $4,000 today. 2.16 Apple Macintosh – 1984 Apple introduced the Macintosh to the nation on January 22, 1984. The original Macintosh had 128 kilobytes of RAM, although this first model was simply called "Macintosh" until the 512K model came out in September 1984. The Macintosh retailed for $2495. It wasn't until the Macintosh that the general population really became aware of the mouse-driven graphical user interface. 2.17 World Wide Web -1989 "CERN is a meeting place for physicists from all over the world, who collaborate on complex physics, engineering and information handling projects. Thus, the need for the WWW system arose "from the geographical dispersion of large collaborations, and the fast turnover of fellows, students, and visiting scientists," who had to get "up to speed on projects and leave a lasting contribution before leaving." CERN possessed both the financial and computing resources necessary to start the project. In the original proposal, Berners-Lee outlined two phases of the project: First, CERN would "make use of existing software and hardware as well as implementing simple browsers for the user's workstations, based on an analysis of the requirements for information access needs by experiments." Second, they would "extend the application area by also allowing the users to add new material." Berners-Lee expected each phase to take three months "with the full manpower complement": he was asking for four software engineers and a programmer. The proposal talked about "a simple scheme to incorporate several different servers of machine-stored information already available at CERN." 16 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Set off in 1989, the WWW quickly gained great popularity among Internet users. For instance, at 11:22 am of April 12, 1995, the WWW server at the SEAS of the University of Pennsylvania "responded to 128 requests in one minute. Between 10:00 and 11:00 2.18 Quantum Computing with Molecules by Neil Gershenfeld and Isaac L. Chuang Factoring a number with 400 digits--a numerical feat needed to break some security codes--would take even the fastest supercomputer in existence billions of years. But a newly conceived type of computer, one that exploits quantum-mechanical interactions, might complete the task in a year or so, thereby defeating many of the most sophisticated encryption schemes in use. Sensitive data are safe for the time being, because no one has been able to build a practical quantum computer. But researchers have now demonstrated the feasibility of this approach. Such a computer would look nothing like the machine that sits on your desk; surprisingly, it might resemble the cup of coffee at its side. Several research groups believe quantum computers based on the molecules in a liquid might one day overcome many of the limits facing conventional computers. Roadblocks to improving conventional computers will ultimately arise from the fundamental physical bounds to miniaturization (for example, because transistors and electrical wiring cannot be made slimmer than the width of an atom). Or they may come about for practical reasons--most likely because the facilities for fabricating still more powerful microchips will become prohibitively expensive. Yet the magic of quantum mechanics might solve both these problems. 17 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Lecture 3 Today’s Goal is to … Become familiar with the World Wide Web Become familiar with the Web’s structure and how the Web works Learn about its genesis, its evolution, and its future About its impact on computing, society, commerce 3.1 Browser A browser is an application program that provides a way to look at and interact with all the information on the World Wide Web. The word "browser" seems to have originated prior to the Web as a generic term for user interfaces that let you browse (navigate through and read) text files online. By the time the first Web browser with a graphical user interface was generally available (Mosaic, in 1993), the term seemed to apply to Web content, too. Technically, a Web browser is a client program that uses the Hypertext Transfer Protocol (HTTP) to make requests of Web servers throughout the Internet on behalf of the browser user. 3.2 URL URL (Uniform Resource Locator, previously Universal Resource Locator) - pronounced YU-AHR-EHL or, in some quarters, UHRL - is the address of a file (resource) accessible on the Internet. The type of file or resource depends on the Internet application protocol. Using the World Wide Web's protocol, the Hypertext Transfer Protocol (HTTP), the resource can be an HTML page (like the one you're reading), an image file, or any other file supported by HTTP. The URL contains the name of the protocol required to access the resource, a domain name that identifies a specific computer on the Internet, and a pathname (hierarchical description of a file location) on the computer. On the Web (which uses the Hypertext Transfer Protocol), an example of a URL is: http://www.ietf.org/rfc/rfc2396.txt Which describes a Web page to be accessed with an HTTP (Web browser) application that is located on a computer named www.ietf.org. The pathname for the specific file in that computer is /rfc/rfc2396.txt. An HTTP URL can be for any Web page, not just a home page, or any individual file. Examples: http://dawn.com http://www.vu.edu.pk http://www.smeda.org.pk 3.3 What is a Web site? A Web site is a related collection of World Wide Web (WWW) files that includes a beginning file called a home page. A company or an individual tells you how to get to their Web site by giving you the address of their home page. From the home page, you can get to all the other pages on their site. For example, the Web site for IBM has the home page address of http://www.ibm.com. IBM's home page address leads to thousands of pages but a web site can also be just of few pages. http://www.vu.edu.pk/ 18 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU 3.4 What is Home Page of a web site? 1) For a Web user, the home page is the first Web page that is displayed after starting a Web browser like Netscape's Navigator or Microsoft's Internet Explorer. The browser is usually preset so that the home page is the first page of the browser manufacturer. However, you can set it to open to any Web site. For example, you can specify that "http://www.yahoo.com" or "http://whatis.com" be your home page. You can also specify that there be no home page (a blank space will be displayed) in which case you choose the first page from your bookmark list or enter a Web address. 2) For a Web site developer, a home page is the first page presented when a user selects a site or presence on the World Wide Web. The usual address for a Web site is the home page address, although you can enter the address (Uniform Resource Locator) of any page and have that page sent to you. 3.5 Who invented the Web & Why? "CERN is a meeting place for physicists from all over the world, who collaborate on complex physics, engineering and information handling projects. Thus, the need for the WWW system arose "from the geographical dispersion of large collaborations, and the fast turnover of fellows, students, and visiting scientists," who had to get "up to speed on projects and leave a lasting contribution before leaving." CERN possessed both the financial and computing resources necessary to start the project. In the original proposal, Berners-Lee outlined two phases of the project: First, CERN would "make use of existing software and hardware as well as implementing simple browsers for the user's workstations, based on an analysis of the requirements for information access needs by experiments." Second, they would "extend the application area by also allowing the users to add new material." Berners-Lee expected each phase to take three months "with the full manpower complement": he was asking for four software engineers and a programmer. The proposal talked about "a simple scheme to incorporate several different servers of machine-stored information already available at CERN." 19 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Set off in 1989, the WWW quickly gained great popularity among Internet users. For instance, at 11:22 am of April 12, 1995, the WWW server at the SEAS of the University of Pennsylvania "responded to 128 requests in one minute. Between 10:00 and 11:00 3.6 Future of the Web: Semantic Web The Semantic Web is an idea of World Wide Web inventor Tim Berners-Lee that the Web as a whole can be made more intelligent and perhaps even intuitive about how to serve a user's needs. Berners-Lee observes that although search engines index much of the Web's content, they have little ability to select the pages that a user really wants or needs. He foresees a number of ways in which developers and authors, singly or in collaborations, can use self-descriptions and other techniques so that context- understanding programs can selectively find what users want. 3.7 Useful Web page Web page for our “Understanding Computers” text book http://www.hbcollege.com/infosys/parker2000 What have we learnt today? What is the World Wide Web? How does it work? About its expected evolution into the Semantic Web The impact of the Web on computing, society, and commerce 20 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Lecture 4 Today’s Goal To learn to classify computers according to their capability and targeted applications To find out about the essential building blocks that make up a modern computer Computer Types According to Capability 4.1 Computer Types According to Capability 4.2 Supercomputers A supercomputer is a computer that performs at or near the currently highest operational rate for computers. A supercomputer is typically used for scientific and engineering applications that must handle very large databases or do a great amount of computation (or both). At any given time, there are usually a few well-publicized supercomputers that operate at the very latest and always incredible speeds. Perhaps the best-known builder of supercomputers has been Cray Research, now a part of Silicon Graphics. Some supercomputers are at "supercomputer center," usually university research centers, some of which, in the United States, are interconnected on an Internet backbone (A backbone is a larger transmission line that carries data gathered from smaller lines that interconnect with it) known as vBNS or NSFNet. At the high end of supercomputing are computers like IBM's "Blue Pacific," announced on October 29, 1998. Built in partnership with Lawrence Livermore National Laboratory in California, Blue Pacific is reported to operated at 3.9 teraflop (trillion floating point operations per second), 15,000 times faster than the average personal computer. It consists of 5,800 processors containing a total of 2.6 trillion bytes of memory and interconnected with five miles of cable. 4.3 Mainframe Computers A very large and expensive computer capable of supporting hundreds, or even thousands, of users simultaneously. In the hierarchy that starts with a simple microprocessor (in watches, for example) at the bottom and moves to supercomputers at the top, mainframes are just below supercomputers. In some ways, mainframes are more powerful than supercomputers because they support more simultaneous programs. But supercomputers can execute a single program faster than a mainframe. The distinction between small mainframes and minicomputers is vague (not clearly expressed), depending really on how the manufacturer wants to market its machines. 4.4 Servers / Minicomputers A midsized computer. In size and power, minicomputers lie between workstations and mainframes. In the past decade, the distinction between large minicomputers and small mainframes has blurred, however, as has the distinction between small minicomputers and workstations. But in general, a minicomputer is a multiprocessing system capable of supporting from 4 to about 200 users simultaneously. 4.5 Desktops These are also called microcomputers. Low-end desktops are called PC’s and high-end ones “Workstations”. These are generally consisting of a single processor only, some times 2, along with MB’s of memory, and GB’s of storage. PC’s are used for running productivity applications, Web surfing, messaging. Workstations are used for more demanding tasks like low-end 3-D simulations and other engineering & scientific apps. These are not as reliable and fault-tolerant as servers. Workstations cost a few thousand dollars; PC around a $1000. 4.6 Portables Portable computer is a personal computer that is designed to be easily transported and relocated, but is larger and less convenient to transport than a notebook computer. The earliest PCs designed for easy transport were called portables. As the size and weight of most portables decreased, they became known as laptop computer and later as notebook computer. Today, larger transportable computers continue to be called portable computers. Most of these are special-purpose computers - for example, those for use in industrial environments where they need to be moved about frequently. 21 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU PDA (personal digital assistant) is a term for any small mobile hand-held device that provides computing and information storage and retrieval capabilities for personal or business use, often for keeping schedule calendars and address book information handy. The term handheld is a synonym. Many people use the name of one of the popular PDA products as a generic term. These include Hewlett-Packard's Palmtop and 3Com's PalmPilot. Most PDAs have a small keyboard. Some PDAs have an electronically sensitive pad on which handwriting can be received. Apple's Newton, which has been withdrawn from the market, was the first widely-sold PDA that accepted handwriting. Typical uses include schedule and address book storage and retrieval and note-entering. However, many applications have been written for PDAs. Increasingly, PDAs are combined with telephones and paging systems. Some PDAs offer a variation of the Microsoft Windows operating system called Windows CE. Other products have their own or another operating system. 4.7 Ranking w.r.t. installed number PC’s PDA’s Workstations Servers Wearable (picture is provided) Mainframes Supercomputers At the highest level, two things are required for computing Hardware Computer equipment such as a CPU, disk drives, CRT, or printer Software A computer program, which provides the instructions which enable the computer hardware to work 4.8 All computers have the following essential hardware components: Input The devices used to give the computer data or commands are called Input devices. Includes keyboard, mouse, scanner, etc Processor A processor is the logic circuitry that responds to and processes the basic instructions that drive a computer. The term processor has generally replaced the term central processing unit (CPU). The processor in a personal computer or embedded in small devices is often called a microprocessor. Short for microprocessor, the central processing unit in a computer. The processor is the logic of a computer and functions comparably to a human central nervous system, directing signals from one component to another and enabling everything to happen Memory Memory is the electronic holding place for instructions and data that your computer's microprocessor can reach quickly. When your computer is in normal operation, its memory usually contains the main parts of the operating system and some or all of the application programs and related data that are being used. Memory is often used as a shorter synonym for random access memory (RAM). This kind of memory is located on one or more microchips that are physically close to the microprocessor in your computer. Most desktop and notebook computers sold today include at least 16 megabytes of RAM, and are upgradeable to include more. The more RAM you have, the less frequently the computer has to access instructions and data from the more slowly accessed hard disk form of storage. Memory is also called primary or main memory. Storage 22 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Computer storage is the holding of data in an electromagnetic form for access by a computer processor. It is also called secondary storage. In secondary storage data resides on hard disks, tapes, and other external devices. Primary storage is much faster to access than secondary storage because of the proximity of the storage to the processor or because of the nature of the storage devices. On the other hand, secondary storage can hold much more data than primary storage. Output The devices to which the computer writes data are called Output devices. Often converts the data into a human readable form. Monitor and printer are output devices. ControlInteger Keyboard Mouse Unit Unit Compact FloatingCache Disk Point Memory Unit Processor System Bus Hard Disk Memory Bus Memory Printer Monitor 4.9 Input Devices Mouse A mouse is a small device that a computer user pushes across a desk surface in order to point to a place on a display screen and to select one or more actions to take from that position. The mouse first became a widely-used computer tool when Apple Computer made it a standard part of the Apple Macintosh. Today, the mouse is an integral part of the graphical user interface (GUI) of any personal computer. The mouse apparently got its name by being about the same size and color as a toy mouse. Keyboard On most computers, a keyboard is the primary text input device. A keyboard on a computer is almost identical to a keyboard on a typewriter. Computer keyboards will typically have extra keys, however. Some of these keys (common examples include Control, Alt, and Meta) are meant to be used in conjunction with other keys just like shift on a regular typewriter. Other keys (common examples include Insert, Delete, Home, End, Help, function keys, etc.) are meant to be used independently and often perform editing tasks. Joystick In computers, a joystick is a cursor control device used in computer games. The joystick, which got its name from the control stick used by a pilot to control the ailerons and elevators of an airplane, is a hand-held lever that pivots on one end and transmits its coordinates to a computer. It often has one or more push-buttons, called switches, whose position can also be read by the computer. Digital Camera A digital camera records and stores photographic images in digital form that can be fed to a computer as the impressions are recorded or stored in the camera for later loading into a computer or printer. Currently, Kodak, Canon, and several other companies make digital cameras. Microphone A device that converts sound waves into audio signals. These could be used for sound recording as well as voice chatting through internet. Scanner A scanner is a device that captures images from photographic prints, posters, magazine pages, and similar sources for computer editing and display. Scanners come in hand-held, feed-in, and flatbed types and for scanning black-and-white only, or color. Very high resolution scanners are used for scanning for high-resolution printing, but lower 23 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU resolution scanners are adequate for capturing images for computer display. Scanners usually come with software, such as Adobe's Photoshop product, that lets you resize and otherwise modify a captured image 4.10 What is Port? On computer and telecommunication devices, a port (noun) is generally a specific place for being physically connected to some other device, usually with a socket and plug of some kind. Typically, a personal computer is provided with one or more serial ports and usually one parallel port. 4.11Many Types of Ports Parallel An interface on a computer that supports transmission of multiple bits at the same time; almost exclusively used for connecting a printer. On IBM or compatible computers, the parallel port uses a 25-pin connector. Serial It is a general-purpose personal computer communications port in which 1 bit of information is transferred at a time. In the past, most digital cameras were connected to a computer's serial port in order to transfer images to the computer. Recently, however, the serial port is being replaced by the much faster USB port on digital cameras as well as computers. SCSI A port that's faster than the serial and parallel ports but slower and harder to configure than the newer USB port. Also know as the Small Computer System Interface. A high-speed connection that enables devices, such as hard-disk drives and network adapters, to be attached to a computer. USB USB (Universal Serial Bus) is a plug-and-play hardware interface for peripherals such as the keyboard, mouse, joystick, scanner, printer and modem. USB has a maximum bandwidth of 12 Mbits/sec and up to 127 devices can be attached. With USB, a new device can be added to your computer without having to add an adapter card. It typically is located at the back of the PC Firewire FireWire is simply a really fast port that lets you connect computer peripherals and consumer electronics to your computer without the need to restart. It is a simple common plug-in serial connector on the back of your computer. It has the ability to chain devices together in a number of different ways without terminators for example, simply join 2 computers with a FireWire cable for instant high- speed networking. 4.12 Processor Pentium Celeron Athlon PowerPC StrongARM (PDA) Crusoe (Laptops) SPARC (Workstations) 4.13 Memory/Storage RAM RAM (random access memory) is the place in a computer where the operating system, application programs, and data in current use are kept so that they can be quickly reached by the computer's processor. RAM is much faster to read from and write to than the other kinds of storage in a computer, the hard disk, floppy disk, and CD-ROM. However, the data in RAM stays there only as long as your computer is running. When you turn the computer off, RAM loses its data. When you turn your computer on again, your operating system and other files are once again loaded into RAM, usually from your hard disk. 24 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Punch cards A card on which data can be recorded in the form of punched holes. ROM ROM is "built-in" computer memory containing data that normally can only be read, not written to. ROM contains the programming that allows your computer to be "booted up" or regenerated each time you turn it on. Unlike a computer's random access memory (RAM), the data in ROM is not lost when the computer power is turned off. The ROM is sustained by a small long-life battery in your computer. Hard disk Hard disk is a computer storage device which saves and retrieves the data when required. Its capacity is much greater than the computer memory (RAM, ROM). Data on hard disk is stored and retrieved from electromagnetically charged surface. Today we can save huge amount of data on a single hard disk. Now hard disks can contain several billion bytes. Floppy disk A diskette is a random access, removable data storage medium that can be used with personal computers. The term usually refers to the magnetic medium housed in a rigid plastic cartridge measuring 3.5 inches square and about 2 millimeters thick. Also called a "3.5-inch diskette," it can store up to 1.44 megabytes (MB) of data. Tape In computers, tape is an external storage medium, usually both readable and writable, can store data in the form of electromagnetic charges that can be read and also erased. A tape drive is the device that positions, writes from, and reads to the tape. CD A compact disc [sometimes spelled disk] (CD) is a small, portable, round medium for electronically recording, storing, and playing back audio, video, text, and other information in digital form. DVD DVD (digital versatile disc) is an optical disc technology that is expected to rapidly replace the CD-ROM disc (as well as the audio compact disc) over the next few years. The digital versatile disc (DVD) holds 4.7 gigabyte of information on one of its two sides, or enough for a 133-minute movie. 4.14 Classifying Memory/Storage Electronic (RAM, ROM), magnetic (HD, FD, Tape), optical (CD, DVD) Volatile (RAM), non-volatile (HD) Direct access (RAM, HD), serial access (Tape) Read/write (HD, RAM), read-only (CD) 4.15 Output Devices Printer Plotter Speakers Monitor 4.16 Modem Modem is output as well as input device at the same time. It receives the data (analog signal) coming through telephone line, converts them to digital signals and sends them to 25 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU computer to which it is attached. It also receives the data from computer and changes it to analog signals. What have we learnt today? What are the various types of computers with respect to their size, capability, applications (FIVE TYPES) The five essential components of any computer are input devices, processor, memory, storage and output devices 26 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Lecture 5 Today’s goal is quite simple … To learn about the various components of the popular personnel computer. How those things are put together to form a PC 5.1 PC Parts Monitor Keyboard Mouse Speaker/headphone Microphone CPU Front buttons Backside ports, fan, slots, cables 5.2 Inside of the CPU Power supply/fan & connectors Motherboard Bus Edge connectors Ports Video card Modem Network card Sound card ROM RAM Slots DIMM’s 5.3 The Processor Module The slot on the motherboard The housing Fan Heat sink Pins (256?), Transistors (10 million?) 27 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Lecture 6 Learning Goals for Today 6.1 To develop your personal Web page To upload your Web page to VU’s Web server so that it becomes visible on the Internet as http://www.vu.edu.pk/~xxxxxxx/ where xxxxxxx is your user ID http://www.vu.edu.pk/~altaf HTML Hyper Text Markup Language Altaf Khan's Home Page Altaf Khan Adjunct Lecturer in Computer Science Virtual University Building 1, 3rd Floor, Aiwan-e-Iqbal, Lahore +92 42 555 1212 [email protected] I teach the Introduction to Computing course. 28 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU http://www.vu.edu.pk/~altaf/index.html http://www.vu.edu.pk/~altaf http://www.vu.edu.pk/~xxxxxxx where xxxxxxx is your user ID … … … … … … … … Paragraph Line break 29 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU … Bold text label http:// example: “http://www.vu.edu.pk” mailto: example: “mailto:[email protected]” HTML Code I am at the Virtual University. You can send me an e-mail by clicking here. Browser Display I am at the Virtual University. You can send me an e-mail by clicking here. What have we learned today? We now know how Web pages are built using HTML We also know how to make our personal Web pages available to everyone on the Internet Useful URL’s HTML for the Conceptually Challenged http://www.arachnoid.com/lutusp/html_tutor.html NCSA’s Beginner's Guide to HTML http://archive.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimerAll.html Homework Assignment Develop your own home page. It should be accessible as http://www.vu.edu.pk/~xxxxxxx (xxxxxxxx is your user ID) Among other things, it should contain At least one link to http://www.vu.edu.pk/~altaf Your (clickable) email address A paragraph (50-100 words) on what you see yourself doing 10 years from now. Consult your syllabus for the submission deadline for this assignment 30 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Lecture 7 Goals for Today Today we want to learn about the microprocessor, the key component, the brain, of a computer We’ll learn about the function of a microprocessor And its various sub-systems Bus interface unit Data & instruction cache memory Instruction decoder Arithmetic-Logic unit Floating-point unit Control unit 7.1 Microprocessor A microprocessor (abbreviated as µP or uP) is a computer processor on a microchip. It's sometimes called a logic chip. A microprocessor is designed to perform arithmetic and logic operations that make use of small number-holding areas called registers. Typical microprocessor operations include adding, subtracting, comparing two numbers, and fetching numbers from one area to another. These operations are the result of a set of instructions that are part of the microprocessor design. When the computer is turned on, the microprocessor is designed to get the first instruction from the basic input/output system (BIOS) that comes with the computer as part of its memory. After that, either the BIOS, or the operating system that BIOS loads into computer memory, or an application program is "driving" the microprocessor, giving it instructions to perform. The number of transistors available has a huge effect on the performance of a processor. As seen earlier, a typical instruction in a processor like an 8088 took 15 clock cycles to execute. Because of the design of the multiplier, it took approximately 80 cycles just to do one 16-bit multiplication on the 8088. With more transistors, much more powerful multipliers capable of single-cycle speeds become possible. A microprocessor is made from miniaturized transistors and other circuit elements on a single semiconductor integrated circuit (IC). These are made up oof semiconductor and silicon. 7.2 Integrated Circuits A chip is also called an (integrated circuit (IC) (aka microchip or just chip). It is a microelectronic semiconductor device consisting of many interconnected transistors and other components.Generally it is a small, thin piece of silicon onto which the transistors making up the microprocessor have been etched. A chip might be as large as an inch on a side and can contain tens of millions of transistors. Simpler processors might consist of a few thousand transistors etched onto a chip just a few millimeters square. Integrated circuits can be classified into analog, digital and mixed signal (both analog and digital on the same chip). Digital integrated circuits can contain anything from one to millions of logic gates, flip-flops, multiplexers, etc. in a few square millimeters. The small size of these circuits allows high speed, low power dissipation, and reduced manufacturing cost compared with board-level integration. The growth of complexity of integrated circuits follows a trend called "Moore's Law", it states that the number of transistors in an integrated circuit doubles every two years. Integrated circuits can be classified into analog, digital and mixed signal (both analog and digital on the same chip). Digital integrated circuits can contain anything from one to millions of logic gates, flip-flops, multiplexers, etc. in a few square millimeters. The small size of these circuits allows high speed, low power dissipation, and reduced manufacturing cost compared with board-level integration. 7.3 Devices 7.3.1 Transistors 31 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU The transistor is a solid state semiconductor device used for amplification and switching, and has three terminals. A small current or voltage applied to one terminal controls the current through the other two, hence the term transistor; a voltage- or current-controlled resistor. It is the key component in all modern electronics. In digital circuits, transistors are used as very fast electrical switches, and arrangements of transistors can function as logic gates, RAM-type memory and other devices. In analog circuits, transistors are essentially used as amplifiers. 7.3.2 Diodes A diode functions as the electronic version of a one-way valve. By restricting the direction of movement of charge carriers, it allows an electric current to flow in one direction, but blocks it in the opposite direction. A diode's current-voltage, or I-V, characteristic can be approximated by two regions of operation. Below a certain difference in potential between the two leads, the diode can be thought of as an open (non-conductive) circuit. As the potential difference is increased, at some stage the diode will become conductive and allow current to flow, at which point it can be thought of as a connection with zero (or at least very low) resistance. In a typical semiconductor p-n diode, conventional current can flow from the p-doped side to the n-doped side, but not in the opposite direction. When the diode is reverse-biased, the charge carriers are pulled away from the center of the device, creating a depletion region. More specifically, the transfer function is logarithmic, but so sharp that it looks like a corner. 7.3.3 Resistors A resistor is an electrical component designed to have an electrical resistance that is independent of the current flowing through it. The common type of resistor is also designed to be independent of temperature and other factors. Resistors may be fixed or variable. Variable resistors are also called potentiometers or rheostats A few resistor types Some resistors are long and thin, with the actual resisting material in the centre, and a conducting metal leg on each end. This is called an axial package. Resistors used in computers and other devices are typically much smaller, often in surface- mount (Surface-mount technology) packages without leads. Larger power resistors come in more sturdy packages designed to dissipate heat efficiently, but they are all basically the same structure. Resistors are used as part of electrical networks and incorporated into microelectronic semiconductor devices. The critical measurement of a resistor is its resistance, which serves as a ratio of voltage to current and is measured in ohms, an SI unit. Any physical object is a kind of resistor. Most metals are conductors, and have low resistance to the flow of electricity. The human body, a piece of plastic, or even a vacuum has a resistance that can be measured. Materials that have very high resistance are called insulators. 7.3.4 Capacitors A capacitor (historically known as a "condenser") is a device that stores energy in an electric field, by accumulating an internal imbalance of electric charge. An ideal capacitor can store electronic energy when disconnected from its charging circuit, so it can be used like a fast battery. In AC or signal circuits it induces a phase difference of 90 degrees, current leading potential. They are connected in parallel with the power circuits of most electronic devices and larger systems (such as factories) to shunt away and conceal current fluctuations from the primary power source to provide a "clean" power supply for signal or control circuits. The effect of such capacitors can be thought of in two different ways. One way of thinking about it is that the capacitors act as a local reserve for the DC power source, to smooth out fluctuations by charging and discharging each cycle. The other way to think about it is that the capacitor and resistance of the power supply circuitry acts as a filter and removes high frequencies, leaving only DC. Wires And are made of the following materials 32 © Copyright Virtual University of Pakistan Introduction to Computing –CS101 VU Silicon - semiconductor Copper - conductor Silicon Dioxide - insulator 7.4 Microprocessor system Microprocessors are powerful pieces of hardware, but not much useful on their own. They do not have the sense of their own. Like the human sample it needs some instructions inputs and outputs to process some task. As per instruction given to the microprocessor. A microprocessor system is microprocessor plus all the components it requires to do a certain task. Shortly, a microprocessor needs help of some components to make up the task to fulfill. These components are input, output, storage, and memory. All these components and microprocessor make up a microprocessor system. Personal Computer is an example of microprocessor System. Another example is the microcontroller. 7.5 Micro-controllers A microcontroller is a microprocessor optimised to be used to control electronic equipment. Microcontrollers rep