Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Chapter1- Introduction to Computers and the Internet


Published on

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

Chapter1- Introduction to Computers and the Internet

  1. 1. 1<br />1<br />Introduction to Computers and the Internet<br />
  2. 2. 2<br />1.2 What is a Computer?<br />Computer<br />Device capable of <br />Performing computations <br />Making logical decisions <br />Works billions of times faster than human beings<br />Fastest supercomputers today<br />Perform hundreds of billions of additions per second<br />
  3. 3. 3<br />Programs<br />Sets of instructions that process data<br />Guide computer through orderly sets of actions specified by computer programmers<br />Computer system<br />Comprised of various hardware devices<br />Keyboard<br />Screen <br />Disks<br />Memory<br />DVD drives<br />Processing Units<br />1.2 What is a Computer? (Cont.)<br />
  4. 4. 4<br />Every computer divided into six units<br />1. Input unit<br />“Receiving” section of computer<br />Obtains data from input devices<br />Usually a keyboard, mouse, disk, scanner, uploads (photos and videos) and networks (Internet)<br />Places data at disposal of other units for processing<br />2. Output unit<br />“Shipping” section of computer<br />Puts processed info on various output devices <br />Screens, paper printouts, speakers<br />Makes info available outside the computer (e.g., Internet)<br />1.3 Computer Organization<br />
  5. 5. 5<br />3. Memory unit<br />Rapid access, low capacity “warehouse” section of computer<br />Stores computer programs while they are being executed.<br />Retains information entered through input unit<br />Retains info that has already been processed until can be sent to output unit<br />Often called memory, primary memory, or random access memory (RAM)<br />4.Arithmetic and Logic Unit<br />“Manufacturing” section of computer<br />Performs calculations (addition, subtraction, multiplication and division)<br />Contains decision mechanisms and can make comparisons<br />1.3 Computer Organization (Cont.)<br />
  6. 6. 6<br />5. Central Processing Unit (CPU)<br />“Administrative” section of computer<br />Coordinates and supervises other sections<br />Multiple CPUs (multiprocessors)<br />6. Secondary storage unit<br />Long-term, high-capacity “warehouse”<br />Stores programs or data not currently being used by other units on secondary storage devices (like CDs and DVDs) <br />Takes longer to access than primary memory<br />1.3 Computer Organization (Cont.)<br />
  7. 7. 7<br />1.4 Machine Languages, Assembly Languages and High-Level Languages<br />Three general types of programming languages<br />Machine languages<br />Assembly languages<br />High-level languages<br />
  8. 8. 8<br />1.4 Machine Languages, Assembly Languages and High-Level Languages (Cont.)<br />Machine languages<br />“Natural language” of a computer<br />Defined by hardware design of computer<br />Generally consists of strings of numbers<br />Are machine dependent<br />Cumbersome for humans<br />Slow and tedious for most programmers<br />
  9. 9. 9<br />1.4 Machine Languages, Assembly Languages and High-Level Languages (Cont.)<br />Assembly languages<br />Programmers began using English-like abbreviations to substitute for machine languages<br />Represents elementary operations of computer<br />Translator programs called assemblers convert assembly-language to machine-language<br />Example:<br />
  10. 10. 10<br />1.4 Machine Languages, Assembly Languages and High-Level Languages (Cont.)<br />High-level languages<br />Developed as computer usage increased, assembly language proved inadequate and time-consuming<br />Single statements can be written to accomplish substantial tasks<br />Translator programs called compilers<br />Allow programmers to write instructions almost like every-day English<br />Example:<br />
  11. 11. 11<br />1.4 Machine Languages, Assembly Languages and High-Level Languages (Cont.)<br />High-level languages (II)<br />Much more desirable from programmer’s standpoint<br />Specific languages include<br />C, C++, Visual Basic.NET, C# and Java<br />Among most powerful and widely used languages today<br />Interpreter programs developed to execute high-level programs without compiling<br />Popular in program development environments<br />Once program developed, compiled version made<br />In this book, several key programming languages<br />JavaScript, ActionScript, PHP and Ruby on Rails—each of these scripting languages is processed by interpreters<br />Study markup languages <br />XHTML and XML, which can be processed by interpreted scripting languages<br />Achieve their goal of portability across a variety of platforms<br />
  12. 12. 12<br />Portability Tip 1.1<br />Interpreted languages are more portable than compiled languages. Interpreters can be implemented for each platform on which the interpreted languages need to execute. <br />
  13. 13. 13<br />1.5 History of the Internet and World Wide Web<br />ARPANET<br />Implemented in late 1960’s by ARPA (Advanced Research Projects Agency of DOD)<br />Networked computer systems of a dozen universities and institutions with 56KB communications lines<br />Grandparent of today’s Internet<br />Intended to allow computers to be shared<br />Became clear that key benefit was allowing fast communication between researchers – electronic-mail (email)<br />
  14. 14. 14<br />1.5 History of the Internet and World Wide Web<br />ARPA’s goals<br />Allow multiple users to send and receive info at same time<br />Network operated packet switching technique<br />Digital data sent in small packages called packets<br />Packets contained data, address info, error-control info and sequencing info<br />Greatly reduced transmission costs of dedicated communications lines<br />Network designed to be operated without centralized control<br />If portion of network fails, remaining portions still able to route packets<br />
  15. 15. 15<br />1.5 History of the Internet and World Wide Web<br />Transmission Control Protocol (TCP)<br />Name of protocols for communicating over ARPAnet<br />Ensured that messages were properly routed and that they arrived intact<br />Organizations implemented own networks<br />Used both for intra-organization and communication<br />
  16. 16. 16<br />1.5 History of the Internet and World Wide Web<br />Huge variety of networking hardware and software appeared<br />ARPA achieved inter-communication between all platforms with development of the IP<br />Internetworking Protocol<br />Current architecture of Internet<br />Combined set of protocols called TCP/IP<br />The Internet<br />Limited to universities and research institutions<br />Military became big user<br />Next, government decided to access Internet for commercial purposes<br />
  17. 17. 17<br />1.6 World Wide Web Consortium (W3C)<br />W3C Founded in 1994 by Tim Berners-Lee<br />Homepage at<br />Goals<br />Internet universally accessible<br />Standardization<br />W3C Recommendations: <br />Technologies standardized by W3C<br />include the Extensible HyperText Markup Language (XHTML), Cascading Style Sheets (CSS), HyperText Markup Language and the Extensible Markup Language (XML). <br />-not an actual software product, but a document that specifies a technology’s role, syntax rules and so forth. <br />
  18. 18. 18<br />1.7 Web 2.0<br />The term Web 2.0 was coined by Dale Dougherty<br />Web 2.0 definition = companies use the web as a platform to create collaborative, community-based sites (e.g., social networking sites, blogs, wikis, etc.).<br />Web 1.0 (1990s and early 2000s) focused on a small number of companies and advertisers producing content for users to access <br />Web 2.0 involves the <br />Web 1.0 is as a lecture, <br />Web 2.0 is a conversation<br />Websites like MySpace , Facebook , Flickr , YouTube, eBay and Wikipedia , users create the content, companies provide the platforms. <br />
  19. 19. 19<br />1.8 Personal, Distributed and Client/Server Computing <br />1977 Apple Computer popularized personal computing<br />Computers became economical for personal or business use<br />Machines could be linked together in computer networks <br />Local area networks (LANs) <br />Distributed computing<br />Workstations<br />Servers offer data storage and other capabilities that may be used by client computers distributed throughout the network, <br />Client/server computing<br />Popular operating systems<br />UNIX, Linux, Mac OS X and Microsoft’s Windows<br />
  20. 20. 20<br />1.9 Hardware Trends<br />Moore’s law states that the power of hardware doubles every two years, while the price remains essentially the same.<br />Recently , hardware has been moving towards mobile, wireless technology.<br />
  21. 21. 21<br />1.10 The Key Software Trend: Object Technology<br />Objects<br />Reusable software components that model items in the real world (classes)<br />Makes software developers more productive<br />Object-oriented programs often easier to understand, correct and modify than older types of programs<br />
  22. 22. 22<br />1.10 The Key Software Trend: Object Technology (Cont.)<br />Object technology<br />Packaging scheme that helps create meaningful software units<br />Large and highly focused on particular applications areas<br />Before appeared, programming languages were focused on actions (verbs) rather than on objects (nouns)<br />
  23. 23. 23<br />1.10 The Key Software Trend: Object Technology (Cont.)<br />Object technology (continued)<br />Object-oriented programming <br />Programmers work in manner similar to how they see the world <br />More natural process<br />Significant productivity enhancements <br />Procedural programming<br />Not particularly reusable<br />Forces programmers to constantly “re-invent the wheel” <br />Wastes time and resources<br />Objects (classes)<br />Software modules<br />Kept in libraries<br />Reusable – save time and resources<br />
  24. 24. 24<br />1.11 JavaScript: Object-BasedScripting for the Web<br />JavaScript<br />Attractive package for advancing level of programming language education<br />Object-based language <br />Supports proper software engineering techniques<br />Free as part of today’s most popular Web browsers<br />Powerful scripting language<br />Portable<br />
  25. 25. 25<br />1.12 Browser Portability<br />Browser portability<br />Great challenge<br />Great diversity of client browsers in use<br />Many different platforms also in use<br />Difficult to<br />Know capabilities and features of all browsers and platforms in use<br />
  26. 26. 26<br />1.13 C, C++ and Java<br />C<br />developed by Dennis Ritchie at Bell Laboratories <br />development language of the UNIX operating system<br />virtually all new major operating systems are written in C and/or C++<br />C++<br />developed by BjarneStroustrup in early 1980s <br />“spruce up” the C language and provides capabilities for object-oriented programming<br />Java<br />developed by Sun Microsystems in 1991 <br />Java is now used to <br />develop large-scale enterprise applications<br />enhance the functionality of web servers <br />provide applications for consumer devices<br />
  27. 27. 27<br />1.14 BASIC, Visual Basic, Visual C++, C# and .NET <br />BASIC <br />Developed in the mid-1960s at Dartmouth College <br />Primary purpose was to familiarize novices with programming techniques<br />Microsoft’s Visual Basic language <br />Based on Basic<br />Has become one of the most popular programming languages in the world<br />Microsoft’s .NET platform<br />Provides the capabilities developers need to create computer applications that can execute on computers distributed across the Internet<br />Visual Basic (based on the original BASIC)<br />Visual C++ (based on C++)<br />Visual C# (based on C++ and Java) C# (C sharp)<br />
  28. 28. 28<br />1.15 Software Technologies<br />Linux <br />Open source operating system <br />Apache <br />Most popular open source web server<br />MySQL <br />Open source database management system<br />PHP <br />Most popular open source server-side “scripting” language for developing Internet-based applications<br />LAMP<br />Linux, Apache, MySQL and PHP (or Perl or Python) <br />Game programming<br />Software techniques used in game programming Adobe Flash CS3<br />Ruby on Rails <br />Combines the scripting language Ruby with the Rails web application framework <br />Developed by 37Signals<br />Software as a Service (SaaS)<br />Software runs on servers elsewhere on the Internet <br />, Google, Microsoft and 37Signals all offer SaaS<br />