Java Software SolutionsFoundations of Program Design

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