My approach to teaching is inspired by the way I personally learn. Introducing fundamental principles along with very basic exercises provides students an opportunity to internalize the material and learn the necessary mechanics. Then, providing space for students to extend these principles based on their own interests engages them in critical thinking and synthesizing their own new knowledge and experience. Finally, adding an element of peer review provides an opportunity for students to learn from each other and to practice providing constructive feedback of others' work. The courses I teach follow this pattern, introducing new material with simple rote exercises, followed by more open-ended assignments that reinforce and extend the basics, with intermittent opportunities to engage in peer review.
I have been very pleased with the results of this strategy. The average student comes away from my courses, at the very least, exposed to the relevant topics and equipped with a new arsenal of tools they can leverage in their research, studies, or employment. The motivated student comes away with the ability to reason about the topic critically and to evaluate the much broader ecosystem of related topics, methods, and tools.
Although I was fortunate as a graduate student to have consistent research assistantship support, I sought opportunities to teach. During my Ph.D. training I helped design a semester-long course on Computational Genome Science, and subsequent to its initial offering I was the course's lead instructor for 3 years. This course covered topics of active research, and required frequent adaptation to keep up with advances in sequencing technologies, computing infrastructure, and state-of-the-art algorithms and tools. Anecdotally, many former students have emphasized the value of the course materials—most especially their submitted assignments—as a reference for their subsequent research or employment.
First as a senior graduate student and now as a postdoctoral scholar, I have also had the opportunity to mentor rotation students and Masters thesis students. I myself am a benefactor of generous mentorship throughout my entire education and career, and in turn I have found it incredibly fulfilling to see my junior colleagues grow and help them achieve their goals. Faculty have an obligation to support students–especially those that face systemic disadvantages due to their gender or ethnic background–and that is an obligation I take seriously.
My teaching experience also includes leading and co-leading a variety of 1-day, 2-day, and week-long workshops. I am a certified Software Carpentry and Data Carpentry instructor, and I have served as a volunteer instructor for several affiliated workshops. I have also organized and assisted with several ad hoc workshops, including introductory bioinformatics clinics, intermediate-level workshops on specific bioinformatics topics, and a materials development workshop focused on executing genomics workflows in the cloud. I find the 2-day workshop format to be particularly effective, since bioinformatics skills are in high demand at all career stages and yet few scientists can commit to a semester-long formal classroom offering.
I'm particularly interested in how computing is taught in biology, and have a firm conviction that biologists-in-training should get their first introduction to computing from other biologists. I am also concerned that while many graduate student research projects end up involving a non-trivial amount of software engineering, this topic is absent from most life science curricula. Conventional software engineering wisdom does little to address the tension that exists between the research goals of a project and the software engineering goals of a project. I see instruction in this area as a critical committment to preparing students for success in research.