Course Projects

Students should work in groups of 2 to tackle a project related to the topics of this course. See Possible project topics.

I will require working with someone from a different department in order to maximize the amount you can learn from one another. Registered students can see this Canvas page for a list of students in the class.

Also, try to pick a project on a topic you don’t already know a lot about!

Each project will consist of a brief writeup of what you investigated (perhaps 10 pages maximum, plus relevant computer code). See The course project paper.

Each group will also give a short presentation (20 minutes) to the class so that you can hear about what others did. See Presentations.

A project should involve reading and understanding at least one journal article.

Groups will use GitHub to collaborate on projects.

Feedback and peer review

Each group will be expected to give some feedback to another group. Group N will provide feedback to Group N+1 (with periodic boundary conditions, so Group 5 provides feedback to Group 1). It would be good if you can give some feedback on both a draft of the paper and slides for the presentation.

You can use the issue tracker on Github to provide some written feedback. Please provide at least some feedback this way.

See The course project paper for some hints on how to structure your paper and give other groups feedback on theirs.

The goal is to help each other out, not to grade or pass judgement, so focus on constructive feedback. Another objective is to help you learn more about at least one topic another group is working on, and perhaps to improve your own paper or presentation by getting ideas from looking at what other groups are doing.


  • Friday, Feb 10: groups should be formed
  • Friday, Feb 17: 1-page project proposals due
  • Friday, March 3: first draft of papers due
  • Project presentations: Monday, March 13, 10:00am - Noon
  • Project paper due: Tuesday, March 14

The course project paper

The paper for your project should be 10 pages max, plus computer code. Code should be submitted to GitHub.

In writing the paper and when giving feedback to your partner group on their paper, it would be good to keep the following guidelines in mind:

  • Write the paper so it is structured like a journal article, e.g. start with a brief abstract and include introduction and conclusions sections.
  • The paper should be reasonably focused. You might want to explore several aspects of a problem, and find that 10 pages won’t be enough to explore them all in detail. It’s ok to concentrate on one or two aspects in the paper and then include a list that briefly summarizes other things you explored.
  • The paper should be understandable by others in the class even if they haven’t read all the papers you have on your topic. You can assume the reader will have this class and the textbook as background (so you don’t need to take up space repeating things covered in class or the text) but if you discuss new concepts or terms not covered in class, make sure you define things so the paper makes sense (to your partner group in particular) without having to track down the references.
  • Take some care in selecting figures for the paper that best illustrate the topic and the results of any computer experiments you do. As in a journal article, you don’t have space to include every figure you might produce, so make sure every figure you do include is there for a reason.

There are many resources available online to help in writing a paper and in formulating feedback.

Some examples:

You are also welcome to write one or more IPython notebooks to discuss the problem and illustrate results. In fact the writeup could be presented as a notebook if this makes most sense. If you want to try this, you might get some ideas from...


Presentations should be 20 minutes long.

Try to structure the presentation so that it can be given jointly by the group, e.g. each person talking about some aspect of the project.

As with the paper, don’t feel like you have to cover everything you did in the presentation. It might be best to cover the most interesting aspect or two in enough detail that everyone can follow and learn something new and interesting from the talk, and then summarize other things you looked at.

Possible topics: See Possible project topics.