Intermediate Python: Programming
Description
This four-class course focuses on task automation using Python programming. Each two hour session will include brief tutorials interspersed with challenge exercises, and assumes participants are familiar with all material in Introduction to Python (working in Jupyter notebooks, basic syntax including variables and functions, importing data, data types and structures, subsetting data). At the end of this course, you will be able to create fully documented and automated workflows to perform data analysis tasks.
These materials are based largely on Software Carpentry’s Programming with Python materials, Copyright (c) Software Carpentry.
Required software: Software requirements for this course can be found on fredhutch.io’s Software page. The HackMD (interactive page used for sharing links and information) for this course is here: https://hackmd.io/@k8hertweck/PythonProgramming
Schedule
- Class 1: Review of pre-requisites, working with arrays, repeating actions with loops
- Class 2: Flow control with conditional statements, analyzing multiple files, creating functions
- Class 3: Testing, documenting, and developing more robust functions
- Class 4: Test driven development, debugging, and writing/using command line Python programs
Resources
- Each week’s materials are described in the Jupyter Notebook prefaced with the class number (
*.ipynb
). solutions/
includes answers to challenge exercises in the class notebooksinstructors.md
includes useful links mentioned during lessons; additional information about continued learning in R as well as Hutch-specific resources can be found on the Data Science Wikihackmdio.md
is an archive of the interactive webpage used during lessons