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 (
www.ncbi.nlm.nih.gov) and search through the online
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.