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 gapminder data before class starts: please download and unzip the file python-novice-gapminder-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. Morning Coffee | |
Duration: 01h 35m | 6. Libraries |
How can I use software that other people have written? How can I find out what that software does? |
Duration: 01h 55m | 7. Reading Tabular Data into DataFrames | How can I read tabular data? |
Duration: 02h 15m | 8. Pandas DataFrames | How can I do statistical analysis of tabular data? |
Duration: 02h 45m | 9. Plotting |
How can I plot my data? How can I save my plot for publishing? |
Duration: 03h 15m | 10. Lunch | |
Duration: 04h 00m | 11. Lists | How can I store multiple values? |
Duration: 04h 20m | 12. For Loops | How can I make a program do many things? |
Duration: 04h 45m | 13. Conditionals | How can programs do different things for different data? |
Duration: 05h 10m | 14. Looping Over Data Sets | How can I process many data sets with a single command? |
Duration: 05h 25m | 15. Afternoon Coffee | |
Duration: 05h 40m | 16. Writing Functions | How can I create my own functions? |
Duration: 06h 05m | 17. Variable Scope |
How do function calls actually work? How can I determine where errors occurred? |
Duration: 06h 25m | 18. 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: 06h 55m | 19. Wrap-Up |
What have we learned? What else is out there and where do I find it? |
Duration: 07h 15m | 20. Feedback | How did the class go? |
Duration: 07h 30m | 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 taken from the gapminder dataset. To obtain it, download and unzip the file python-novice-gapminder-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.