This is the version taught at the Software carpentries workshop beginning on Wednesday 15 May 2019.
The best way to learn how to program is to do something useful, so this introduction to Python is built around a common scientific task: data analysis.
We are studying inflammation in patients who have been given a new treatment for arthritis, and need to analyze the first dozen data sets of their daily inflammation. The data sets are stored in comma-separated values (CSV) format:
The first three rows of our first file look like this:
0,0,1,3,1,2,4,7,8,3,3,3,10,5,7,4,7,7,12,18,6,13,11,11,7,7,4,6,8,8,4,4,5,7,3,4,2,3,0,0 0,1,2,1,2,1,3,2,2,6,10,11,5,9,4,4,7,16,8,6,18,4,12,5,12,7,11,5,11,3,3,5,4,4,5,5,1,1,0,1 0,1,1,3,3,2,6,2,5,9,5,7,4,5,4,15,5,11,9,10,19,14,12,17,7,12,11,7,4,2,10,5,4,2,2,3,2,2,1,1
So, we want to:
To do all that, we’ll have to learn a little bit about programming. In the first half of the course we’ll introduce the concepts of Python and in the second half we’ll apply these techniques to the data to perform the analysis.
You need to understand the concepts of files and directories and have a basic knowledge of Shell before tackling this lesson
The commands in this lesson pertain to Python 3.
To get started, follow the directions on the “Setup” page to download data and install a Python interpreter.
|Setup||Download files required for the lesson|
|00:00||1. Introduction to Python||
What is Python?
How do I get it to do things?
|00:15||2. Types, Objects, Values and Variables||How can I store and access basic information in Python?|
|00:40||3. Operators||How do I manipulate objects and data in Python?|
|01:00||4. Storing Multiple Values in Collections||How can I store many values together?|
|01:40||5. Writing Python Scripts||How can I write and save complete Python programs?|
|02:00||6. Making Choices||How can my programs do different things based on data values?|
|02:40||7. Repeating Actions with Loops||How can I do the same operations on many different values?|
|03:40||8. Using External Modules||
How can I extend Python’s functionality?
How can I use code other people have written?
|04:00||9. Creating Functions||
How can I define new functions?
What’s the difference between defining and calling a function?
What happens when I call a function?
|04:40||10. Errors and Exceptions||
How does Python report errors?
How can I handle errors in Python programs?
|05:10||11. Reading in Tabular Data||How can I load tabular data files in Python?|
|06:00||12. Producing Plots||How can I produce plots in Python?|
|06:50||13. Analyzing Data from Multiple Files||How can I do the same operations on many different files?|
|07:15||14. Filtering Data||How can I filter out bad data?|
|07:35||15. Tidying up the Analysis||How can I facter the analysis code?|
|08:15||16. Command-Line Programs||How can I write Python programs that will work like Unix command-line tools?|
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.