What are tutorials?

Tutorials are weekly sessions hosted by the head GTAs on Tuesday evenings from 7-9pm in Chen 100. They are designed to supplement the rest of the course (lectures, recitations, and office hours), largely by introducing key computational skills relevant to each week’s content.

Why is there programming in an introductory biology course?

Computational skills are increasingly important in modern bioscience. Thus, many homework problems ask you to write code to perform calculations, simulations, and analyses. In turn, this allows us to get you working with real experimental data, which is typically a benefit only afforded to students in labs or higher level courses.

Do I need prior programming experience?

No! In fact, you will probably find tutorials more useful the less you already know. There is no CS prerequisite for the course; therefore, tutorials cover everything you need to succeed on the programming assignments. The goal is to introduce you to the fundamentals in a relaxed, low-pressure environment.

What if I already feel comfortable programming?

If you already feel prepared to tackle the programming questions, feel free to only attend the tutorials you want/need. Remember that some of your classmates have never written a single line of code before this class! We encourage you to help each other learn.

What programming language(s) can I use?

For a combination of pedagogical and logistical reasons, all of the programming in the course is done in Python using Google Colab notebooks. It is also the only language and format we accept for homework submissions.

Will tutorials always be about programming?

Some parts of the course call for less programming than others. At these times, tutorials may instead be host to live demos and experiments that build off of themes from class. These sessions will be announced beforehand in lecture so that you don’t miss them.

Will tutorials be recorded?

Tutorials are best attended live, but we will also upload recordings below as the course progresses.

Tutorial Schedule

There is no live tutorial Week 1. Instead, there are two notebooks for you to read:

  • Tutorial 0: Introduction to Colab covers our approach to programming in this course, including instructions on how to submit your homework correctly. This is the only tutorial you are required to read.
  • Tutorial 0: Introduction to Python is a gentle, abridged introduction to the Python programming language. It’s far from comprehensive, but if you’re new to the subject, it pairs well with the other tutorials below.
Week Date Topic Links
2 Tuesday, April 11 Intro to Python for image segmentation. [recording] [example image] [notebook]
3 Tuesday, April 18 Computational sequence analysis. [recording] [sushi samples] [fish reference]
4 Tuesday, April 25 Plotting with Python. [recording] [notebook]
5 Tuesday, May 2 Exploring evolution with stochastic simulations. [recording] [notebook]
6 Tuesday, May 9 Gene expression I: exploring our dataset. [recording] [notebook]
7 Tuesday, May 16 Gene expression II: performing our analysis. [recording] [notebook]
8 Tuesday, May 23 Gene expression III: theory-experiment dialogue. [recording] [notebook]
9 Tuesday, May 30 Pizza & movie night: The Serengeti Rules [notebook]

External Resources

Below is a list of useful online resources for learning the Python programming language and principles of programming in general.