University of Nebraska-Lincoln

January 6-7, 2020

8:30 am - 4:30 pm

Instructors: Tom Lynch, Michael Robinson, Greg Woodward

Helpers: Carrie Brown, Adam Caprez, Emelie Fuchs, Natasha Pavlovikj, Hongfeng Yu, Caughlin Bohn

General Information

These lessons were created using Software Carpentry materials and in the SWC style. Software Carpentry aims to help researchers get their work done in less time and with less pain by teaching them basic research computing skills. This hands-on workshop will cover basic concepts and tools, including program design, version control, data management, and task automation. Participants will be encouraged to help one another and to apply what they have learned to their own research problems.

For more information on what we teach and why, please see our paper "Best Practices for Scientific Computing".

Who: The course is aimed at students and other researchers who are interested in using Python for data analytics. The course content is designed for individuals from business and economics but the skills learned can be applied to other disciplines as well. You don't need to have any previous knowledge of the tools that will be presented at the workshop.

Where: Nebraska Union - Platte River Room South, 1400 R St, Lincoln, NE 68588. Get directions with OpenStreetMap or Google Maps.

When: January 6-7, 2020. Add to your Google Calendar.

Cost: $50 for academic attendees / $100 for other attendees

Metered parking is available along R Street and along 16th Street, and at the 17th and R parking garage. Additional parking information can be found on the Parking and Transit Services website.

Requirements: Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below). They are also required to abide by Software Carpentry's Code of Conduct.

Accessibility: We are committed to making this workshop accessible to everybody. The workshop organizers have checked that:

Materials will be provided in advance of the workshop and large-print handouts are available if needed by notifying the organizers in advance. If we can help making learning easier for you (e.g. sign-language interpreters, lactation facilities) please get in touch (using contact details below) and we will attempt to provide them.

Conference Wi-Fi Information:

Contact: Please email for more information.


Day 1: Programming in Python - January 6th

08:30-09:00 Set-up
09:00-10:30 Python Fundamentals and Handling Tabular Data
10:30-10:45 Coffee break
10:45-12:00 Repeating Actions with Loops and Lists
12:00-13:00 Lunch break
13:00-14:30 Handling Multiple Files, and Custom Functions
14:30-14:45 Coffee break
14:45-16:30 Errors, Exceptions, Robust Programming, Debugging Tips and
Running Python scripts from the Command Line
16:30 Wrap-up
16:40 END

Day 2: Business Data Analysis with Python - January 7th

08:30-09:00 Set-up
09:00-09:30 Anaconda Environments
09:30-10:00 Numpy
10:00-10:45 Pandas
10:45-11:00 Coffee
11:00-12:15 Connecting to and Retrieving Data from Databases
12:15-13:15 Lunch break
13:15-14:45 Plotting with Matplotlib
14:45-15:00 Coffee
15:00-16:30 Parallel Programming in Python
16:30 Wrap-up
16:40 END

Schedule is subject to change as Instructors finalize their materials.


Programming in Python

  • Using libraries
  • Working with arrays
  • Reading and plotting data
  • Creating and using functions
  • Loops and conditionals
  • Defensive programming
  • Using Python from the command line
  • Reference...

Business Data Analysis with Python

  • Working with data with NumPy and pandas
  • Plotting with Matplotlib
  • Connecing to and retrieving data from databases
  • Using the Anaconda Package Manager
  • Incorporating Parallel Computing with multi-threading and MPI


To participate in a Software Carpentry workshop, you will need access to the software described below. In addition, you will need an up-to-date web browser.

We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.


Python is a popular language for research computing, and great for general-purpose programming as well. Installing all of its research packages individually can be a bit difficult, so we recommend Anaconda, an all-in-one installer.

Regardless of how you choose to install it, please make sure you install Python version 3.x (e.g., 3.6 is fine).

We will teach Python using the Jupyter notebook, a programming environment that runs in a web browser. For this to work you will need a reasonably up-to-date browser. The current versions of the Chrome, Safari and Firefox browsers are all supported (some older browsers, including Internet Explorer version 9 and below, are not).

Attendees have two options for this workshop:

  1. Use the Holland Computing Center's JupyterHub:
    • Attendees with HCC accounts can access JupyterHub by visiting
    • NU affiliates who do not currently have an HCC account may apply for free by completing a New User Request.
  2. Install Python and Jupyter Notebook on your Personal Machine:
    • Follow the directions below to install the software on your personal machine.
    • Make sure you install Python version 3.x (e.g., 3.6 is fine).


Video Tutorial
  1. Open with your web browser.
  2. Download the Python 3 installer for Windows.
  3. Install Python 3 using all of the defaults for installation except make sure to check Make Anaconda the default Python.


Video Tutorial
  1. Open with your web browser.
  2. Download the Python 3 installer for OS X.
  3. Install Python 3 using all of the defaults for installation.


  1. Open with your web browser.
  2. Download the Python 3 installer for Linux.
    (The installation requires using the shell. If you aren't comfortable doing the installation yourself stop here and request help at the workshop.)
  3. Open a terminal window.
  4. Type
    bash Anaconda3-
    and then press tab. The name of the file you just downloaded should appear. If it does not, navigate to the folder where you downloaded the file, for example with:
    cd Downloads
    Then, try again.
  5. Press enter. You will follow the text-only prompts. To move through the text, press the space key. Type yes and press enter to approve the license. Press enter to approve the default location for the files. Type yes and press enter to prepend Anaconda to your PATH (this makes the Anaconda distribution the default Python).
  6. Close the terminal window.