UMBC CMSC441, Design & Analysis of Algorithms, Spring 2020

Course Description


Introduction to Algorithms, third edition, Cormen, Leiserson, Rivest and Stein. MIT Press (ISBN: 0262033844, 978-0262033848).


Students taking CMSC 441 should have mastered the material covered in the following courses: CMSC 203 (Discrete Structures), CMSC 341 (Data Structures) and MATH 152 (Calculus and Analytic Geometry II). The material in Appendix B, Chapter 10 and Chapter 12 of the textbook (covering sets, elementary data structures and binary search trees) should be familiar. Some knowledge of probability and counting (Appendix C of the textbook) is also expected. Students must be able to understand and be able to write proofs by induction. In addition, proficiency in the implementation of the elementary data structures (e.g. stacks, queues, linked lists, heaps and balanced binary trees) in C/C++ or Java is assumed.


In this course students will

  1. learn the quantitative methods used in the analysis of algorithms;
  2. sharpen their problem solving skills through the design of algorithms;
  3. practice thinking on their feet; and
  4. learn to write explanations for the correctness of algorithms and justifications for their performance.
A secondary goal of this course is to familiarize students with a range of fundamental algorithms.


Grades will be based upon the following distribution
Homework (13) 26%
Quizzes (6) 45%
Classwork (18-20) 5%
Final Exam (1) 24%
The syllabus lists 13 homework assignments and 6 quizzes. However, if a homework assignment or quiz is canceled and not made up (e.g., because UMBC is closed for snow or hurricane), the proportion of the final grade from homework, quizzes and the final exam will remain the same. That is, homework will still count for 26% of the final grade and quizzes 45% (each homework or quiz will have greater weight).

The final letter grades are based on the standard formula:

0 ≤ F < 60,   60 ≤ D < 70,   70 ≤ C < 80,   80 ≤ B < 90,   90 ≤ A ≤ 100

Grades will not be "curved" — that is, the percentages of A's, B's and C's are not fixed. However, depending upon the distribution of grades in the class, there may be adjustments in the students' favor, but under no circumstances will the letter grades be lower than in the standard formula. As a guideline, a student receiving an A should be able to solve the homework problems with facility; design and analyze new algorithms in written exams; and demonstrate an understanding of the impact of theoretical analysis in practical programming settings.

Grades are given for work done during the semester; incomplete grades will only be given for medical illness or other such dire circumstances. In particular, taking a heavy course load is not a legitimate excuse for receiving an incomplete.


There will be in-class quizzes on Tuesdays: 2/18, 3/3, 3/24, 4/7, 4/21 and 5/5. The dates for quizzes will not change unless campus is closed (e.g., due to snow). Unexcused absences will result in a grade of zero for that quiz. Each quiz will be held during the last 30 minutes of the class period.

Each quiz will consist of one or two questions (possibly with multiple parts) on pre-announced topics. The questions will require students to solve new problems (i.e., not simply regurgitate of facts). In order to do well in these quizzes, students must be able to do the types of questions assigned for homework — without help from others or from the internet.


The Registrar has already posted the schedule for the final exams:
Section 02: Tue 5/19, 10:30am – 12:30pm, ITE 227
Section 01: Tue 5/19, 1pm – 3pm, Sherman 013
There are no midterm exams.


Students will be asked to write down answers to questions posed during lecture. The responses will be collected at the end of class and checked for completion. Classwork will be graded on a scale of 0 to 5. Classwork will not be returned. (Take a picture if you want to keep a copy.) This semester there are 23 meeting times that do not have quizzes. The expectation is that 18 to 20 of these meetings will have classwork. The lowest 3 classwork scores will be dropped.


Students are expected to attend all lectures and are responsible for all material covered in the lecture as well as those in the assigned reading. However, this subject cannot be learned simply by listening to the lectures and reading the book. To master the material, students must spend time outside the classroom, to think, to work out the homework and understand the solutions.

The purpose of the lectures is to explain the parts of the reading that are difficult to understand. Lectures do not replace the reading. Lectures will be a mix of prepared slides and presentations on the white/blackboard. Students will need to take notes and read the textbook. The slides are not a transcript of the lecture.

Homework Policy

Assignments are due at the beginning of lecture — this is to allow for timely grading and discussion of the homework solutions.

Please use 8.5x11in paper (letter size) with the detritus removed if you are tearing sheets from a notebook.

All homework must be submitted on paper, in person, in class. Do not submit homework by email. Do not submit homework for an absent student. If you are sick contact Prof. Chang, don’t come to class just to turn in homework. Please submit late homework separately from on-time homework.

Three times during the semester, students will be allowed to submit a late homework assignment without excuse and without penalty one lecture late (e.g., homework due on Thursday maybe submitted in class the next Tuesday). One full-credit unexcused late assignment will be accepted for Homework 1–5, one for Homework 6–9 and another for Homework 10–13. This late policy allows students to juggle due dates from other classes and deal with life issues such as colds, cars that won’t start, etc. Students do not accrue any credit for submitting homework assignments on time. For example, a student who submitted Homework 1–9 on time, can still only turn in one of Homework 10–13 late.

Academic Integrity

Students are allowed to, and even encouraged to, collaborate on homework problems. Collaborators and reference materials must be acknowledged at the top of each homework assignment. However, homework solutions must be written up independently. A student who is looking at someone else's solution or notes, whether in print or in electronic form, while writing up his or her own solution is considered to be cheating. Cases of academic dishonesty will be dealt with seriously.

Finally, looking up the solutions to homework problems completely defeats the purpose of homework assignments, which is to train a student's mind to think. Students who bypass this training will do poorly in the quizzes and in the final exam. The primary purpose of homework is not to obtain the correct solution — it is to practice thinking.

The UMBC academic integrity policy is available at:

Title IX Statement

Any student who has experienced sexual harassment or assault, relationship violence and/or stalking is encouraged to seek support and resources. Under current UMBC policy, all faculty are considered non-confidential responsible employees, meaning faculty are required to immediately share the known details of an incident of Prohibited Conduct to the Title IX Coordinator and other need-to-know University officials.

There are confidential resources available to the UMBC community. Conversations with these Confidential Resources will remain confidential, except, when there is clear and imminent danger that someone's life is at risk, there is apparent or suspected abuse of a child or dependent adult; or there is a legal obligation to reveal such information under enforceable court order. Confidential sources at UMBC include:

Additional resources (confidential, non-confidential and quasi-confidential) are listed here:

Students can utilize support from these resources even if they do not want to take any further action. Students will not be forced to file a police report, but, depending on the nature of the offense, the University may take action.

In cases of emergency, please call UMBC Police at 410-455-5555.

Complete UMBC policies and procedures are available here:

Child Abuse and Neglect Statement

Under the University System of Maryland Policy on Reporting of Suspected Child Abuse and Neglect, all members of the UMBC community have a duty to report suspected child abuse and neglect. See

Last Modified: 1 May 2020 22:56:26 EDT by Richard Chang
Back to Spring 2020 CMSC 441 Sections 02 & 01 Homepage