CMSC423-0101: Bioinformatic Algorithms, Databases, and Tools-Fall 2017 mpop

Computers have revolutionized modern biological research, by providing biologists with the means to manage and analyze the large amounts of data generated through high-throughput experiments. This course provides a practical introduction to the main algorithms, databases, and tools used in bioinformatics, at the same time providing insight into the biological problems being addressed.

Many of the techniques you learn in this course are applicable beyond the bioinformatics domain and are relevant to other data-driven fields of computer science.

No knowledge of biology is required for this course.


1. Before you buy the book look carefully below as it may save you money.


Instructor: Mihai Pop (
Instructor office: Biomolecular Sciences Building, Room 3120F; or AVW 4449 (by appointment only)
Instructor office hours: 
           Tuesdays 2-3pm in AVW 4449 or by appointment

TA: Debjani Saha (
TA office hours: M/W 10-11AM, AV Williams 4101/4103

Class Location: Edward St. John 2212
Class Days/time: Tue/Thu 11am-12:30pm

Important dates

Monday 9/11 - Last day to drop without a W
Tuesday 9/12 - Prof. Pop out of town
Tuesday 9/21 - Prof. Pop out of town
Thursday 9/28 - Midterm 1 (in class, regular time)
Thursday 11/2 - Midterm 2 (in class, regular time)
Sunday 11/5 - Daylight Savings Time ends (reset your clocks and check smoke detectors)
Monday 11/6 - Last day to drop class with a W
Wednesday 12/13 - FINAL EXAM 8-10am (same class)


IMPORTANT - if you buy the book from the link below you can get a discount when buying the two volumes.  This may not be true at the campus bookstore.   - both volumes required!!

Also available at University Bookstore -

Learning outcomes

  • Translate a biological problem into an algorithm and a software implementation
  • Learn algorithmic strategies for processing strings of letters (also relevant beyond computational biology)
  • Learn about biomedical questions of current relevance
  • Learn to work in teams


See: Resource page

A full list of University policies governing undergraduate classes is available here: .  Please also read carefully all the information below.

Grading (see below for details)

  • Quizzes/in class participation - 10%
  • In-class teamwork - 5%
  • Programming projects - 25%
  • Two in-class midterms - 30% (15% each)
  • In-class final - 30%

Late policy

You can submit up to 2 programming assignments up to 2 days late without any penalty.  All other programming assignments received late will incur a 10% penalty for up to 2 days, after which no credit will be given.

For all other assignments (reading quizzes, exit tickets, etc.) no late submissions are allowed.  Instead, the lowest 5 scores will be discounted when computing your grade.

Attendance policy

Please notify me in advance if you will miss any exam due to a University sanctioned excuse (medical absence, religious observance, etc.).  In case of sudden illness that causes you to miss an exam you must provide me with a medical note documenting the illness, and clearly specifying the days/times that you were incapacitated due to illness. 

Part of the class grade is participation/quizzes.  Reasonable absences will be accommodated when grading - please inform me in advance if you will miss a class. Please see here: and below for further details.

Any student who needs to be excused for an absence from a single lecture, recitation, or lab due to a medically necessitated absence shall:
a) Make a reasonable attempt to inform the instructor of his/her illness prior to the class.
b) Upon returning to the class, present their instructor with a self-signed note attesting to the date of their illness. Each note must contain an acknowledgment by the student that the information provided is true and correct. Providing false information to University officials is prohibited under Part 10(j) of the Code of Student Conduct (V-1.00(B) University of Maryland Code of Student Conduct) and may result in disciplinary action.

The self-documentation may not be used for exams (midterm or final) and it may be used for only 2 non-consecutive class meetings during the semester. Any student who needs to be excused for a prolonged absence (2 or more consecutive class meetings), or for an exam, must provide written documentation of the illness from the Health Center or from an outside health care provider. This documentation must verify dates of treatment and indicate the time frame during which student was unable to meet academic responsibilities. In addition, it must contain the name and phone number of the medical service provider to be used if verification is needed. No diagnostic information will ever be requested.

Religious observances

You must notify me within 2 weeks from the beginning of class if you will miss a class or exam due to a religious observance.  Requests received after two weeks will not be accommodated. Please check university policies from the following 2 links.

Accommodations for disabilities

You must notify me within 2 weeks from the beginning of class if you require special accommodations due to disabilities.  All such requests must be accompanied by documentation from the Accessibility and Disability Service. Requests received after this deadline will not be accommodated.

Communication is key

Please participate in Piazza discussions, interact with  your colleagues, and contact the instructors and the TA if you have questions or concerns.

For general questions about class materials and discussion use Piazza.

To contact the instructors and TA directly, please use ELMS rather than our individual emails. This ensures that all emails are recorded and associated with the course, and also that no emails get lost in spam folders or the general email deluge that we are often faced with.

Academic honesty

Simply put: cheating will not be tolerated under any circumstance.  While you are allowed to prepare for assignments together, you must complete all individual assignments by yourselves.  Also, all exams are strictly individual.

In particular, the code you submit to Rosalind must be your own.  We will run plagiarism detection software, and we are well aware of the various code floating around github and other online forums.

Further information on academic integrity is available here: .

IMPORTANT: A large number of academic dishonesty cases are due to students in their final year. The fact that you just need a few more credits to graduate is not an excuse.  Cheating and plagiarism have led to students failing to graduate, and also for diplomas to be revoked retroactively.  I will refer all cases of academic dishonesty directly to the Office of Student Conduct. In other words - I will not provide you the opportunity to "make a deal" or provide an excuse.


Prior to each class you will have to complete a quiz that tests that you have prepared for the class (read material, watched videos, etc.)   These quizzes will not test that you fully understand the material, just that you have done your due diligence in preparing.  I anticipate there will be about 20 such quizzes.

Class participation

During the class I will call on random students to encourage everyone to participate, not just those who sit in front.  Most often I will give you some time to think and discuss with your team before I pick on you - i.e., I'm not going to try to trip you up with questions for which you cannot possibly know the answer.  I will, however, record whether the answer was satisfactory - not necessarily correct, but demonstrating that you were paying attention and participating.  These records will be taken into account when I decide the final grade in the class.

Class participation - team assignments

 I will assign you to teams based on your responses to an initial class survey.  The members of each team will be responsible for helping each other learn, and also for working together during in-class exercises.  Each team will be randomly called upon during class - the credit received will depend on satisfactory performance in these assignments.  Note that points will not be distributed evenly to all team members, rather they will be decided by three team peer-assessments, submitted at the time of the two midterms and at the end of the class.

Illness/emergency preparedness

See for more information.

If you are sick, don't come to class - no need to get others sick. 
Please report sickness on and through ELMS to the instructors.

Course Summary:

Date Details Due
CC Attribution This course content is offered under a CC Attribution license. Content in this course can be considered under this license unless otherwise noted.