02 October 2014

Developing a bioinformatics class as a part of a new bioinformatics/genomics minor.

Since I've been waxing philosophical about the small tasks I've been performing for students this semester, it seemed opportune to talk a bit more in depth about my big job for the semester: designing an undergraduate bioinformatics lecture and lab for next semester (spring 2015). This is actually something I'm really excited about, so I'm willing to expend quite a bit of time and energy being mindful and deliberate in how I set up the class schedule and assessments.

While I figure out particulars about hosting my own website, I've started a research webpage through Google Sites as a stand-in. This page includes resources related to a new undergraduate minor in Bioinformatics and Genomics created by my department chair, Srini Kambhampati. I'll eventually end up teaching genomics as well, but am mostly focused on developing the bioinformatics class material right now. I've got lots to say about the general premise of bioinformatics/computational biology education, but will save that for a later date.

I've talked to lots of folks about how they teach (or would like to teach) bioinformatics. Some are deeply rooted in a particular programming language (like perl), or focused on a particular type of bioinformatics (i.e., next generation sequencing analysis). I'm trying for a wider approach to capture a variety of student interests. Here's my first shot at explaining what my class will be like.


  1. Students will represent a mix of levels of computational and biological expertise, from folks who are rather computer-phobic but biologically savvy to computer science folks with relatively little biological knowledge. Lots of other biological research here at UTT is ecologically focused, and there's a lot of health professionals on campus and in the community
  2. I want to leverage extant and familiar educational technology (Blackboard, GUIs) while introducing students to more efficient and useful interfaces (Github, CLI, etc).
  3. I'm not expecting students to be expert programmers in any particular language at the end of the semester (with the exception of unix shell scripting, which is a necessary baseline for functionality).
Primary course objectives:
Students should be able to:
  1. Describe the scope of bioinformatics research and applications (including but not limited to next-generation sequencing, comparative genomics, ecological informatics, metagenomics, extensions to health informatics, etc)
  2. Design and implement bioinformatics pipelines to answer pre-defined questions from a variety of biological disciplines.
  3. Validate results from bioinformatics algorithms using hypothesis testing, correcting for multiple comparisons, etc.
  4. Characterize the limitations of data to answer questions of interests.
  5. Obtain resources to learn new languages and algorithms (i.e., be self-directed in learning more on their own).
How I'm doing it (which is mostly a list of questions I need to answer):
  1. In addition to the quick overview pages on my research website (which I'm hoping to transition over to the UTT Biology page when they are completed), I've set up a Github repository for the class that includes a modular syllabus (following the guidelines here) and will eventually include the materials used for in-class (lab) exercises. I'll still be posting grades on Blackboard, and haven't decided how to share lecture materials and assessments (Github, Blackboard, Slideshare, Wiki?).
  2. I'm not requiring students purchase a textbook. I will be relying on published scientific literature for objective 1, and (free to download!) OpenIntro Statistics for objectives 2-4 (in addition to examples from published literature). Of course, objective 5 teaches them to find and evaluate resources on their own.
  3. UTT Biology has a new building addition which will be completed by the end of this semester, and I've been put in charge of getting the computer lab set up. I'm hoping class sizes will be small enough that each student can work on their own machine. I'm still trying to decide if and how to include HPC/cluster usage, given that most analyses can run locally if the appropriate software is installed. There is the opportunity to get an instructional allocation from TACC, and I know other folks who have used Amazon Web Services Cloud Computing.
  4. I'm visiting classes taught by my colleagues this semester (both in computer science and biology) which may include students who are interested in taking my class next semester. I'm hoping to get a better idea of student desires and educational background to be able to craft materials that are both relevant and useful to them. I'm also considering cross-listing the class at the graduate level, as a few folks have asked me about that possibility (Sidenote: I'm brainstorming ideas for graduate level classes on my research page, too).
If you have ideas or experiences that you'd care to share, I'd be happy to hear them! Stayed tuned here, on my research webpage, and the Github repo over the next few months to see how the class develops.

No comments: