Python is a programming language designed with ease of programming and readable code as its foremost goals. Python has risen to prominence in scientific computing as an excellent tool for doing data conversions, scripting parameter studies, capturing complex algorithmic logic, and in general providing the “glue” to hook together many pieces of scientific workflows.

In this online course, a quick overview of the language is presented, along with a few tricks to improve the utility of Python for engineering and science modeling. Python naturally invites a “try it and see” approach, so mini-exercises are interspersed for practice.

This is not intended as a comprehensive syntax review for Python. Rather, it's enough to get started for beginners (with pointers to more detailed resources), plus a few hints for improvement once you make it out of the beginner phase. Although we will be learning Python on UNIX/Linux, nearly all of the Python language operates the same on Windows; this platform-independence is another contributor to Python's wider appeal.

Objectives

After you complete this workshop, you should be able to:

  • Create and run Python scripts or interactive commands
  • Program Python with core  variable types, modules and programming functionality
  • Understand and utilise Python's object-oriented features
Prerequisites

This workshop assumes the reader has no prior exposure to Python. A working knowledge of UNIX/Linux and general programming concepts is assumed. The target audience is scientists and engineers using high performance computing systems who wish to boost their productivity through the use of Python.

Requirements

Python can be run on computers from typical laptops up to the most powerful High Performance Computing (HPC) systems such as those allocated through ACCESS. Readers interested in both scientific computing more generally and the enhancement of computational performance for Python codes specifically might be interested in our material on Python for High Performance.

©   Cornell University  |  Center for Advanced Computing  |  Copyright Statement  |  Inclusivity Statement