Teaching Together (Bio-CS team teaching)

DNA (BIO 242COMP 242)

INFUSING Genomics into a Computer Science course

Presented at SIGCSE ’08 — Portland, OR in March 2008.

The best way to get started integrating Bioinformatics/Genomics into your computer science courses is to infuse one or two new programming assignments into an existing course. Below is a link to two programming assignments tested in our Algorithms course (the third course in our majors sequence). The first leads students down a runtime garden path as they (attempt to) find repeats in microbial genomes using an elegant but exponential algorithm. Included with the programming specification are three homework assignments to encourage students to explore the recursive solution, including work with recurrence relations, using Maple’s rsolve() to arrive at a closed form, and play with Excel to compare various computations of the amount of work involved. The second follow-up assignment finds students solving the same problem but this time with a quadratic dynamic programming algorithm.

Finding Inverted Repeats (DNA palindromes) Recursively Finding Inverted Repeats with Dynamic Programming (.zip)

LINKING Biology and Computer Science Courses


Partial support for this work was provided by the National Science Foundation’s Course, Curriculum and Laboratory Improvement program (CCLI-EMD) under grant NSF DUE 0340761

Example of linking BIO 211 and COMP 215

Course Materials (all .zip downloads)

Pre-Post Student Course Evaluations (.zip)

Suggested Readings (.zip)
Suggested readings and discipline-specific questions for homework/discussion

Sample Guest Lectures (.zip)
Tips and materials for lecturing in the “other” course

Collaborative (Shared) Labs (.zip)
Three BLAST labs for BIO-CS pairs of students from various semesters:
(i) Flagella genes, (ii) Huntingtin genes, and (iii) Seven Transmembrane proteins
CS students demo new software; BIO students ask for more …

Example Programming Assignments (.zip)
Motif Finder — could be used in almost any programming course, e.g., CS1
isPal — finding palindromes (inverted repeats), application of recursion
experiments in sorting, use of qsort

More Programming Assignments (.zip)
Motif Finder — use of dynamic memory allocation in C/C++
Top-10 motifs — use of hash tables

Team Project Specifications (.zip)
Sample Project: “Finding Triplet Repeats” (separate specs for BIO and CS)
Timeline, Topics, Goals, and Challenges of your Interrelated Projects
Helps: A Biologist’s Introductory Guide to Interpreting Raw Data concerning DNA Motifs
Helps: Editing FNA files to find Genes: Locating Intergenic Regions for a Favorite Gene
Final Presentations
A sample team-talk given by the BIO and CS professors.
A list of BIO-CS student final talk titles from a given semester.
A sample grading key the professors used to grade the final oral presentations.

isPal (.zip) – an inverted repeat finder, when recursion lets you down

Experiments in sorting English words and DNA motifs (.zip)

CS-BIO team project: Towards a Fuzzy Olfaction Gene Finder (.zip)