Intro to python for graduate students is a week-long course designed to introduce the casual Python user to the capabilities of the language in the context of scientific computing at the graduate level.
It aims to prepare students to use Python as a general-purpose programming language in research, to be used both in theoretical and experimental contexts. Tasks like data taking/handling/analysis, generating publication-quality plots, solving differential equations,... will be covered, following the standards in the scientific community.
It consists of self-contained topics that focus on different tasks: Input/Output, plotting, data analysis and scientific computation. They can be coursed separately if required, according to the needs of each particular student. The course is delivered as a series of worked examples that can be used online or as part of the graduate course in Atomic and Molecular Physics. An experienced user will guide the students through the sections and the examples in morning/afternoon long tutorials, to help the students in understanding the tasks at hand, and support them in the usage of Python.
By the end of the course, the student should be able to
The course is broadly divided into 4 different topics (plus an introductory section): Input/Output (I/O), plotting, data analysis, and scientific computing. Each of this topics comes with a "quest", which is a single, large task that brings together most of the key concepts covered in each topic. There are smaller, optional, exercises along the way which focus on individual elements of each topic.
For example, in the section Plotting there are exercises to work on simple plots that focus on the different "turning knobs", like the axes, layout, etc., to understand how plotting works in general; and, in the end, the quest involves reproducing a complex plot.
Here is a list of the quests:
The deadlines for each of the tasks will be set out by the instructor during the day, and will be marked within one week. Model answers will be provided once the exercises have been handed in.
Python comes in bits. Fortunately, someone put the important bits together. Even better, the academic license is free! Oh, and it's completely cross-platform. Get Enthought Canopy here (you'll need to create an account for the academic license):
For making plots with lots of maths in the labels/titles, it's useful to have a LaTeX installation on the computer. Install this first, before enthought! Here are some recommended distributions (they're all free):
We assume that you have a basic working knowledge of Python: what are modules, functions, ... If you have never come across python, you can read some of our basics, and you should read the Introduction to Programming in Python guide at the Python resources page of the Physics Laboratory Guide.
The course is designed as sections that should be coursed sequentially, but depending on the abilities of the student, it can be taken as individual parts.
If you are an absolute, complete, beginner, you should read this "What is Python?" guide.
You should familiarize yourself with the basics:
And then, for 4 main sections of the course:
This course is not designed to be a complete python programming guide. We assume you already have some programming experience, however limited and in whichever language that may be. There are many online resources already out there, here are a few links that may come in useful.