Final Assignment hints#

Best practices#

There are several guidelines how to do programming “in a proper way”. These best practices when doing programming are well described in this article Wilson et al. (2014) that include aspects such as:

  1. “Write programs for people, not computers.”

  2. “Let the computer do the work.”

  3. “Make incremental changes.”

  4. “Don’t repeat yourself (or others).”

  5. “Plan for mistakes.”

  6. “Optimize software only after it works correctly.”

  7. “Document design and purpose, not mechanics.”

  8. “Collaborate.”

These kind of guidelines are extremely useful. I recommend that you take at least a short look at the article before starting your final project because it helps you to finnish your project efficiently and in such a manner that works and makes your life (and others) easier!

For this final project, the most important aspects from the list above are numbers 1-4 and number 7 (although they are all important). Thus, at least take a look at those aspects from the article before starting your work.

Documenting your work#

Good documentation is one the most important aspect when doing any programming. It allows us (and also yourself) to understand what you have done, or tried to do with the code. Thus, we cannot emphasize it more to document your codes, and the work in general, properly. Hence, use comments in the code and also using Markdown cells where you explain the purpose of different parts of the code.

Commit your work frequently!#

In the previous exercises that we have done during the course, it has not maybe been that important that you commit (upload) your work frequently to GitHub because the size and complexity of the codes have been relatively low. However, now as you are doing a larger programming project, I really recommend that you commit and upload your changes to GitHub frequently! Whenever you get some functionality working in your code, it is a good time to commit your changes. In that way, your work is saved and if something goes wrong and your code does not work anymore as planned, you can go back in history and start from a state that was still working.

[ ]: