Problem Solving and Computing (CSC-103 98S)

[Instructions] [Search] [Current] [Changes] [Syllabus] [Handouts] [Outlines] [Journal] [Problems] [Computing] [SamR Docs] [Tutorial] [API]

Computing Problems 1: Distance Computations and Other Algorithms

Assigned: Tuesday, January 20, 1998
Due: Thursday, January 22, 1998

Turn in problems 1, 3, and 5.

Summary. In this assignment, you will be working on a few problems related to computing values based on a table and on writing descriptions of the processes by which someone else might solve similar problems.

Intent. This assignment is intended to give you some experience thinking about and writing up algorithms, formal sets of instructions for completing tasks.

Note. Some of these are fairly difficult problems. Work hard on them, but don't be disappointed if you can't get a "perfect" answer (or even a correct answer).

Background

For the first few parts of this assignment, you will be computing the costs of flying between cities. For those computations, you should use the following completely fictitious table of costs. Starting cities run along the left column, destinations along the top. For example, according to this table, it costs \$150 to fly directly from Boston to Des Moines.

BOS NYC ORD DSM CIN LAX
Boston (BOS) X 10 30 150 50 1000
New York (NYC) 5 X 15 400 50 400
Chicago (ORD) 25 10 X 300 20 600
Des Moines (DSM) 50 50 50 X 50 200
Cincinnati (CIN) 200 75 100 150 X 500
Los Angeles (LAX) 600 800 300 500 200 X

Numeric Problems

1. Cheapest Flights. Suppose Sarah and Steven Starr need to fly from Boston to Los Angeles and that their funds are relatively tight. What is the cheapest way to get from Boston to Los Angeles?

2. Cheapest Tour. Suppose Peter and Penelope Prospective live in Boston and would like to visit schools in NY, Chicago, Des Moines, Cincinatti, and LA (and return home). They don't care which order they visit the cities. What is the cheapest tour that starts in Boston, ends in Boston, and includes all of the other cities, and visits each city exactly one (e.g., no one wants to go through O'Hare more than once).

Generalizing

Unfortunately (or fortunately, as the case may be), airlines change their rates frequently. Hence, a solution you work out today may not work the next day. For these questions, you need to think about more general solutions.

3. Cheapest Flights, Revisited. Suppose the airlines have published a table of costs of flying between cities (similar to my table above). Sarah and Steven Starr need to fly from city X (one of the cities, but you don't know which one) to city Y (one of the cities, but you don't know which one) and want the cheapest possible series of flights. How could they figure out which is the cheapest?

4. Cheapest Tour, Revisited. Suppose the airlines have published a table of costs of flying between cities (similar to my table above). Peter and Penelope Prospective want to visit all the cities, beginning and ending at city X. How might they determine the cheapest series of flights that visits all cities exactly once?

Instructions for New Students

As you may have noted for problems three and four above, sometimes problem solving involves writing down instructions. Sometimes, instructions will be very precise. Sometimes, they can be more general. Many tasks require instructions. For this problem, you'll consider more practical tasks.

5. Freshling Instructions Suppose Grinnell were to compile a list of "How to XXX" for new students and hired you to work on it. For your first assignment, you are to pick two tasks that you think new students should know about (e.g., registering, picking a tutorial, choosing their first classes, escaping campus) and write up clear instructions that "anyone" (even a faculty member) could understand.

[Instructions] [Search] [Current] [Changes] [Syllabus] [Handouts] [Outlines] [Journal] [Problems] [Computing] [SamR Docs] [Tutorial] [API]

Disclaimer Often, these pages were created "on the fly" with little, if any, proofreading. Any or all of the information on the pages may be incorrect. Please contact me if you notice errors.