Welcome!

Welcome to the Introduction to Python course, offered by UT Austin's CCBB as part of the 3rd annual Big Data in Biology Summer School! Stephanie Spielman will be the lead instructor for this course. She recently obtained her Ph.D. from the Ecology, Evolution, and Behavior program through Claus Wilke's lab. In this course, we will learn basic concepts in scientific computing through the lens of the Python programming language, specifically using Python3.

Useful Resources

  • The Unix Tutorial for Beginners (http://www.ee.surrey.ac.uk/Teaching/Unix/) is a great resource and starting point for getting comfortable with the command-line environment

  • Google is easily the most valuable resource for figuring things out. If you encounter an issue, chances are somebody else has also encountered it and has asked about it. Googling your error messages is one of the best debugging strategies there is. In particular, try to find links to the website http://www.stackoverflow.com. This forum-based website has all the answers, possibly literally (but they might be super snarky).

  • The popular websites Code Academy, Rosalind, and Lynda are excellent for learning and practicing python and bioinformatics skills. UT has an account with Rosalind and Lynda, so if you're a UT student, simply log in with your standard UT credentials.

  • This new arXiv pre-print, An Introduction to Programming for Bioscientists: A Python-based Primer recently came online - seems like a fantastic resource for beginning Python programming!

  • The book Practical Computing for Biologists by Haddock and Dunn provides a really thorough, entry-level overview of introductory computing concepts, including (but not limited to!) Unix and Python. The book's accompanying website is also regularly updated with important tips, examples, and errata.

  • Post any questions and join in the conversation in the UT Biocomputing google group: https://groups.google.com/forum/#!forum/utbiocomputing
  • Day One: Variables and if statements

  • Materials
  • Exercise Solutions
  • Day Two: Variables (con't) and For-loops

  • Materials
  • Exercise Solutions
  • Day Three: File Input/Output and Functions

  • Materials
  • Reference: Interpreting Error Messages
  • Exercise Solutions
  • Day Four: Modules, best coding practices and applications

  • Materials
  • Reference: File Input/Output
  • Exercise Solutions