Chapter 10

1. TRUE or FALSE? The discipline of computer science is solely concerned with the

design and development of computational machines.

FALSE

2. TRUE or FALSE? Unlike in the natural sciences (such as physics and biology), the

systems that computer scientists investigate are largely artificial (e.g., programs,

computers, computation models).

TRUE

3. TRUE or FALSE? The three recurring themes that define the discipline of computer

science are hardware, software, and theory.

TRUE

4. TRUE or FALSE? Theoretical computer scientists have proven that any problem that can

be stated clearly is solvable via an algorithm.

FALSE

5. TRUE or FALSE? Private-key encryption algorithms require the sender and recipient of

a message to agree upon a secret key (or password) for encoding and decoding the

message.

TRUE

6. TRUE or FALSE? In a time-sharing computer, the processor executes user programs in

sequence, completing the execution of one program before beginning the next one.

FALSE

7. TRUE or FALSE? On an Ethernet network, computer A can send a message directly to

computer B, without any other computer on the network receiving that message.

FALSE

10.2

8. TRUE or FALSE? When developing large software projects, it generally takes more

time to develop the code than it does to test and maintain it.

FALSE

9. TRUE or FALSE? The Turing Test was proposed by Alan Turing as a means of

determining whether an artificially intelligent machine has been constructed.

TRUE

10. TRUE or FALSE? According to the Code of Ethics proposed by the Association for

Computing Machinery (ACM), a computer professional is responsible for understanding

the potential impact of his or her work and for striving to minimize risks to the public.

TRUE

11. Describe at least two similarities between computer science and natural sciences such as

physics, biology, and chemistry? Describe at least two differences.

Like the natural sciences, computer science is a field of study in which researchers

investigate problems that affect our daily lives. It is a rigorous approach to understanding

complex phenomena and solving problems, utilizing the scientific method of inquiry in

many applications. It is different from the natural sciences in that the systems computer

scientists investigate are largely artificial. Computer science is also a much newer field

of study, with greater interdisciplinary ties to mathematics and engineering.

12. Alan Turing is considered one of computer science’s founding fathers. Describe two of

his contributions to the discipline, and explain the importance of those contributions.

Turing designed an abstract computational machine, now known as a Turing machine,

which serves as a manageable tool for studying computation. Using this simple model of

computation (which is equivalent in power to today’s computers), Turing was able to

show that there exist problems whose solutions cannot be computed.

In the area of Artificial Intelligence, Turing predicted that computers might one day

exhibit intelligence, and proposed a test (now known as the Turing Test) by which

intelligence could be identified in machines.

13. Encrypt the message “Beware the Ides of March” using the Caesar encryption algorithm.

Recall that the Caesar algorithm encodes each individual letter by replacing it with the

letter three positions later in the alphabet.

Ehzduh wkh Lghv ri Pdufk

10.3

14. The following encoded text was created using Caesar’s encryption algorithm: “Brx jrw

lw”. Decode this message by performing the reverse translation, replacing each letter in

the code with the letter three positions earlier.

You got it

15. Using public-key encryption, the sender and recipient of a message do not need to agree

on a shared secret key before initiating secure communications. How is this possible?

That is, how can the sender, using publicly available information, encode a message that

can be decoded only by the intended recipient?

The idea behind public-key encryption is to assign each party a pair of associated keys,

one of which is public and the other private. A message encoded with a public key

requires the corresponding private key for decoding, and vice versa. Thus, if you know a

party’s public key, you can encode a message that only they can decode with their private

key, and without having to know their private key yourself.

16. Describe the fundamentals of parallel processing and explain how they are implemented

in Deep Blue, the first computer to defeat a world chess champion in a tournament

setting.

Parallel processing is an approach that employs multiple processors working in parallel to

share a computational load. One example is Deep Blue, the chess-playing computer

developed at IBM. Deep Blue contains 32 general-purpose processors and 512 specialpurpose

chess processors, each of which can work in parallel to evaluate potential chess

moves. Together, these processors can consider an average of 200 million possible chess

moves per second, and enabled Deep Blue to beat the world chess champion in 1996.

17. What does it mean for an operating system to support multitasking? How is multitasking

different from time sharing?

Multitasking is where a single user can have multiple programs executing

simultaneously. On a single processor computer, this is accomplished by the operating

system which quickly switches control of the CPU between programs. Time sharing is

similar to multitasking, except that the programs sharing the computer belong to different

users. In a sense, multiple users share the CPU via time sharing.

18. Describe one possible danger of accessing the Internet over a wireless connection, such

as WiFi or 3G. How can this danger be reduced?

Since WiFi and 3G are broadcast via radio waves, the signals could be intercepted by

anyone in the area. If sensitive information is being transmitted, e.g., credit card

numbers, these could be stolen. Utilizing encryption would protect the transmitted data.

10.4

19. Describe the individual steps that make up the software life cycle. What is the life cycle’s

significance in relation to the software engineering process?

While different software companies might use different tools or personnel management

policies, effective software engineering requires an overall development methodology

that addresses all aspects of the software life cycle. The steps in the software life cycle

are: requirement analysis and specification, design, implementation, testing, and

operation and maintenance.

20. Imagine that you are serving as the judge in a Turing Test. Describe the strategy you

would use to identify the computer. That is, what kinds of questions would you ask the

contestants, and how would the answers you received help you differentiate between the

computer and human?

Student responses will vary.

21. Describe three different ways in which computer technology is contributing to research in

the biological sciences.

1) Computers are integrated with laboratory tools and equipment, such as

microscope/computer hybrids.

2) Computers are used to model biological systems, such as drug interactions.

3) Computers are used to store and access large volumes of biological data, such as in

the human genome project.

22. Many diseases have genetic causes, which can be traced to mutations in a particular gene.

Visit the NCBI Web site (

resources to find two such diseases. Identify the diseases and the genetic mutations that

have been associated with those diseases.

asthma – chromosomes 5, 6, 11, 12, and 14

myotonic dystrophy – chromosome 19

23. Software piracy, the unauthorized copying of software without payment to the legal

owner, is a growing problem worldwide. Suppose that you are offered a chance to copy a

friend’s disk containing copyrighted software. What portions of the ACM Code of Ethics

would address this situation? According to the code, how should a computer professional

respond to such an offer?

This situation is covered by General Moral Imperative 1.5: Honor property rights

including copyrights and patent. Since the software is copyrighted and is someone else’s

intellectual property, you should not copy it.

10.5

24. Imagine that you are working for a software company, writing a program that will control

air traffic at major airports. Management is pressuring you to complete the program on

schedule, but you know that remaining bugs in the software might cause the program to

fail under certain circumstances. What portions of the ACM Code of Ethics would

address this situation? According to the code, how should you react to the situation?

This situation is covered by Professional Responsibilities 2.5: Give comprehensive and

thorough evaluations of computer systems and their impacts, including analysis of

possible risks; and 2.1: Strive to achieve the highest quality, effectiveness and dignity in

both the process and products of professional work. Together, these require that you

make your concerns known and strive to ensure the safety of eventual users.

www.ncbi.nlm.nih.gov) and search through the online

Leave a Reply

Your email address will not be published. Required fields are marked *