Final Project

Various Deadlines


This is an independent* assignment with one exception (hence the asterisk). Outside of class time, you may discuss this assignment with course staff only. In class, you may discuss your assignment with anyone (the instructor, the TAs, or your classmates).

Project Description

(Independent*) Pose a computational question based on numerical data, textual data, or a combination of both. Refer to Projects 1 and 2 for examples of data sources. For your project you must present a testable hypothesis, carry out the required analyses, report your findings in a clear and understandable way, and discuss your results. To present your results, you may use any format(s) you want (a table, a graph, a Google Earth screenshot, etc.). You must make relevant files available on the website (e.g. the KML file for Google Earth) unless you are not allowed to make your data public. You are responsible for making sure you are using and uploading data properly, and respecting any copyright or license terms.

Project Proposal (Due Tuesday, November 24 at 11:59pm)

Project Description

Write a concise (one to two pages) description of the project you would like to execute. You will be graded based on the project rubric, so double-check that before handing in your proposal. In general, your proposal should include the following parts:

  1. Claim: the specific hypothesis you plan to test (which is a statement, not a question) and some background context.
  2. Data: a short description of your data source.
  3. Programming Elements: number the steps of your analysis and list what programs and tools you will use for each (e.g. Spreadsheets/Excel or Python). You should also describe your expected milestones. You have about three weeks to complete this project. By the first week, you will have this proposal written and some start on the programming/data formatting. What parts do you expect to complete in week 2? What parts do you expect to complete in week 3?
  4. Potential Roadblocks: a list of potential obstacles.
  5. Interactivity: a description of how you will make your project interactive.
  6. Visual Presentation: a description of how you will visually present your results for your website (e.g., table, chart, screenshot, etc.).

Skeleton Code

It is a good idea for you to include skeleton code in your proposal, but it is not required. Use what you've learned from the past two projects to organize your code early on. This will set you up for success as you finish your code and analysis.


Hand in the proposal (named YourName_FinalProject_Proposal.txt) and optional skeleton code (similarly named YourName_FinalProject_Proposal, with .xlsx for Excel, .py for Python, etc.) to with the subject "Final Project Proposal".

Project (Due Wednesday, December 9 at 11:59pm)

Carry out the project you proposed. It's OK if the project changes — that's why it was a proposal.


Refer to previous project descriptions and the project rubric for details about grading. Keep in mind that:

  1. You must have a small test dataset (or test spreadsheet) or test function showing that your calculations are correct.
  2. You must comment all code (both in Spreadsheets/Excel and Python).
  3. For spreadsheets, the first sheet must describe all other sheets. Input cells should be highlighted and instructions for use should be clear.
  4. For Python files, comments at the top of the program should explain what the program does. Comments throughout the code should make your program easy to follow.


You will also create a website that presents your analysis and results. The site may be accessible only by people with a Brown email address or public. The site should contain the following things:

  1. Project description and hypothesis.
  2. Concise explanation of your methods.
  3. Your results, presented in a clear and informative manner.
  4. Discussion of the trends you see in your analysis. You should point out expected and unexpected results.
  5. Reflection of the project. What went well? What didn't?
  6. Python/Spreadsheet/Data files available for download.

Refer to the Final Project Rubric for more details on the code and website requirements.


Create a zip file named It should contain a folder that includes the following:

  1. All files you used in your project, including Python files, Spreadsheet/Excel files, data files, and test files.
  2. (Optional) A text document named supplement.txt with additional information (tests,analysis,etc) that did not make it on the website.
  3. A text file named README that contains (1) the URL of your web page and (2) a list of all files contained in the zip folder with a short description of what they are.

Share the with

Meetings With the Course Staff (no handin)

You must meet with the course staff before you hand in your project. You can go to TA hours or meet during class time. These meetings are intended to help you with your project, and can be brief if you have no unforseen obstacles.

  1. To get full credit, you must print out a copy of the rubric and grade yourself, then discuss this with the TA or instructor. Where do you expect to lose points? Have you met all the criteria?

In-Class "Flash Talk" During the Last Class

You must present a one to two minute overview of your project, including your claim, your approach, your data, your results, and the limitations of your analysis. This is a super short talk, and you do not need to make slides. That said, you should practice beforehand. Sometimes giving a short talk is harder than giving a long one, and the time limit will be enforced so we can get to everyone. You will be able to use the projector to display any materials on your project webpage.