Summary and Schedule
This lesson is an introduction to programming in Python 3 for people with little or no previous programming experience. It uses plotting as its motivating example and is designed to be used in both Data Carpentry and Software Carpentry workshops. This lesson references JupyterLab but can be taught using alternative Python 3 interpreters as well (e.g., repl.it, Anaconda).
Prerequisites
Learners need to understand what files and directories are, what a working directory is, and how to start a Python interpreter.
Learners must install Python 3 before the class starts.
Learners must get the data before class starts: please download and unzip the file data.zip.
Please see the setup instructions for more details.
Setup Instructions | Download files required for the lesson | |
Duration: 00h 00m | 1. Running and Quitting | How can I run Python programs? |
Duration: 00h 15m | 2. Variables and Assignment | How can I store data in programs? |
Duration: 00h 35m | 3. Data Types and Type Conversion |
What kinds of data do programs store? How can I convert one type to another? |
Duration: 00h 55m | 4. Built-in Functions and Help |
How can I use built-in functions? How can I find out what they do? What kind of errors can occur in programs? |
Duration: 01h 20m | 5. Libraries |
How can I use software that other people have written? How can I find out what that software does? |
Duration: 01h 40m | 6. Reading Tabular Data into DataFrames | How can I read tabular data? |
Duration: 02h 00m | 7. Pandas DataFrames | How can I do statistical analysis of tabular data? |
Duration: 02h 30m | 8. Plotting |
How can I plot my data? How can I save my plot for publishing? |
Duration: 03h 00m | 9. Lists | How can I store multiple values? |
Duration: 03h 20m | 10. For Loops | How can I make a program do many things? |
Duration: 03h 45m | 11. Conditionals | How can programs do different things for different data? |
Duration: 04h 10m | 12. Looping Over Data Sets | How can I process many data sets with a single command? |
Duration: 04h 25m | 13. Writing Functions | How can I create my own functions? |
Duration: 04h 50m | 14. Variable Scope |
How do function calls actually work? How can I determine where errors occurred? |
Duration: 05h 10m | 15. Programming Style |
How can I make my programs more readable? How do most programmers format their code? How can programs check their own operation? |
Duration: 05h 40m | 16. Wrap-Up |
What have we learned? What else is out there and where do I find it? |
Duration: 06h 00m | 17. Feedback | How did the class go? |
Duration: 06h 15m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
Getting the Data
The data we will be using is Palmers penguins dataset, made available by Dr. Kristen Gorman and the Palmer Station.
{“Meet the Palmer penguins”, Artwork by
@allison_horst}
The following figure gives a visual description of some information in the dataset:
{“Bill dimensions”, Artwork by
@allison_horst}
We will also be using the breast cancer Wisconsin dataset in various parts of the course. To obtain all the data, download and unzip the file data.zip. In order to follow the presented material, you should launch the JupyterLab server in the root directory (see Starting JupyterLab).
Installing Python Using Anaconda
Please refer to the Python section of the workshop website for installation instructions.