Final Project
Introduction
The final project in this course will provide an opportunity to pursue another area of
scientific or technical computing. You may choose one of several proposed projects.
Some of these build on previous projects, while there are several that explore topics
not covered directly in class, but for which we have covered the necessary skills.
You will need to submit the code for your project or a written paper describing your research and
prepare a short oral presentation describing your work. You will also submit the presentation.
Presentations will take place during the regularly scheduled final exam time for this
course. Teams of 2-3 students are strongly encouraged for this project!
Option 1: Programming
There are several options for programming, some expanding on the "Game of Life" or "Random Walk" minilabs, to simulate other events, while
others explore new concepts and models.
These include:
- Spreading of Fire: Develop a two-dimensional simulation for the spread of
fire from an initial landscape of empty ground, non-burning trees, and trees
that are on fire. (Simulation code provided, project suggestions for
refinements and additional scenarios.)
- Movement of Ants: Develop a simulation of the movement of ants in the
presence of a chemical trail. (Pseudocode provided. Additional
project ideas
as variations of this provided.)
- Modeling the Spread of SARS - Containing Emerging Disease: Use system
dynamics to model the spread of disease. (Basic model for spread of SARS is
provided, several suggestions given to adjust the model, or to develop a
similar model for additional diseases. Data also provided.)
- Clustering: Explore the process of K-Means Clustering and its application to cell-phone
tower placement. A Mini-lab to Explore Clustering and a project description are provided. (Ignore the due dates listed on the project
description. Use the dates listed here in this project.)
- Expand on Random Walks: Choose one of the projects listed in this reading: Random Walk Module or expand on one of these with an application you find
interesting.
Submission
You will submit the code for your project (via a Google Colab
link or a well-documented Python file), as well as your
presentation. It is strongly recommended that you write your
code in Google Colab, to make it easy to collaborate with your
team, and to make it easy to describe what your code is doing
and what you are investigating with it. Your presentation should
describe the topic you chose, what you wanted to investigate,
and what you learned from that investigation.
Option 2: Research
This list is not exhaustive; see me if you want to propose a topic not on this list.
- Choose a project from this course on Earth and
Environmental Data Science to research and report on.
- Research Other simulations that can be done using the "Game of Life" as a basis:
- Propagation of Dandelions or pollen
- Spread of COVID-19
- Research other applications of "Random Walks", such as:
- Snow fall
- Ripples in a pond
- Mutation of genes
- Sand in water
- Research another topic that interests you related to scientific computing. (See instructor for approval
of topic before going too far with this!)
Submission
You will submit a written report of your research, approximately
5 pages long. Your report should include an introduction to
your topic, what you were investigating about it, and what you
learned. Your presentation should include these same things.
Your paper and presentation should include any sources you used.
Friday of 9th Week
By Friday of 9th Week you should submit a short (one-page) project
progress report. This document should include which option you are
doing (programming or research), which project/research area you are
working on, why it is interesting, and what you are investigating about
it. You should inlcude the names of everyone on the team and how
responsibilities will be shared. You should also include an update on
any progress made at this point.
Presentation Guidelines
During the final exam time for the class, each team will give a
presentation about their project. The presentation should be 6-8
minutes long. Slightly longer or slightly shorter is okay.
Presentations may include information, pictures, possibly
even short videos from other sources, but respect copyright and
intellectual integrity. It is not recommended that you include big
segments of code in your presentation. If it is necessary to show a
little segment to aid in audience understanding, that's fine. Large
sections of code and/or mathematical equations
are often big distractors, as the audience immediately starts trying to
figure out how it works and stops listening to the speaker(s).
Cite your sources! (You may use MLA style, APA
style, ACM style, or another style of your own devising, so long as you
include all the appropriate information.)
PRACTICE! There is no other way to make sure that you have the
timing right.
Grading Criteria (40 pts)
(ALL) Presentation (10 pts)
- 3 pts Structure
- Overall structure/organization (& be explicit if
appropriate)
- Flow/transitions
- Presentation length
- 4 pts Content
- Appropriate breadth/depth
- Appropriate CS/technology content
- Accurate
- Appropriate attribution of your sources
- 3 pts Presentation
- Speed
- Eye contact / natural (not just reading)
- Appropriate content on slides (including text, pictures,
video)
- Slides are clear and readable
(OPTION 1) Program (30 pts)
- 20 pts Functionality
- Functions have clear purpose
- Model is used appropriately
- Program works correclty
- 5 pts Style/Organization
- Program is organized into appropriate functions
- Algorithms are clear
- 5 pts Documentation and
Comments
- Appropriate documentation at beginning of program to
describe program and authors
- Appropriate comments before each function
- Appropriate comments describing complicated segments of
code
(OPTION 2) Research Paper (30 pts)
- 20 pts Content
- Appropriate introduction and summary
- Appropriate breadth/depth
- Appropriate CS/Scientific computing content
- Accurate information from academic sources
- Appropriate attribution of sources
- 10 pts Style and
Organization
- Overall organization and structure
- Appropriate use of paragraphs
- Appropriate use of sentence structure and grammar