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, Phil Brown, Jerry Dinan, Ryan Otto, Suzette Palmer, Kim Reynolds,Eryn Sale, Ashley Vu
Teaching Assistants:
Tasia Bos, Phil Brown, Jerry Dinan, Dominique Lagasca, Ryan Otto, Suzette Palmer, Eryn Sale, Ashley Vu
Meeting Times, Summer 2024: Wednesdays noon-1PM (except lecture 1, which will run noon-1:30PM AND lecture 2, which will run 11AM-noon on a Tuesday). 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 12
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 and run a basic piece of supplied code.
Lead Instructors: Kim Reynolds, Phil Brown, Ryan Otto
Materials:
In-class lecture notes , Dataset
The Anaconda Distribution Download
Installation instructions for anaconda on windows
Installation instructions for anaconda on Mac
JUNE 18 (TUES)
11AM-noon
Running code and data types. This lecture will cover basic python data types (integer, float, dictionary, list, booleans).
Lead Instructors: Tasia Bos, Ryan Otto
Materials: Lecture notes and Jupyter notebook
JUNE 26
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: Phil Brown, Eryn Sale
Materials: Lecture notes and Jupyter notebook
JULY 3
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 Instructors: Suzette Palmer, Eryn Sale
Materials: Lecture notes and Jupyter notebook
JULY 10
12-1:00 PM
Statistics on data and Pandas data frames. This lecture will revisit file processing, and students will learn how to use python to compute basic statistics (mean, variance).
Lead Instructors: Suzette Palmer, Ashley Vu
Materials: Lecture notes and Jupyter notebook
JULY 17
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 Instructors: Suzette Palmer, Jerry Dinan
Materials: Lecture notes