Java Software Solutions Lewis and Loftus presentation slides for Java Software Solutions Foundations of Program Design by John Lewis and William Loftus Published by Addison-Wesley Java Software Solutions Focus of the course Lewis and Loftus problem solving program design and implementation object-oriented concepts steps in the development process the Java programming language • Program development – – – – – – – – – – graphics – Graphical User Interfaces – sorting and searching Copyright 1997 by John Lewis and William Loftus. All rights reserved. data and operations decisions and loops objects and classes arrays, vectors, strings • Specific programming concepts and techniques Chapter 1 2 Java Software Solutions Lewis and Loftus Computer Systems -- Introduction • Before we can dive into programming, we need to understand the fundamentals of computers in general – – – – – Copyright 1997 by John Lewis and William Loftus. All rights reserved. components of a computer how those components interact how computers store and process information computer networks the Internet and the World Wide Web • Chapter 1 focuses on: Chapter 1 3 Java Software Solutions Hardware and Software • Hardware Lewis and Loftus – the physical, tangible parts of a computer – keyboard, monitor, wires, chips, disks • Software – programs and data – a program is a series of instructions • A computer requires both hardware and software Copyright 1997 by John Lewis and William Loftus. All rights reserved. • Each is essentially useless without the other Chapter 1 4 Java Software Solutions Hardware Components Lewis and Loftus • Central Processing Unit (CPU) – the chip that executes program commands – Intel Pentium processor, Sun Sparc processor Copyright 1997 by John Lewis and William Loftus. All rights reserved. – allow interaction with the user – keyboard, monitor, mouse • Input / Output devices Chapter 1 5 Java Software Solutions Hardware Components • Main memory Lewis and Loftus – the primary storage area for programs and data in active use Copyright 1997 by John Lewis and William Loftus. All rights reserved. – long-term storage – floppy disks, hard disks, tapes • Secondary memory devices Chapter 1 6 Hard disk Floppy disk Java Software Solutions Lewis and Loftus Main memory CPU Copyright 1997 by John Lewis and William Loftus. All rights reserved. Hardware Interaction Chapter 1 Keyboard Monitor 7 Java Software Solutions Software Categories Lewis and Loftus controls all machine activities provides the user interface to the computer manages resources such as the CPU and memory Windows 95, Solaris, Mac OS • Operating system – – – – Copyright 1997 by John Lewis and William Loftus. All rights reserved. – generic term for any other kind of software – word processors, missile control systems, games • Application program Chapter 1 8 Java Software Solutions Analog vs. Digital Lewis and Loftus • There are two basic ways to store and manage data • Analog – continuous, in direct proportion to the data represented – example: a mercury thermometer - the mercury rises in direct proportion to the temperature Copyright 1997 by John Lewis and William Loftus. All rights reserved. – the information is broken down into pieces, and each piece is represented separately – example: music on a CD • Digital Chapter 1 9 Java Software Solutions Digital Information Lewis and Loftus numbers text graphics and pictures audio video program instructions • Modern computers store all information digitally, including: – – – – – – Copyright 1997 by John Lewis and William Loftus. All rights reserved. • In some way, all information is digitized - broken down into pieces and represented as numbers Chapter 1 10 Java Software Solutions Representing text digitally Lewis and Loftus 11 • Each character, including spaces, digits, and punctuation, is stored as a number Copyright 1997 by John Lewis and William Loftus. All rights reserved. 72 105 44 32 72 101 97 116 104 101 114 46 Hi, Heather. • Corresponding upper and lower case letters are separate characters Chapter 1 Java Software Solutions Binary Numbers Lewis and Loftus • Once information is digitized, it is represented and stored in memory using the binary number system • A single binary digit (0 or 1) is called a bit • Devices that store and move information are cheaper and more reliable if they only have to represent two states 12 • A single bit can represent two possible states, like a light bulb that is either on (1) or off (0) Copyright 1997 by John Lewis and William Loftus. All rights reserved. • Combinations of bits are used to store larger values Chapter 1 Java Software Solutions 1 bit 2 bits 3 bits 4 bits Lewis and Loftus 0 1 00 01 10 11 etc. 000 001 010 011 100 101 110 111 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Bit Permutations Chapter 1 13 Java Software Solutions Bit Permutations Lewis and Loftus = = = = = 2 items 4 items 8 items 16 items 32 items 14 • Each bit that is added to the string doubles the number of states or items that can be represented 21 22 23 24 25 Copyright 1997 by John Lewis and William Loftus. All rights reserved. 1 bit 2 bits 3 bits 4 bits 5 bits • N bits can represent 2N unique items Chapter 1 Java Software Solutions Computer Architecture Lewis and Loftus • Now we can examine the hardware components of a computer in more detail • The CPU and main memory are the two key hardware components • All other devices can be considered peripherals • Controllers coordinate the activities of specific peripherals Copyright 1997 by John Lewis and William Loftus. All rights reserved. • Binary information moves between devices across a group of wires called a bus Chapter 1 15 Monitor Video controller bus Java Software Solutions Lewis and Loftus Main memory Disk controller Floppy disk Copyright 1997 by John Lewis and William Loftus. All rights reserved. Hard disk CPU Computer Architecture Chapter 1 Controller other peripherals 16 Memory Java Software Solutions Lewis and Loftus • Main memory is divided into many memory locations • Each memory location has an address which uniquely identifies it • Data is stored in one or more consecutive memory locations Copyright 1997 by John Lewis and William Loftus. All rights reserved. • On most computers, each memory location holds 8 bits, or 1 byte Chapter 1 17 Memory Chapter 1 Java Software Solutions address 9278 9279 9280 9281 9282 9283 9284 9285 9286 Lewis and Loftus Copyright 1997 by John Lewis and William Loftus. All rights reserved. large values are stored in consecutive memory locations 18 Java Software Solutions Storage Capacity Lewis and Loftus • Each memory device has a storage capacity, indicating the number of bytes it can hold Unit Symbol 210 = 1024 220 (over 1 mill 230 (over 1 bill 240 (over 1 tril Number of Bytes 19 KB MB GB TB Copyright 1997 by John Lewis and William Loftus. All rights reserved. kilobyte megabyte gigabyte terabyte • Capacities are expressed in various units of binary storage: Chapter 1 Memory Java Software Solutions Lewis and Loftus • Main memory is volatile - stored information is lost if the electric power is removed • Secondary memory devices are nonvolatile • Main memory and disks are random access devices, which mean that information can be reached directly Copyright 1997 by John Lewis and William Loftus. All rights reserved. • A magnetic tape is a sequential access device since its data is arranged in a linear order - you must get by the intervening data in order to access other information Chapter 1 20 RAM vs. ROM Java Software Solutions Lewis and Loftus • RAM - Random Access Memory • ROM - Read-Only Memory • The terms RAM and main memory are basically interchangeable • ROM could be a set of memory chips, or a separate device, such as a CD ROM • Both RAM and ROM are random access devices! Copyright 1997 by John Lewis and William Loftus. All rights reserved. • RAM should probably be called Read-Write Memory Chapter 1 21 Java Software Solutions Lewis and Loftus The Central Processing Unit (CPU) • A CPU is also called a microprocessor • It retrieves, interprets, and executes instructions, one after another, continuously • This process is called the fetch-decode-execute cycle Copyright 1997 by John Lewis and William Loftus. All rights reserved. 22 • control unit - coordinates processing steps • registers - small storage areas • arithmetic / logic unit - performs calculations and decisions • The CPU contains: Chapter 1 Main memory Java Software Solutions Lewis and Loftus CPU Copyright 1997 by John Lewis and William Loftus. All rights reserved. Registers Control unit Arithmetic / Logic unit The Central Processing Unit Chapter 1 23 Java Software Solutions Lewis and Loftus The Central Processing Unit • The speed of a CPU is controlled by the system clock 24 • The system clock generates an electronic pulse at regular intervals • The pulses coordinate the activities of the CPU Copyright 1997 by John Lewis and William Loftus. All rights reserved. • The speed is measured in megahertz (MHz) Chapter 1 Java Software Solutions A Computer Specification Lewis and Loftus Copyright 1997 by John Lewis and William Loftus. All rights reserved. – 200 MHz Pentium Processor – 32 MB RAM – 2.3 GB Hard Disk – 12x speed CD ROM Drive – 17” Multimedia Video Display with 1280 x 1024 resolution – 33,600 bps Data / Fax Modem • Consider the following specification for a personal computer: Chapter 1 25 Monitor Java Software Solutions Lewis and Loftus • The primary output device listed in the specification is a 17” monitor • The size is measured diagonally, like a television screen 26 • It has multimedia capabilities: text, graphics, video, etc. • It has a resolution of 1280 by 1024 pixels Copyright 1997 by John Lewis and William Loftus. All rights reserved. • High resolution (more pixels) produces sharper pictures Chapter 1 Modem Java Software Solutions Lewis and Loftus • Data transfer devices allow information to be sent and received between computers • The computer specification includes a modem, which allows information to be moved across a telephone line • It can send and receive fax documents as well as basic data Copyright 1997 by John Lewis and William Loftus. All rights reserved. • It transfers information at a rate of 33,600 bits per second (bps) Chapter 1 27 Networks Java Software Solutions Lewis and Loftus 28 • A network is two or more computers connected together so that information and resources can be shared • Most computers are connected to some kind of network • Each computer has its own network address, which uniquely identifies it among the others • A file server is a network computer dedicated to storing programs and data that are shared among network users Copyright 1997 by John Lewis and William Loftus. All rights reserved. • A file server often has a large amount of secondary memory Chapter 1 Java Software Solutions Network Connections Lewis and Loftus • There are many techniques for connecting computers into networks • Point-to-point connections - each computer is directly connected to each other • This technique is not feasible for more than a few close machines Copyright 1997 by John Lewis and William Loftus. All rights reserved. • Adding a new computer requires a new communication line for each computer already in the network Chapter 1 29 Java Software Solutions Network Connections Lewis and Loftus • Most modern networks share a single communication line 30 • Adding a new computer to the network is relatively easy • The shared communication line must be managed carefully • Network users must take turns using the line, which introduces delays Copyright 1997 by John Lewis and William Loftus. All rights reserved. • Often information is broken down into parts, sent to the receiving machine, and reassembled Chapter 1 Java Software Solutions Lewis and Loftus Shared Line Copyright 1997 by John Lewis and William Loftus. All rights reserved. Network Connections Point-to-Point Chapter 1 31 Java Software Solutions LANs and WANs Lewis and Loftus • A local-area network (LAN) is designed to cover small distances and a small number of computers • A LAN often connects the machines in a single room or building • A wide-are network (WAN) connects two or more LANs, often over long distances Copyright 1997 by John Lewis and William Loftus. All rights reserved. 32 • Individual LANs are usually owned by a single organization, but WANs often connect LANs from many different groups in many different countries Chapter 1 Java Software Solutions Lewis and Loftus LAN Copyright 1997 by John Lewis and William Loftus. All rights reserved. Long-distance connection LANs and WANs Chapter 1 LAN 33 The Internet Java Software Solutions Lewis and Loftus • The Internet is a WAN which spans the entire planet • The word Internet comes from the term internetworking, which implies a network of networks • It started as a United States government project, sponsored by the Advanced Research Projects Agency (ARPA), and was originally called the ARPANET 34 • The Internet grew quickly throughout the 1980s and 90s Copyright 1997 by John Lewis and William Loftus. All rights reserved. • Less than 600 computers were connected to the Internet in 1983; now there are over 10 million Chapter 1 The Internet Java Software Solutions Lewis and Loftus 35 • The software which manages Internet communication is called TCP/IP • The programs in the Internet Protocol (IP) formats the information for transfer • The programs in the Transmission Control Protocol (TCP) reassembles messages and handles lost information Copyright 1997 by John Lewis and William Loftus. All rights reserved. 204.192.116.2 • Each computer on the Internet has a unique IP address, such as: Chapter 1 The Internet Java Software Solutions Lewis and Loftus • Most computers also have a unique Internet name, which is also referred to as an Internet address: renoir.vill.edu kant.wpllabs.com • The first part indicates a particular computer (renoir) Copyright 1997 by John Lewis and William Loftus. All rights reserved. 36 • The rest is the domain name, indicating the organization (vill.edu) Chapter 1 The Internet Java Software Solutions Lewis and Loftus • The last section of each domain name usually indicates the type of organization: • edu - educational institution • com - commercial business • org - non-profit organization • Sometimes the suffix indicates the country: • uk - United Kingdom Copyright 1997 by John Lewis and William Loftus. All rights reserved. • New suffix categories are being considered Chapter 1 37 Internet Java Software Solutions Lewis and Loftus • A domain name can have several parts 38 • Unique domain names mean that multiple sites can have individual computers with the same local name • When used, an Internet address is translated to an IP address by software called the Domain Name System (DNS) Copyright 1997 by John Lewis and William Loftus. All rights reserved. • There is not a one-to-one correspondence between the sections of an IP address and the sections of an Internet address Chapter 1 Java Software Solutions The World-Wide Web Lewis and Loftus • The World-Wide Web allows many different types of information to be accessed using a common interface 39 • A browser is a program which accesses and presents information: text, graphics, sound, audio, and programs • A Web document usually contains links to other Web documents, creating a hypermedia environment Copyright 1997 by John Lewis and William Loftus. All rights reserved. • The term Web comes from the fact that information is not organized in a linear fashion Chapter 1 Java Software Solutions The World-Wide Web Lewis and Loftus • Web documents are defined by the HyperText Markup Language (HTML) • Information on the Web is found using a Uniform Resource Locator (URL): http://www.lycos.com Copyright 1997 by John Lewis and William Loftus. All rights reserved. 40 • A URL may indicate an HTML document, or some other kind of information Chapter 1