Modern Physics Lab

Spring 2016

This is the starting page for my Modern Physics Lab course. The syllabus is here. I will update this page throughout the semester.

Collaborating with SageMath Cloud (SMC)

Please read my notes at this link.

Introduction to Course - 12Jan2016

Scientific Skills

One of the goals in this course it to teach scientific skills that you will need in your career. These skills include keeping lab notes, data analysis, writing up results and making presentations. You will use several open source programs to learn these skills.

SageMath Cloud

You will use the programming language python for most of your data analysis. Python is a widely used programming language that strikes a middle ground between rigorous compiled languages like C++ or Java, and easy to use scripting languages like perl, MATLAB, or Maple. It has many advanced numerical, plotting, and scientific libraries, and fast numerical libraries. These libraries make python an ideal language for data analysis and visualization. It is also an open source language and over the last 20 years many in the scientific community have contributed high quality libraries to python.

IPython is a python shell that has extensions that make it easy to develop and run code interactively. But even more impressive is Jupyter (previously known as IPython Notebook). Jupyter is an extension to IPython that runs in web browsers and allows document formatting, code, equations, and figures to be interwoven on one web page. Right now, visit the example in the link at the end of this paragraph. Scroll down through and you will see text, computer code, and figures all on the same page. You will be making pages like this soon! Visit this link.

Finally, SageMath Cloud is a free website that hosts a computing environment that includes IPython Notebooks, and much more. (A complete Linux machine, LaTeX document production, file storage, etc.) SageMath Cloud also allows a fully collaborative environment where multiple people can simultaneously edit the same file. We will use SageMath Cloud in this course as our electronic lab notebook, data analysis platform, and document writing platform.

Going deeper

If you are interested in getting a deeper tour, there is an excellent series by J. Robert Johannson called Lectures on Scientific Computing with Python. My annotated tour is here.