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.

Course Director: Dr. Kim Reynolds
Curriculm Leader: Ryan Otto
Lecture developers:
Tasia Bos, Dominique Lagasca, Ryan Otto, Suzette Palmer, Kim Reynolds,Eryn Sale, Spencer Shelton, Ashley Vu
Teaching Assistants:
Tasia Bos, Phil Brown, Dominique Lagasca, Suzette Palmer, Eryn Sale, Ashley Vu
Meeting Times, Summer 2023: Wednesdays noon-1PM (except lecture 1, which will run noon-1:30PM). All lectures in D1.200.
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)
- Use Python to create well-annotated plots
JUNE 14
12-1:30 PM
Role of coding in biology and tech 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
Materials:
In-class lecture notes
The Anaconda Distribution Download
Installation instructions for anaconda on windows
Installation instructions for anaconda on Mac
JUNE 21
12-1:00 PM
Running code and data types. This lecture will cover basic python data types (integer, float, dictionary, list, booleans).
Lead Instructors: Dominique Lagasca, Tasia Bos
Materials: Lecture notes and python notebook
JUNE 28
12-1:00 PM
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 sometimes called parsing.
Lead Instructors: Ashley Vu, Dominique Lagasca
Materials: Lecture notes and python notebook
JULY 5
12-1:00 PM
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).
Lead Instructor: Spencer Shelton
Materials: Lecture notes and python notebook
JULY 12
12-1:00 PM
Data Visualization and Plotting. Students will learn how to use matplotlib and seaborn 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
Materials: Lecture notes and python notebook
JULY 19
12-1:00 PM
Creating a function and putting it all to use! This lecture will cover the basics of defining and calling functions.
Lead Instructor: Ashley Vu, Eryn Sale
Materials: Lecture notes and python notebook