Individual Project

For this individual project, you are welcome to consult with Prof. Mayes and your classmates, but the work must be your own.

The project should have the following attributes:

  1. It should help you with a task that you regularly perform or expect to perform in the future. For example, are there calculations or plots that you have done more than once using Excel, which could be replaced by a reliable Python program?
  2. You should start the project from a cookiecutter template.
  3. The program should be able to run from the command line.
  4. File names, variable names, and formatting should follow conventions discussed in class (see https://www.python.org/dev/peps/pep-0008/).
  5. Tests must be included in the project. These tests should cover at least 90% of the code in the main Python scripts, and should pass when I run them on my computer (a Mac OSX running Python 3.6.1).

Resources to help you

In addition to the example project https://github.com/team-mayes/arthritis_proj_demo that you will expand up on in HW6, the repo https://github.com/team-mayes/che696_examples has some additional Python scripts to provide more examples for you to work from.

Examples of projects that would receive full credit

The length of the project will depend upon the task it is intended to perform. At a minimum, there should be two options that the user can choose to control the output of the program. Two examples of projects that would receive full points are:

  1. Under arthritis_proj_demo, data_proc.py and its tests.
  2. Under che696_examples, tex_add_spell and its tests.
  3. Under che696_examples, add_to_each_line with the function called from common, and its tests.

The other scripts in che696_examples are longer and more complex than necessary; they are included in the examples because they functionality that may be of interest.

Due date and submission instructions

By November 21, use Canvas to submit a link to your github project. You are welcome to turn it in early; if I see that any criterion is not passed, I will let you know so you have time to fix this before the final due date.