Learning Objectives

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

  1. how to run and modify python programs and use version control.

  2. the basic elements of a scientific program.

  3. how to perform simple data analysis tasks.

  4. how scientific computer programs can help us better understand the physics of a system.

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 will learn more about these tools in the first few weeks of class. For now, just know that you will be using them and if you would like to know more, there are many great resources online. For starters, you can check out https://rogerdudler.github.io/git-guide/ and https://guides.github.com/ for more info.