Fill in the blanks in each of the following statements.
Dividing a problem or a task into parts is an example of the ____________ principle.
Designing a class so that it shields certain parts of an object from other objects is an example of the ____________ principle.
Java programs that can run without change on a wide variety of computers are an example of ____________.
The fact that social security numbers are divided into three parts is an example of the ____________ principle.
To say that a program is robust means that ____________.
An ____________ is a separate module that encapsulates a Java program's attributes and actions.
Exercise 0.2
Explain the difference between each of the following pairs of concepts.
hardware and software
systems software and application software
compiler and interpreter
machine language and high-level language
general-purpose computer and special-purpose computer
primary memory and secondary memory
CPU and ALU
Internet and WWW
client and server
HTTP and HTML
source code and object code
Exercise 0.3
Fill in the blanks in each of the following statements.
A____________ is a set of instructions that directs a computer's behavior.
A disk drive would be an example of a ____________device.
A mouse is an example of an ____________device.
A monitor is an example of an ____________device.
The computer's ____________functions like a scratch pad.
Java is an example of a ____________programming language.
The Internet is a network of ____________.
The protocol used by the World Wide Web is the ____________protocol.
Web documents are written in ____________code.
A ____________is a networked computer that is used to store data for other computers on the network.
[Page 21]
Exercise 0.4
Identify the component of computer hardware that is responsible for the following functions.
executing the fetch-execute cycle
arithmetic operations
executing instructions
storing programs while they are executing
storing programs and data when the computer is off
Exercise 0.5
Explain why a typical piece of software, such as a word processor, cannot run on both a Macintosh and a Windows machine.
Exercise 0.6
What advantages do you see in platform independence? What are the disadvantages?
Exercise 0.7
In what sense is a person's name an abstraction? In what sense is any word of the English language an abstraction?
Exercise 0.8
Analyze the process of writing a research paper in terms of the divide-and-conquer and encapsulation principles.
Exercise 0.9
Analyze your car by using object-oriented design principles. In other words, pick one of your car's systems, such as the braking system, and analyze it in terms of the divide-and-conquer, encapsulation, information-hiding, and interface principles.
Exercise 0.10
Make an object-oriented analysis of the interaction between a student, a librarian, and a library database when a student checks a book out of a college library.