CMSC423-0101: Bioinformatic Algorithms, Databases, and Tools-Fall 2016 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.


Instructors: Mihai Pop (, Mahfuza Sharmin (
Instructor office: Biomolecular Sciences Building, Room 3120F; or AVW 3223 (by appointment only)
Instructor office hours: 
           Monday 3:30-4:30pm by Mahfuza in AVW 3223
           Friday 10-11am by Mihai in AVW 3223

TA: Alejandro Flores V. (
TA office hours: Friday 2-4pm in AVW 4101 (or 4103 depending on availability of space)

Class Location: CSIC 1122
Class Days/time: Tue/Thu 12:30-1:45 pm


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

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.

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 DSS. 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.


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 of 4-5 students 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.