Teaching Together (Bio-CS team teaching)
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.
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)
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
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