Python Programming for Enabling Your Science

The biological sciences are increasingly enriched by a close relationship with computing and data science.

This course introduces learners to Python – an accessible and powerful coding language. It is offered as a series of lunchtime lecture-labs in conjunction with the UTSW STARS summer research program. Learners are provided the skills and knowledge to utilize coding for problem solving, discovery, and education. Course objectives focus on the ubiquity of coding in science, the foundational principles of coding, and visualizing data with Python. Learners need no previous coding experience. We are delighted to offer this course to both high school students and educators.

This class is directed by Dr. Kim Reynolds, in collaboration with a talented team of UTSW graduate students and fellows. Our 2022 team is:

Curriculum leader: Ryan Otto

Lecture developers: Dominique Lagasca, Ryan Otto, Suzette Palmer, Kim Reynolds, Spencer Shelton, Jesus Vega-Lugo, Ashley Vu

Lecture reviewers and in-class teaching assistants: Melissa Budicini, Hunter Pyle, Spencer Shelton, Jesus Vega-Lugo, Ashley Vu,

Meeting times, summer 2022: Wednesdays 12-1PM.

Learning objectives:

  • Build familiarity with Python data types (integers, float, boolean, list, dictionary) and flow control (if/then/else, while, for loops)
  • Learn to read in and write out data
  • Use Python to perform basic statistics (mean, variance, standard deviation, t-test)
  • Use Python to create well-annotated plots of data and visualize data

Lecture Schedule:

June 6

Introduction, and technology check. We will discuss the growing role of coding in science (especially biology), and briefly introduce Python and Jupyter notebooks. We will use class time to install Anaconda (a python distribution for scientific computing). By end of class, all participants should be able to launch a Jupyter python notebook, import matplotlib, and run a basic piece of supplied code.

Lead Instructors: Ryan Otto, Kim Reynolds

June 15

Running code, and data types. This lecture will cover basic python data types (integer, float, dictionary, list, booleans), and how to cast types.

Lead Instructor: Dominique Lagasca

June 22

Lists, for loops, and reading in/writing out data . This lecture will cover basic syntax for reading in a file, and processing the data – a process often called parsing.

Lead Instructor: Ashley Vu

June 29

Reading in files cont’d, and statistics on data. This lecture will revisit file processing, and students will learn how to use python to compute basic statistics (mean, variance) and conduct hypothesis testing (t-test)

Lead Instructor: Spencer Shelton

July 6

Data Visualization and Plotting. Students will learn how to use matplotlib and seaboard to create plots of various types given the data. We will discuss best practices in data representation, including representing error, labeling data, and creating legends.

Lead Instructor: Suzette Palmer

July 13

Creating a function. This lecture will cover the basics of defining and calling functions.

Lead Instructor: Ashley Vu, Jesus Vega-Lugo

July 20

Putting it all to use! This lecture will provide supported time for students to develop their own code around open-ended mini-projects. The instructors will offer several starting projects, but students are also welcome to bring their own data or questions to class.

Instructors: Ashley Vu, Spencer Shelton, Jesus Vega-Lugo

This Python workshop was made possible by funds from the National Science Foundation. (CAREER award 1942354 to K.A. Reynolds)

%d bloggers like this: