Guide for handing in homework
assignments
You should hand in for each assignment:
-
A short description of your code including what it does, a summary
of the control flow, and a summary of the major data structures. Your description
could be the comments of a well-documented program without the code itself.
It should make it clear what your model was and how you implemented it,
without going into the details of pointers and indices.
-
The results of your computations: Use graphs, numerical tables and/or
statistical summaries, whatever you feel best communicates the behavior
you observed in your experimentation.
-
A short analysis of your data: What conclusions can you draw from
your observations?
-
In the case of the population genetics simulation (Assignment 1), do your
observations suggest new hypotheses that could be tested using another
simulation, another mathematical model or a laboratory or field experiment?
This can include qualitative statements (e.g. ``The data suggests one-legged
robots are unstable.'') or quantitative statements (e.g. ``The robot's
speed decreases as 4.6 x^2, where x is the slope of the hill it is climbing.'')
-
In the case of simulations of physical systems, what evidence is there
that your results reflect reality? Which of the algorithms you used are
likely to most accurately reflect real behavior? How should your model
be changed to better reflect reality, and can you anticipate how that would
affect the algorithms and computational resources you use.
-
In the case of any numerical computation, be sure to compare the different
algorithms you used on the basis of speed, storage, accuracy, and ease
of programming. Can you suggest guidelines about which algorithm to use
under which circumstances in the context you studied?
-
Did any of the algorithms you used break? (That is, give nonsensical answers
or none at all.) If you can, explain why the algorithms broke and what
might be done to make them more robust.