This page constitutes the official syllabus for this class.

Course Information

Bioinformatic tools, algorithms and databases
CMSC423 Spring 2017

  • Lecture Meeting Times
    Tuesday and Thursday, 9:30pm-10:45pm, CSI 1122

  • Instructor:
    Héctor Corrada Bravo
    Center for Bioinformatics and Computational Biology
    Department of Computer Science
    Office: 3114F Biomolecular Sciences Building
    Phone Number: 301-405-2481
    Office Hours: Friday 1:00pm-2:00pm AVW 3223 and by appointment

  • Communication:

    • For course related questions, use Piazza as indicated below.
    • For any other communication (e.g., absences accomodations etc.) email me including [CMSC423] in the message subject.
  • TA:

    • Aya Ismail asalam@umd.edu
      Office Hours: Tuesdays at 1:15-3:15 pm and Wednesday at 12:00-2:00 pm AVW 4101

We will use the class Piazza site https://piazza.com/class/iybyz4l8fqs2bl for questions, discussion and announcements. Assignments and grades for the class will be posted to the class ELMS site: https://myelms.umd.edu/courses/1218381 . In case of an extended emergency closure, announcements on policy and procedures will be posted to Piazza.

Textbook and Resources:

We will be using Compeau, P. and Pevsner, P., Bioinformatics Algorithms, An Active Learning Approach, 2nd. edition, Vols. 1 and 2. Active Learning Publishers, La Jolla, CA, 2015.

This text book is accompanied by a set of video lectures that you can view in preparation for class discussion during class meeting times. Video playlists are available on youtube

Class meeting times will (for the most part) not be lecture time. The goal is to use class time to explore Biological and Algorithmic aspects of materials in depth and collaboratively with your peers.

Programming exercises and problems are integrated with the textbook readings and videos. We will use the Rosalind Project to manage programming exercises and submissions. More information below.

Expected outcomes and topics covered

At the end of this course, students will be able to describe, implement and analyze algorithms that solve fundamental problems in biological sequence analysis: sequence alignment and assembly, string querying, sequence signal finding, and data clustering. They will also be able to identify and use appropriate publicly available resources, both data and tools, to perform common bioinformatics tasks.

Expectations for Students

Class prep

The Course Calendar will list readings (usually from the textbook, on occassion uploaded to ELMS). You are required to read this material before lecture

The Course Calendar will also list programming exercises to attempt before lecture. You will upload attempted solutions to the pre-lecture exercise Rosalind page.

The Course Calendar will list any quizzes or written assignments to be completed before lecture. You must submit these assignments before lecture as instructed.

Programming projects

Programming exercises on the final submission Rosalind page will be collected into programming projects. Some additional analysis using the programs you write for these exercises will be assigned. Those additional analysis will be submitted as instructed. Full descriptions of the programming projects will be posted in the Programming Projects course page.


We require that you use Python 2.7 for all programming assignments. Please see this guide to installing BioPython.

Written assignments

Some written exercises will be assigned covering material we have discussed in class. Some of these will be posted on the Course Calendar and announced on the class Piazza page. Other in-class exercises may not be announced ahead of time. See below for class policies on attendance.

Announcements and discussion

We will use the Piazza page for class announcements. Please use the Piazza page for class discussion. Note that the Rosalind Project class pages also have discussion capability. Do not use it, please use the Piazza page for all discussion.

Participation grade

The course grading scheme (see below) includes a class participation grade. You can earn full credit for this in three ways: (1) lecture participation, asking questions and answering your peers questions, (2) piazza participation, asking and answering questions on piazza, (3) regular attendance to office hours. To earn full credit you should aim to ask or answer a question at least once every two weeks on lecture or on piazza; or attend office hours at least once a month (that can include just going to my office hours to chat about computer science, biology, science, etc.)

Other policies

  • There will be reading assignments. Students are expected to have read the material before class.
  • Students are expected to attend lectures. Active participation is expected. There will be graded work done in class.
  • Assignments are to be handed-in electronically or in class as instructed on their due date. Late assignments will not be accepted.
  • There will be graded work to be done in class. Students not in class that day, except for an excused absence, will not be able to complete that work outside class.
  • Students may discuss homeworks and projects in groups. However, each student must write and/or program solutions independently.
  • Posting project solutions in a public online location without express consent and permission from the instructor is a violation of academic integrity policy.
  • Cell phone usage is prohibited during lecture, laptop use will be allowed to the extent that students demonstrably use it to follow along an in-class analysis or demonstration.

Grading Procedures

  • Lecture prep work (15%): to be done before class, includes programming exercises and short written assignments.
  • Written homework (15%): some will be take-home, some will be done in class.
  • Programming projects (25%)
  • Midterms (2) (20%)
  • Final (20%)
  • Class participation (5%)

University Policies and Resources

Policies relevant to Undergraduate Courses are found here: http://ugst.umd.edu/courserelatedpolicies.html. Topics that are addressed in these various policies include academic integrity, student and instructor conduct, accessibility and accommodations, attendance and excused absences, grades and appeals, copyright and intellectual property.

Course evaluations

Course evaluations are important and that the department and faculty take student feedback seriously. Students can go to http://www.courseevalum.umd.edu to complete their evaluations.