Python from 1+1 to Cluster
Description: Python is perhaps the most versatile programming language in existence, and sees widespread use in every field of modern computing. This tutorial provides an introduction to programming in python that reaches from simple operations to exploiting parallelism on a multi-node cluster. In the first part of the workshop, we introduce basic features of python, such as package installation and usage. We also discuss elements of programming such as loops, decisions, and functions. In the second part, we provide a "crash course" to parallel programming using message passing, and apply a simplified python interface to obtain some parallel speedup on a cluster.
Prerequisites: No previous experience with Python is required for this course. Some familiarity with navigating on a Linux-based cluster system is useful.