Assignment 1: Multi-threaded heat equation

Due date: 5:00pm, Friday, September 13. Value: 80 pts.

In this assignment we'll study how multithreading can help a program for simulating how heat disperses in a two-dimensional toroidal surface.

The code

HeatGui.java A main method and all supporting GUI code for showing a window visualizing heat dispersion.
HeatTest.java A main method that executes a textual interface helpful for timing the code and verifying that the code works correctly.
HeatModel.java The interface implemented by both HeatModelSimple and HeatModelThreaded.
HeatModelSimple.java An efficient single-threaded implementation implementing the heat equation.
HeatModelThreaded.java Right now, this is basically identical to HeatModelSimple, but you will modify this to implement a multithreaded computation of heat dissipation.

All of your substantive modifications for this assignment should go into HeatModelThreaded. Other files should remain unmodified, except that you may end up changing some DEFAULT_* constants in HeatTest for your own testing.

Your job

This assignment consists of three parts, in three different files that you should submit via Moodle as your solution.

(Please note: If you work with a partner on this assignment, please make sure that both peoples' names appear at the top of each file!)

As always, please feel free to stop by my office when you are unsure of where to go next!