CS 466: Introduction to Bioinformatics

Professor Tandy Warnow
Time: MWF 8:00-8:50 AM
Location: 1304 Siebel Center

Office hours: Mondays 9-10 AM in Siebel Center 3235.

T.A.: Erin Molloy (emolloy2@illinois.edu), Office hours Mondays 10-11 AM in 0207 SC (possibly 4105 SC).

Grader: Kelly Mack (knmack2@illinois.edu)

Discussion Section: Siebel Center Room 1111, Thursdays from 5-5:50PM.

Course schedule, including reading assignments and lectures (preliminary)

Homework assignments

Note: CS 466 and BIOE 498 are being held at the same time and same location. They will have the same assignments, exams, and grading will be done identically.

Brief description: Algorithmic approaches in bioinformatics: (i) biological problems that can be solved computationally (e.g., genome assembly, sequence alignment, and phylogeny estimation); (ii) algorithmic techniques with wide applicability in solving these problems (e.g., dynamic programming and probabilistic methods); (iii) practical issues in translating the basic algorithmic ideas into accurate and efficient tools that biologists may use. The course has one midterm, homeworks, and a final project (but no final exam). Undergraduates will receive 3 undergraduate credits; graduate students can enroll for 3 or 4 graduate credits.

Graduate students: If you are enrolling for 4 units, you will have four extra homework assignments and you will present a paper in class.

Teaching philosophy: Although much of the course is through lectures, some of it involves assigned reading, and the material that is covered in class is likely to go beyond both the posted lecture and assigned reading. In fact, since the discussion in class may result in material being presented that is not in the two textbooks for the course, it is important to attend lectures. Much of this material is aimed at teaching students about new research, and enabling them to do research. Therefore, reading and presenting research papers is a fundamental part of the learning process. Overall, the important point is that active participation is necessary for this course. In practice, this means you are expected to ask questions and to be present at all class meetings. If you need to miss a class, please make sure to meet with me or with someone else in the class to go over what happened that day.

Course prerequisites: CS 225 (and all its pre-requisites) or its equivalent. No background in biology is required. If you did not take CS 225 and its pre-requisites at UIUC, you will need to get permission from me to stay in the course. This will include doing an extra homework assignment (due January 21) and meeting with me for a one-on-one meeting after the homework is submitted to review the material.

Syllabus: Algorithms for DNA sequence comparison, including pairwise and multiple sequence alignment, evolutionary tree construction, and genome assembly. The design and analysis of algorithms, using techniques from computer science including divide-and-conquer, dynamic programming, and recursion. Applications of these methods to solve biological problems.

Emergency response recommendations Please see this webpage.

Course materials: Assigned reading should be done before coming to class, and will come from the scientific literature and from two textbooks for the course. One of those textbooks, Computational Phylogenetics, can be downloaded from my website at that link. The other textbook requires that you purchase it, but is not strictly speaking necessary for the class. With the exception of some material on genome assembly and database search, all the material I will teach will be in the Computational Phylogenetics textbook. My lecture presentations will be posted at this website. Textbooks for the class:

Attendance policy: Attendance in the class is strongly advised, since some material and discussion will happen that does not appear in the posted lectures. You are responsible for all material discussed in class, whether or not you attend; if you miss class for some reason, please make sure to talk with me or one of the students in the class to find out what you missed. Participation in the course is also part of the grade; hence, missing class can reduce this component of your grade.


Academic integrity: You are expected to abide by the university academic integrity standards, which means (among other things) that you should never copy anyone else's homework nor let anyone copy your homework. This is particularly important for your final project, especially if you refer to the scientific literature in your project. You must also never plagiarize, which means (among other things) that any text that you copy from another document must be properly attributed (with quotation marks around the copied material, and citation to the document from which you have copied the material). Even paraphrasing can count as plagiarism. All violations of academic integrity standards will be reported to the appropriate university offices. Serious violations will result in a failing grade for the course. Please see this page for a brief discussion of this issue, and the real academic integrity page. The academic integrity code is applied to the homework assignments, as follows. You are encouraged to work with other students currently enrolled in this course on the homework, but if you do this, this is what you should do. First, indicate on the homework who you worked with. Second, do not look at the other homework solutions when you write your own solutions; this includes not looking at someone else's write-up of a critique of some literature. Third, and more generally, you must write your homework solutions entirely on your own, using your own language. Please do not under any circumstances copy homework solutions from anyone else, or let anyone copy from you. Similarly, the academic integrity code is applied to your final project by the expectation that you will not copy text from any paper, and you will give appropriate credit to all material that you use from prior publications, websites, etc.