Advanced Beginner Python Half Day Workshop

Who: Titus Brown (lead instructor)

When: April 4, 2016

Times: 9:15am-12:15pm.

Where: 1043 Valley Hall, UC Davis campus

Host: C. Titus Brown and Jessica Mizzi; contact Jessica Mizzi with any questions.

This workshop is open to everyone, including graduate students, postdocs, staff, faculty, and community members. We have extra space for UC Davis VetMed affiliates; contact the lead instructor if you are an SVM affiliate.


So you’ve written some Python code and it works! Now what?

This half day workshop will explore “next steps” in Python programming -

  • reusing code by placing it in importable modules;
  • code organization overall;
  • handling command line arguments with argparse;
  • simple testing strategies and tools, including code coverage;
  • using virtualenv to install isolated collections of software on shared machines;

Attendees should have some Python experience, but need not be experts.

Computer and workshop requirements

Attendees will need to bring a computer with an Internet connection.

Please install Python 3.x before the workshop by following the instructions below.

Installation instructions

Python is a very powerful programming language. For this workshop, we will be working with Python 3. In order to avoid downloading all of its scientific packages individually, we will use Anaconda as an all-in-one installer.


  1. Go to
  2. Download Python 3.x (3.4 is fine) 64-bit graphical installer for Windows, not Python 2.7.
  3. Install Python 3.x using all defaults except make sure to check Make Anaconda the default Python.


  1. Go to
  2. Download Python 3.x (3.4 is fine) 64-bit graphical installer for OS X, not Python 2.7.
  3. Install Python 3.x using all defaults.

Once installation is complete, please go to this page to test that Python has installed correctly. If you do not have bash installed, please refer to the installation instructions at the bottom of this page.

Please come a bit early if you have trouble with installation.

LICENSE: This documentation and all textual/graphic site content is licensed under the Creative Commons - 0 License (CC0) -- fork @ github. Presentations (PPT/PDF) and PDFs are the property of their respective owners and are under the terms indicated within the presentation.