CMSC423-0101: Bioinformatic Algorithms, Databases, and Tools-Spring 2023 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 an 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.

Class attendance. Due to the continued impact of the pandemic, I have structured the class in a hybrid model that will allow the entire class, or individual students, to seamlessly transition to and from online learning. This model places additional responsibilities on you, especially if you choose to not attend the class in person. Most of the lecturing is replaced by videos and reading materials, and the class time will be devoted to working through various exercises that are similar to those you will see on exams. It is your responsibility to watch the videos and do the readings prior to each class session.

IMPORTANT. If you choose not to attend class, you must watch the video recording of the lecture within the week following the class.  Explanations given in class about material or class policies override any information described in videos or lecture notes.

For students who are parents. I welcome and support students who are parents. I appreciate that parenthood presents unique challenges and demands on a student’s time and availability. If childcare constraints present an issue with class attendance, I invite student parents to work with me to discuss alternate arrangements. I also welcome and support pregnant students and will provide possible accommodations and discuss arrangements so that students can complete course requirements.


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

Instructor: Mihai Pop (he/him/his)
Instructor office: IRB3132/3134
Instructor Zoom contact hours: Wednesdays 1-2pm
Zoom information:
In person office hours by request


TAs and office hours.

The in person  TA office hours are in room AVW 4140.

Zinat (she/ her): Tuesday 2pm - 3pm (Zoom)

                           Thursday 2pm-3pm (In person)

Tobias (they/them/theirs): Tuesday/Thursday 4pm-5pm

Class Location: IRB 1116
Class Days/time: Tuesday-Thursday 11am-12:15pm

Important dates

Tuesday 2/7 - Last day to drop without a W
Week of March 20 - Spring break
Sunday 3/12 - Daylight Savings Time starts (reset your clocks and check smoke detectors)
Tuesday 4/11 - Last day to drop class with a W
Saturday 5/13 - FINAL EXAM (8-10am or online, depending on pandemic)

Textbook:   - 3rd edition - Some chapters freely available online from publisher

Also available at University Bookstore  - - if you'd like a hard copy.

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

In addition, this class provides you with an opportunity to develop skills that will be valuable in your future career:

  • Time management
  • Finding and leveraging online resources
  • Taking responsibility for learning the necessary  background

Throughout the semester, the instructor and TAs will challenge you to practice such skills.


Help Center (301-314-HELP) is University of Maryland’s student-run peer counseling and crisis intervention hotline that provides free and confidential help to the UMD community.

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 Grading and deadlines for details, including assignment of letter grades)

  • Class participation - 15%
  • Programming projects - 25%
  • End of module assessments - 30%
  • Final - 30%

Attendance/participation policy

Please notify me in advance if you will miss any exam due to a University sanctioned excuse (medical absence, religious observance, etc., see below).

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. 

The current class structure allows for a lot of flexibility in completing assignments.

Reasonable absences will be accommodated when grading - please inform me in advance if you will not be able to complete assignments in the time allotted.

Please see here for campus policies: and below for further details.

Any student who needs to be excused for an absence 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 weeks during the semester. Any student who needs to be excused for a prolonged absence (2 or more weeks), 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.

Accommodations for 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.

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 and end of module assessments are strictly individual.

Plagiarism. The code you submit to programming assignments 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.

Likewise, your answers to assignments, unless explicitly allowed by the assignment, must be your original contribution. If you must quote information from other sources, please keep the quotes short and attribute the source.

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.

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