Summary and Schedule
This lesson build on the Plotting and Programming in Python lesson developed by Software Carpentry. It also requires knowledge of the Unix Shell and version control with Git. This lesosn works with both Jupyter Notebooks and writing scripts with a text editor to be run in the shell. Please note that this lesson uses Python 3 rather than Python 2.
Prerequisites
Learners are expected to have been introduced to the material from the Unix Shell lesson, the Plotting and Programming in Python lesson, and the Version control with Git lesson.
Learners must install Python before the workshop 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 details.
Setup Instructions | Download files required for the lesson | |
Duration: 00h 00m | 1. Review Exercise | How can we put together all of yesterday’s material? |
Duration: 00h 20m | 2. Command-Line Programs | How can I write Python programs that will work like Unix command-line tools? |
Duration: 00h 50m | 3. Trying Different Methods | How do I plot multiple data sets using different methods? |
Duration: 01h 20m | 4. Program Flags | How can I make an easy shortcut to analyze all files at once using a program flag? |
Duration: 01h 30m | 5. Defensive Programming | How do I predict and avoid user confusion? |
Duration: 01h 45m | 6. Refactoring |
When should I reorganize my code so it is more clear and readable for
others? How can I organize my code so that it is useable in other places? Why do I almost always want to write my code as though it will be used somewhere else? |
Duration: 02h 05m | 7. Running Scripts and Importing | How can I import some of my work even if it is part of a program? |
Duration: 02h 25m | 8. 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: 02h 35m | 9. Wrap-Up |
What have we learned? What else is out there and where do I find it? |
Duration: 02h 45m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
Installing Python Using Anaconda
Python is a popular language for scientific computing, and great for general-purpose programming as well. Installing all of its scientific packages individually can be a bit difficult, however, so we recommend the all-in-one installer Anaconda.
Regardless of how you choose to install it, please make sure you install Python version 3.x (e.g., 3.4 is fine). Also, please set up your python environment at least a day in advance of the workshop. If you encounter problems with the installation procedure, ask your workshop organizers via e-mail for assistance so you are ready to go as soon as the workshop begins.
Windows - Video tutorial
Open http://continuum.io/downloads with your web browser.
Download the Python 3 installer for Windows.
Double-click the executable and install Python 3 using MOST of the default settings. The only exception is to check the Make Anaconda the default Python option.
Mac OS X - Video tutorial
Open http://continuum.io/downloads with your web browser.
Download the Python 3 installer for OS X.
Install Python 3 using all of the defaults for installation.
Linux
Note that the following installation steps require you to work from the shell. If you run into any difficulties, please request help before the workshop begins.
Open http://continuum.io/downloads with your web browser.
Download the Python 3 installer for Linux.
Install Python 3 using all of the defaults for installation.
Open a terminal window.
Navigate to the folder where you downloaded the installer
Type
and press tab. The name of the file you just downloaded should appear.
Press enter.
Follow the text-only prompts. When the license agreement appears (a colon will be present at the bottom of the screen) hold the down arrow until the bottom of the text. Type
yes
and press enter to approve the license. Press enter again to approve the default location for the files. Typeyes
and press enter to prepend Anaconda to yourPATH
(this makes the Anaconda distribution the default Python).
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 a Jupyter notebook in the root directory (see Starting Python).
Starting Python
We will teach Python using the Jupyter lab, a programming environment that runs in a web browser. Jupyter requires a reasonably up-to-date browser, preferably a current version of Chrome, Safari, or Firefox (note that Internet Explorer version 9 and below are not supported). If you installed Python using Anaconda, Jupyter should already be on your system. If you did not use Anaconda, use the Python package manager pip (see the Jupyter website for details.)
To start the notebook, open a terminal or git bash and type the command:
To start the Python interpreter without the notebook, open a terminal or Git Bash and type the command: