The following linked resources will open in a new browser window.

This work is licensed under a Creative Commons License.


TEACHING TOGETHER (Bio-CS team teaching)

"DNA" (BIO/COMP 242) Syllabus

"DNA" Sequence Analysis Programming Specifications

New Book

Perl for Exploring DNA (Oxford University Press, 2007)


INFUSING Genomics into a Computer Science course

NEW: 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/discussion

Sample Guest Lectures
   Tips and materials for lecturing in the "other" course

Collaborative (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 qsort

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

Team 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.