• Course Communication:
    • For personal matters (e.g., excused absences), send direct message to instructor and TA on ELMS.
    • Otherwise, post to CampusWire otherwise.
    • We encourage you to come talk with us in-person during our weekly office hours.
Description

CMSC 702 covers fundamental computational problems from comparative genomics and evolutionary biology. Topics include multiple sequence alignment and the reconstruction of evolutionary histories (e.g., phylogenetic trees and networks). These tasks are typically framed as NP-hard optimization problems, motivating the development of heuristics based on constraints, graph algorithms, and more recently machine learning. We will analyze algorithms from the empirical and theoretical perspectives (e.g., computational complexity, optimality guarantees, and statistical consistency under popular models of evolution). We also will discuss how algorithms are leveraged in emerging applications, like evolutionary analyses of tumors and pathogens, along with their limitations and directions for future research.

Students will have the opportunity to read and discuss recent scientific papers (see reading groups) as well as develop and/or contribute to research projects (see projects).

Target Audience and Prerequisites

CMSC 702 is a MS/PhD qualifying course in computer science (bioinformatics area). The target audience for this course is graduate students from the CS, ECE, AMSC, and statistics. The prerequistes are algorithms as well as basic probability and statistics. The programming assignment will be given in Python. No prior knowledge of biology is a required.

Biology graduate students. If you are in the BISI-BEES and Entomology programs, you may enroll in this course with the recommendation of your advisor. You will complete the same coursework as other graduate students enrolled in the course, except that you will be offered an alternative to the programming assignment and any problems requiring mathematical proof. You should expect to dedicate signficant time to this course.

Grading

The course grade will be based on

  • 30% in-class exam
  • 30% homework (10% programming assignment & 20% 3-5 problems sets)
  • 20% project
  • 20% reading groups (includes participation)
which meets the requirements for MS/PhD qualifying courses in computer science. Qualifying courses "must primarily (at least 75%) base the course grade on a combination of homework, programming assignments, research projects, and exams. Any of these components are optional, except the course's written exam(s) which must account for at least 30% of the grade" (quoting Tom Hurst).

Policies

  • You are responsible for reading and understanding the general course policies (see syllabus PDF on ELMS) as well as policies for individual assignments (see assignment descriptions on ELMS).
  • You are responsible for reading and understanding the University of Maryland's Code of Academic Integrity and its implications because all acts of academic dishonesty will be dealt with in accordance with the provisions of this Code.
  • If you are unsure of whether something violates course policies and/or constitutes an academic integrity violation, ask the course instructor, preferably via CampusWire so we can make your post public if it is broadly applicable to the class.

Evaluations

The Computer Science department and its faculty take student feedback seriously. Near the end of the semester, students can go to http://www.courseevalum.umd.edu to complete their evaluations.

Web Accessibility
Please provide feedback on web accessibility to the instructor.