Learning Objectives

There are 4 main learning outcomes that you should achieve by taking this course. Specifically, you should understand

  1. how to use the Linux operating system to streamline your workflow.
  2. how to apply computational techniques to analyze a variety of physical systems.
  3. how to perform data analysis tasks.
  4. how to use computational tools to gain insight into the behavior of physical world.

While we will be working with the Python programming language, it should be noted that the concepts that we will cover can be utilized in any language.

Git and GitHub

In this course, we will use the version control software Git as well as the Git repository hosting service, GitHub.

Having a system for keeping track of different versions of the software that you create is one of the crucial set of “good coding practices”. There are several systems for doing this. Git is one of the more popular ones. In this class, we will only scratch the surface of using Git.

While Git is the software that helps to keep track of your code, GitHub is a service that hosts your code so that you can access it from any computer and share it with other users. When you use Git to track your code, you create a code “repository”, or “repo”. GitHub stores your repositories on their own servers and makes it easy to clone (download a separate copy) the code and commit changes back into the repo when you are finished making modifications.

GitHub is free for anyone that is ok with making their repositories publicly available. However, since you are doing this as part of a class, the repositories that you create for this class will be private so that only you and I can access them.

You should have used learned how to use github in Phy280, but if you need a refresher, please see https://foundations-of-scientific-computing.readthedocs.io/en/latest/lessons/L3/coding.html.