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


IMPORTANT: all emails to instructor and TAs should be addressed through ELMS or piazza.  Direct emails will be ignored.

Instructor: Mihai Pop
Instructor office: IRB 3134
Instructor office hours:  by appointment

TAs and office hours.
IMPORTANT: TA office hours will take place in AV Williams Rm. 4172.

  • Victoria Cepeda Espinoza - Wednesdays 2:30-3:30pm
  • Yuelin Liu - Tuesdays 12:30-1:30pm
  • Hadi Yami  - Thursdays 4-5pm

Class Location: IRB 1116
Class Days/time: Tue/Thu 11am-12:15pm

Important dates

Monday 9/9 - Last day to drop without a W
Thursday 9/26 - Midterm 1 (in class, regular time) Prof. Pop out of town
Thursday 10/31 - Midterm 2 (in class, regular time)
Sunday 11/3 - Daylight Savings Time ends (reset your clocks and check smoke detectors)
Monday 11/4 - Last day to drop class with a W
Thursday 11/14 - Prof. Pop out of town
Thursday 11/28 - Thanksgiving day, no class

Wednesday 12/11 - FINAL EXAM 8-10am (IRB 1116)

Textbook:   - 3rd edition

Also available at University Bookstore  - 

Learning outcomes

Students in this class will learn to:

  • Translate a biological problem into an algorithm and a software implementation
  • Identify prior knowledge in computer science and apply it to solving new problems
  • Design and apply algorithmic strategies for processing strings of letters (also relevant beyond computational biology)
  • Describe biomedical questions of current relevance
  • Effectively 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.

Code of conduct

I am personally committed to promoting a supportive and inclusive environment within the University, and I hope you will assist me in doing so.  Please recognize the broad diversity of the students in the class across many dimensions: gender, sexual orientation, ethnicity, race, socio-economic status, political views, educational background,  learning style, etc.  Irrespective of the visible and invisible differences between us, everybody is here to learn, and we are all responsible for creating a supportive environment in which each of us can grow. 

Be polite. Allow all an opportunity to speak.  Recognize that failure is an important part of learning: take risks answering questions even if uncertain of the answer, and support those who do the same. Help those who struggle. While in class, focus on the class, and not on the many other things going on in your life.

Please also review the University's code of student conduct.

Grading (see below for details)

  • Class participation - 10%
  • Teamwork - 5%
  • Programming projects - 25%
  • Two in-class midterms - 30% (10%, 20% of the grade, respectively)
  • In-class final - 30%

Late policy

To account for unforeseen circumstances (such as illness, family obligations, etc.), you may claim a 2-day extension for any programming assignment.   You must formally request this extension through ELMS, by sending an email to the instructors with the subject "Extension request: assignment XXX", where XXX indicates the name/number of the programming assignment. The requests must be submitted prior to the official due date, or as soon as practically possible.  All other late submissions will receive a score of 0.

For all other assignments (quizzes, exit tickets, etc.) no late submissions are allowed.  Instead, the lowest 10% 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.

IMPORTANT: Time and a half or double time accommodations generally only apply to timed assignments such as in-class quizzes and exams. They do not apply to reading or programming assignments, or other assignments that can be completed outside of the classroom.   If you think that your particular situation requires accommodations for such assignments, please meet with me within the first 2 weeks of class to discuss whether reasonable accommodations can be made.  As for any other accommodations, formal support from ADS is mandatory.

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 be asked to prepare by reading material, watching videos, etc.  In class, you will receive quizzes testing 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 groups 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. 

The reason I am requiring you to work in teams is to prepare you for your career after graduation.  Employers have consistently expressed their interest in hiring people with strong communication and collaborative skills. Often such "soft" skills are considered more important than the technical skills you are developing during your studies.  For more information on how I am constructing the teams, and on how to be an effective team member, please see Student Groups.

Illness/emergency preparedness

See for more information.

Please familiarize yourself with guidelines related to an active shooter event: .

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.