Button to scroll to the top of the page.

* Python Short Courses are for current UT faculty, staff, and students.

* Seating for each class is limited to 40 students.


Benni Goetz is a consultant for the Center for Computational Biology and Bioinformatics. Before joining CCBB, Benni studied differential geometry at the University of Texas and completed a Master's Degree in Mathematics.

Neal Morton is a postdoctoral researcher in the Center for Learning and Memory at The University of Texas at Austin. He received his Ph.D. in Psychology from Vanderbilt University and a B.A. in Cognitive Science from University of Pennsylvania. His research is focused on understanding learning and memory processes underlying human cognition utilizing computational, neuroimaging, and electrophysiological methods. 

Introduction to Python

Python is a simple and popular programming language that can be used across platforms, and is useful for a wide variety of tasks.

This Short Course is a basic introduction to scripting using python. Skills taught will include data structures, input and output, loops, and if time permits, function definitions. These tools will be useful for researchers in many fields for data management, automating tedious computational tasks, and handling 'big data'. This course is taught at an introductory level and is appropriate for students with no experience, but will contain material and techniques helpful to moderately experienced python programmers.

Topics to be covered:

  • Introduction
  • Control Flow
  • Lists
  • Input and Output
  • Strings
  • Functions

Intermediate Python

This domain non-specific course is designed for Python programmers who have a little more experience with the language. Learners will be expected to be familiar with control flow, basic Python objects (variable assignment, lists, dictionaries) and file input and output. This course will cover the knowledge to make code modular, readable and reproducible. We will cover functions, error handling and classes.

An e-mail with install instructions will be sent to you the week before class begins. If you have questions about your qualifications for the course, please contact the instructor.


Developing Code in Python

Programming courses generally focus on learning language syntax and writing basic code. However, to be an effective programmer, you need to also learn how to run, test, debug, standardize, track, and package code.

We will cover a range of topics in code development using a simple code project example. The aim of this course is to give you the skills you need to use code developed by others, write reliable and readable code yourself, and to share your code with the larger community. The focus of the course is on development in Python, but the larger issues discussed apply to programming in other languages also.

Topics will be covered with examples of some of the standard tools used for common tasks:

  • Running code and visualizing output using the Python interpreter, iPython, and Jupyter.
  • Using existing third-party code through tools including virtual environments, PyPI, and pip.
  • Writing code libraries using text editors or IDEs such as PyCharm.
  • Debugging code interactively using pdb and formalizing testing with unit tests.
  • Standardizing code based on the PEP 8 standard and using code analysis.
  • Using version control to track and organize code development using git and GitHub.
  • Packaging code for sharing using setuptools.
The only prerequisite is basic familiarity with Python. Having taken a course such as Introduction to Python is recommended.