next up previous contents
Next: About this document ... Up: Computers, Objects, and Java Previous: Summary of Important Points

Exercises

1.
Fill in the blanks in each of the following statements.
(a)
Dividing a problem or a task into parts is an example of the _____ principle.
(b)
Designing a class so that it shields certain parts of an object from other objects is an example of the _____ principle.

(c)
The fact that Java programs can run without change on wide variety of different kinds of computers is an example of __________ .

(d)
The fact that social security numbers are divided into three parts is an example of the _______ principle.

(e)
To say that a program is robust means that __________ .

(f)
An _____ is a separate module that encapsulates a Java program's attributes and actions.

2.
Explain the difference between each of the following pairs of concepts.

(a)
hardware and software
(b)
systems and application software
(c)
compiler and interpreter
(d)
machine language and high-level language
(e)
general-purpose and special-purpose computer
(f)
primary and secondary memory
(g)
the CPU and the ALU
(h)
the Internet and the WWW
(i)
a client and a server
(j)
HTTP and HTML
(k)
source and object code

3.
Fill in the blanks in each of the following statements.

(a)
A _____ is a set of instructions that directs a computer's behavior.
(b)
A disk drive would be an example of a __________ device.
(c)
A mouse is an example of an _____ device.
(d)
A monitor is an example of an _____ device.
(e)
The computer's _____ functions like a scratch pad.
(f)
Java is an example of a __________ programming language.
(g)
The Internet is a network of _____ .
(h)
The protocol used by the World Wide Web is the _____ protocol.
(i)
Web documents are written in _____ code.
(j)
A _____ is a networked computer that is used to store data for other computers on the network.

4.
Identify the component of computer hardware that is responsible for the following functions.

(a)
The fetch-execute cycle
(b)
arithmetic operations
(c)
executing instructions
(d)
storing programs while they are executing
(e)
storing programs and data when the computer is off

5.
Explain why a typical piece of software, such as a word processor, cannot run on both a Macintosh and a Windows machine.

6.
What advantages do you see in platform independence? What disadvantages?

7.
In what sense is a person's name an abstraction? In what sense is any word of the English language an abstraction?

8.
Analyze the process of writing a term paper in terms of the divide-and-conquer and encapsulation principles.

9.
Analyze your car in terms of 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, and interface principles.

10.
Suppose your car's radiator is broken. Consider the process of getting it fixed in terms of the object-oriented programming principles. In other words, describe how divide-and-conquer and encapsulation strategies are used in this process. Describe various forms of information hiding and interfacing involved in this process.


next up previous contents
Next: About this document ... Up: Computers, Objects, and Java Previous: Summary of Important Points
Ralph Morelli {Faculty}
6/25/1999