CDTPy | Python for Scientists

Boot Camp

OK, we're not going anywhere until you've got python installed on your computer. There are 101 ways in which to do this but if you're a beginner then installation using Anaconda is probably the simple... (read more)


Difficulty: Beginner

Lock and Load

One of the most frequent uses of matplotlib is the generation of plots from raw data contained in .csv or .txt files. This mission gets you to do exactly that.... (read more)


Difficulty: Beginner

Double Trouble

Another common plotting requirement is the use of multiple y-axes that are linked to a common x-axis. The twinx() function in matplotlib makes this really easy.... (read more)


Difficulty: Beginner


Large sets of raw data can sometimes be a real headache when it comes to analysis and often it's better to break up a large file into lots of smaller ones (e.g. one for each data column). The 'raw_dat... (read more)


Difficulty: Intermediate


The matplotlib scatterplot function allows you to incorporate another dimension to your plots in the form of a graded colour scale. This can be really useful sometimes and your plots will look awesome... (read more)


Difficulty: Intermediate

The Next Dimension

Contour plots. I love them. You know that the paper you're about to read is going to be good if it's got a decent contour plot in it. They're often done badly, but there's no danger of that now that y... (read more)


Difficulty: Beginner

Live Fast, Diode Young

If you're a cell maker then you will be very familiar with current-voltage (IV) data. This mission gets you to extract the important parameters - short circuit current (Jsc), open circuit v... (read more)


Difficulty: Intermediate

... And the Rest Is Histograms

Making solar cells is addictive. If you're a device maker then the chances are you're going to make a lot of cells (hundreds, possibly thousands) and it might be useful to make a histogram of your cel... (read more)


Difficulty: Intermediate

Become a Matplotlib Jedi

This mission demonstrates the power of python and matplotlib in generating quick and efficient analysis of large and complex datasets. This mission will stretch you, but if you can do this you are wel... (read more)


Difficulty: Advanced

Let It Slide

This mission showcases the slider widget functionality that you can use in your IPython notebooks. Such sliders are extremely powerful when trying to visualise the effect that a set of input parameter... (read more)


Difficulty: Beginner

Xtralien Invasion

You can also use Python to interface with devices. How cool is that? Here we learn how to connect our Xtralien X100 unit to a computer using the python serial module.... (read more)


Difficulty: Beginner

Lighten Up!

OK, this is it. The following mission will complete your Python training (for now). You're going to use Python exclusively to measure a real experimental dataset, via your Xtralien X100, and then perf... (read more)


Difficulty: Intermediate

GitHub Freestyle

This mission is in response to @lewisdwright's request for an intro to GitHub. You're going to get a proper intro to both Git and Github during Bath's ... (read more)


Difficulty: Beginner

Bath KMC

Awaiting Information... (read more)


Difficulty: Intermediate