Syllabus
RGGS 670: Algoritmic Approaches to Biological Data
Spring 2016
- Instructor: Dr. Katherine St. John, kstjohn AT amnh.org, x3497
- Office Hours: TBA, Invertebrate Zoology, 6th floor (section 13)
- Duration: 3 hours lecture, 2 hours laboratory per week
- Meeting Time and Location:
- Lecture: Mondays: 2:30-5:30pm, Wednesdays: 1-2pm
- Lab: Wednesdays: 3-5pm
Course Description:
- An intensive introduction to programming in the Python programming language, culminating in an in-depth analysis of several biological topics and the algorithmic approaches needed to analyze the data. Specific topics include the basic programming concepts of loops, decisions, strings, lists, files, functions, data collections, common libraries, and recursion; as well as sequence alignment and dynamic programming, genome assembly and deBruijn graphs, and algorithms for phylogenetic tree reconstruction.
- Credits: 4
- Prerequisites: None
- Learning Objectives: Students will be able to:
- Write programs that use looping and decision constructs to process files.
- Use string and file methods to find patterns to gather and synthesize data from diverse sources.
- Use design principles to implement programs in a modular manner.
- Understand the use of functions and recursion.
- Design and implement programs that use external libraries.
- Analyze a problem and identify and define the computing requirements appropriate to its solution.
- Understand time complexity and recognize `big-Oh' notation.
Evaluations Basis:
The 120 hours of supplementary assignments will be:
- Programming Exercises (4 hours a week, 50% of overall grade): regular exercises that reinforce the programming and design techniques taught in course. Submitted via the Rosalind on-line portal for bioinformatics programming.
- Laboratory Reports (2 hours a week, 25% of overall grade): short written reports summarizing and analyzing the results of the laboratory computer experiments done each week.
- Final Project (30 hours, 25% of the grade): described below.
Final Exam/Project Description:
The final project will employ the computational tools used in the course to analyze a data set of the student's choosing (preferably one related to the student's doctoral thesis). To make sure the scope of the project is reasonable, a short abstract and tools overview will be required in Week 8 of the course. By week 9, a checklist of activities will be submitted, there will be periodic updates at Weeks 11 and 13 to check progress and adjust activities if needed. The final project, including all programs and a written analysis, is due the last day of class.
Statement on Academic Integrity:
Each graduate student bears the responsibility to observe traditional canons of scholarly discourse, scientific research, and academic honesty. Plagiarism, cheating, and fraud in research will not be tolerated. Accordingly it is expected that students work individually unless specifically instructed to work in groups. The full Academic Integrity policy is in the student handbook
Course Evaluations:
Each student is required to complete an anonymous course evaluation at the end of the term. The course evaluation is a tool for faculty and administrators to improve the student learning experience.