Introduction to Programming in Python

This lesson is an introduction to programming in Python 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 the Jupyter Notebook, but can be taught using a regular Python interpreter as well. Please note that this lesson uses Python 3 rather than Python 2.

Schedule

Setup Dowload files used on the lesson.
Day 1 08:00 1. Running and Quitting How can I run Python programs?
08:15 2. Variables and Assignment How can I store data in programs?
08:40 3. Data Types and Type Conversion What kinds of data do programs store?
How can I convert one type to another?
09:00 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?
09:25 5. Lists How can I store multiple values?
09:45 6. For-Loops How can I make a program do many things?
10:15 7. Morning Coffee Break
10:30 8. Libraries How can I use software that other people have written?
How can I find out what that software does?
10:50 9. Writing Functions How can I create my own functions?
11:20 10. Variable Scope How do function calls actually work?
How can I determine where errors occurred?
11:40 11. Wrap-Up What have we learned?
What else is out there and where do I find it?
12:00 12. Lunch Break
13:00 13. Conditionals How can programs do different things for different data?
13:25 14. Reading Tabular Data into DataFrames How can I read tabular data?
14:00 15. Pandas DataFrames How can I do statistical analysis of tabular data?
14:30 16. Plotting How can I plot my data?
15:15 17. Coffee Break Break
15:30 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?
16:00 19. Wrap-Up What have we learned?
What else is out there and where do I find it?
16:15 20. Feedback How did the class go?
16:30 Finish

The actual schedule may vary slightly as the workshop progresses.