Educational materials
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 prorgramming algorithm.
Finding Inverted Repeats (DNA palindromes) Recursively
Finding Inverted Repeats with Dynamic Programming
- 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
Suggested Readings
Suggested readings and discipline-specific questions for homework/discussionSample Guest Lectures
Tips and materials for lecturing in the "other" courseCollaborative (Shared) Labs
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
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 qsortMore Programming Assignments
Motif Finder -- use of dynamic memory allocation in C/C++
Top-10 motifs -- use of hash tablesTeam Project Specifications
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 -- an inverted repeat finder--when recursion lets you down
Experiments in sorting English words and DNA motifs
CS-BIO team project: Towards a Fuzzy Olfaction Gene Finder
- Course Materials (all .zip downloads)
This work is licensed under a Creative Commons License.



