CS 581 (Fall 2021): Algorithmic Computational Genomics

Instructor: Tandy Warnow, Grainger Distinguished Chair in Engineering Tandy Warnow

Time: TuTh 9:30 AM to 10:45 AM, by zoom (link will be sent to registered students) - please email the instructor for the registration link

Office hours: in person Wednesdays 9-10 AM in 2400C (Terrace). Zoom office hours Wednesdays 12-1 and Fridays 4-5 PM (note the change in time)

Teaching Assistant: Eleanor Wedell Office hours: Thursday 4-5 PM (zoom) and Friday 11 AM to 12 noon, 2nd floor 2400C (Terrace)



Course description: This is a course on applied algorithms, focusing on the use of discrete mathematics, graph theory, probability theory, statistics, machine learning, and simulations, to design and analyze algorithms for phylogeny (evolutionary tree) estimation, multiple sequence alignment, genome-scale phylogenetics, with extra topics based on student interest (e.g., genome assembly and annotation, and metagenomics). See the detailed syllabus for a more detailed descrption of the course material. Each of these biological problems is important and unsolved, so that new methods are needed. Every year, at least one student in the course has done a project that was subsequently published in scientific conferences and journals (see this page); you can be one of these students!

Pre-requisites CS 374 and CS 361/STAT 361, or consent of the instructor; no biology background is required.

COVID-19 precautions In an abundance of caution, I have decided to hold the course lectures online, and will provide the zoom link to registered students. However, I will schedule small group "office hours" in person and hold these outdoors while the weather permits; these in person office hours will require appointments, and will be limited to 2-3 students at a time, so that adequate distance can be maintained between everyone. I will also hold office hours by zoom each week (and of course these you don't need to schedule). If you are ill, have been exposed to COVID-19, or have recently tested positive for COVID-19, do not come to in-person office hours. Moreover, please keep several feet away from me, the TA, and other students, during the in-person office hours. Please also see this page for additional specific information about my COVID-19 policies.

Who should take this class: The course is designed for graduate students in CS, ECE, Math, and Statistics; no background in biology is required.

Undergraduate students: If you are an advanced undergraduate student (in CS, ECE, Mathematics, Physics, or Statistics) and interested in taking the course, please email me to discuss your qualifications. I generally do not let undergraduate students into the class because this is a research-focused advanced course requiring many different skills (including theorem proving, implementation, analysis of algorithms, scientific literature reviews, etc.). However, if you are sufficiently advanced (preferably a senior with substantial coursework already completed that shows these multitude of skills), serious about the commitment necessary to do this course, and planning to apply for PhD programs, then I may allow you into the class.

Assigned reading The assigned reading will include papers from the scientific literature, as well as the required textbook Computational Phylogenetics: An introduction to designing methods for phylogeny estimation, published by Cambridge University Press. Nearly all the textbook will be covered during the class, and most of the homework will be taken from the textbook. You do need to get this textbook, therefore. Please check the campus bookstore for availability. Students have also obtained the book from Amazon or Cambridge University Press. An e-book is also available from Google Play.

Course project The course project is a large part of the grade (25%), and typically involves research on a problem relevant to the course material. I help students select appropriate problems that can be addressed during the course itself, and which are interesting enough to potentially lead to publications (if followed up with extra work after the semester is over). Most students do these projects in small groups (typically just two students), which makes the experience more fun and also typically more productive. I meet with each group several times during the semester to help them make progress, and the TA (Eleanor Wedell) is also available to help. To see some of the papers that have resulted from these course projects, see this page.


Guidance on writing assignments. Many of the activities in this course involve writing, and the grade for these assignments depends in part on quality of the writing. This is specifically true for the final project. It's very important that you familiarize yourself with expectations about scholarly writing, and in particular with how to avoid plagiarizing. Please see the information in the Academic Integrity page and specifically note the instructions about plagiarism and how paraphrasing improperly can count as plagiarism. In addition, please see my write-up with guidelines for reviewing computational papers.


Additional Syllabus statements The College of Engineering has recommended several extra statements, which I agree with, and hence include here.