Introduction to Python (BIOF309)

Graduate Course, Foundation for the Advanced Education in the Sciences, 2019

The Introduction to Python (BIOF309) course is designed for non-programmers, biologists, or those without specific knowledge of Python to learn how to write Python programs that expand the breadth and depth of their research. Python is a free, open-source and powerful programming language that is easy to learn. Students will learn to use Jupyter Notebooks and the PyCharm integrated development environment (IDE). Thank you to JetBrains for offering free full access to their All Product Pack, including PyCharm Professional, to all of my students! Week by week we will slowly build up our skills and understanding of programming and the Python language. There will be in-class demonstrations, using PyCharm and Jupyter Notebooks, and activities to be completed outside of class, mostly using DataCamp, for you to practice and learn at your own pace. Thank you to DataCamp for offering free full access to all of their awesome content to all of my students! For a quick idea of the course, please take a look at the Fall 2018 Syllabus. For access to the course materials and more information about the course, please visit the Fall 2018, Spring 2018, and Fall 2017 BIOF309 repositories on GitHub.

Learning objectives:

  • Gain basic understanding of elementary concepts ubiquitous in modern software engineering: regular expressions, reading from and writing to text files, and recursion
  • Apply Python to important functions in bioinformatics, such as sequence analysis, data analysis and data visualization
  • Learn how to obtain and rework an existing script to meet current needs
  • Gain experience in two programming environments (Jupyter Notebook and PyCharm IDE).

Most elementary concepts in modern software engineering will be covered, including basic syntax, reading from and writing text files, debugging python programs, regular expressions, and creating reusable code modules that are distributable to peers. The course will also focus on potential applications of Python to bioinformatics, including sequence analysis, data visualization and data analysis.