--- layout: lesson root: ../.. title: Programming with Python level: novice --- 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. Our real goal isn't to teach you Python, but to teach you the basic concepts that all programming depends on. We use Python in our lessons because: 1. we have to use *something* for examples; 2. it's free, well-documented, and runs almost everywhere; 3. it has a large (and growing) user base among scientists; and 4. experience shows that it's easier for novices to pick up than most other languages. But the two most important things are to use whatever language your colleagues are using, so that you can share you work with them easily, and to use that language *well*.
1. [Analyzing Patient Data](01-numpy.html) 2. [Creating Functions](02-func.html) 3. [Analyzing Multiple Data Sets](03-loop.html) 4. [Making Choices](04-cond.html) 5. [Defensive Programming](05-defensive.html) 6. [Command-Line Programs](06-cmdline.html)