Second Writing Assignment
Due: Thursday, October 28
During the first part of October, the Tutorial is considering both various
aspects of parallel algorithms and some categories of ``Risks'' that can
arise from computing. For the second paper, you are asked to investigate
one of these areas in somewhat more detail. You have considerable
flexibility, however, in the nature of your investigation.
More specifically, you should write a paper that explores one of
the following topics thoughtfully in about 2 (but not more than 3) pages.
-
The computer science literature contains descriptions of a very large
number of parallel algorithms. For example, the Alta Vista search engine
identified 568,501 documents under the term ``parallel algorithm''.
Similarly, textbooks on parallel algorithms describe many specific
algorithms which run on many specific types of machines. Select one
parallel algorithm, identify what problem it attempts to solve, and
describe some main elements of the solution.
-
Within the tutorial, we have described result parallelism, specialist
parallelism, and agenda parallelism as three conceptual approaches for
using multiple processors to solve problems. Illustrate each of these three
approaches by describing your solution(s) to one of the following
problems:
-
Finding the first 2000 prime numbers.
-
Solving the n-body problem (Exercise 3.10 in the Dale/Walker text).
-
The ``Risks'' sections of several recent issues of Software Engineering
Notes contain many examples of practical difficulties that have arisen
in computer hardware and software. A further discussion of ``Risks'' is
available over the World Wide Web at http://catless.ncl.ac.uk/Risks/ .
After reviewing some of this material, identify two or three major types of
difficulties that can arise from the use of computers. Use relevant
examples from your reading to illustrate these difficulties and/or to
indicate possible consequences of such problems. If appropriate, suggest
some conclusions about the use of computers, or propose some guidelines
that might help minimize the difficulties.
Your paper should be written for others in this tutorial. Thus, your
description of algorithms or themes should provide adequate background for
other tutorial students to understand the problems, solutions, and/or
issues involved. Also, it will be necessary to keep the amount of jargon
low, so that the reader will not be overwhelmed by specialized terminology.
In contrast to the previous papers, you should turn in only two copies
of this paper.
This document is available on the World Wide Web as
http://www.cs.grinnell.edu/~walker/courses/tutorial.fa04/writing/paper2.html