BDS 311 - Computational Approaches to Biological Data
Winter 2025
Lecture: Tuesday/Thursday 10:00-11:20am, ALS 4000
Help Session: Wednesday (1-3pm), Cordley 2212
Course Description
Introduces the fundamentals of data science with specific application to biology. Through a practical, problem-based approach, students will examine the theory and practice underlying widely used computational methods in biology. They will develop mastery in the analysis and visualization of large data sets using Python, with applications to genomics, ecology, and other areas of biology. Students will test hypotheses, infer dataset parameters, and make predictions via broadly applicable data science tools.
Syllabus & Course Policies
Instructor
Timothy Warren
tim.warren AT oregonstate.edu
Course Assistants

Nate Davidson (Head TA)
davidson AT oregonstate.edu
Alex Maharjan
maharjaa AT oregonstate.edu
Andrea Schiffer
schiffan AT oregonstate.edu
Sarah Hoekema
hoekemas AT oregonstate.edu
Vini Karumuru
karumuruv AT oregonstate.edu
Quiz 1 Review questions:
Class notes
-
Basics of Pandas DataFrames
-
Basics of Matplotlib
-
Working with Pandas
-
Random Processes
-
Titanic dataset: Groupby and truth indices
-
Permutation Tests
-
Bootstrapping
-
Prediction Models
-
Error Minimization
-
Classification
BDS 310 class notes
-
Intro to Python
-
Intro to Unix
-
Python data types and indexing
-
For loops, appending to lists, and numpy commands
-
Function, nested loops, logic operators, if statements, in statements
-
Plotting with axes (labels and legends), np.diff, while loops
-
Subsetting arrays with conditionals, using np.argmax, np.argmin and np.argsort, creating subplots
-
Intro to dictionaries
Weekly Calendar
Date | Topic | Relevant Reading | Assignment |
---|---|---|---|
Week 1 01/07, 01/09 |
Course Goals and Philosophy Unix Shell Scripts Introduction to Pandas |
Jupyter Notebook Unix Shell Python Examples Pandas 10 min Reference Pandas tutorial |
HW0 (for students who did not take BDS 310) Due Fri 1/10 HW 01 Due Fri 01/17 |
Week 2 01/14, 01/16 |
Analyzing Tabular Data with Pandas Time Series and Visualization |
HW 2 Due Fri 01/24 |
|
Week 3 01/21, 01/23 |
Pandas synthesis;Introduction to Random processes | matplotlib tutorial Edward Tufte Data Visualization textbook |
HW 3 Due Fri 01/31 |
Week 4 01/28, 01/30 |
Application of Random processes: Permutation Testing | Inferential Thinking: Chapter 11: Testing Hypotheses Chapter 12: Comparing Two Samples Illustrated permutation test |
HW 4 Due Fri 02/07 |
Week 5 02/04, 02/06 |
Resampling for hypothesis and estimation - the bootstrap | Chapter 12: Comparing Two Samples Illustrated permutation test Chapter 13: Testing Hypotheses Bootstrap schematic News article on origin of bootstrap |
HW 5 Due Tue 02/24 |
Week 6 02/11, 02/13 |
The boot strap continued | Quiz 1 02/13 [Postponed until 2/18] |
|
Week 7 02/18, 02/20 |
Introduction to building and testing models for prediction Regression and Correlation |
Quiz 1 02/18] | |
Week 8 02/25, 02/27 |
Regression; Error-minimization for Model Fitting | HW 06 Due Tue 03/04 |
|
Week 9 03/04, 03/06 |
Introduction to Optimization and Machine Learning | QUIZ 2 3/06 | |
Week 10 03/11, 03/13 |
Putting it all together | HW 07 Due Tues 03/18 |