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