Syllabus
Course Description
This course studies fundamental algorithms, strategies for designing algorithms, and mathematical tools for analyzing algorithms. Algorithm design strategies include the greedy method, divide-and-conquer, and dynamic programming. Students will learn to design new algorithms based on standard design strategies, to analyze the time and space usage and correctness of algorithms, to apply and adapt fundamental algorithms to new problems, and to solve problems and to express their solutions using the language and concepts of algorithms and related mathematical tools.
Objectives
The objectives of this course are:
- To understand the importance of algorithms in applications
- To understand and apply common algorithms and data structures
- To understand and apply tehniques to analyze the performance and correctness of algorithms
- To understand and apply design principles to the development of new algorithms
- To understand concepts of complexity and the relative difficulty of computational problems
Required Textbook
The textbook Introduction to Algorithms, 3rd Edition by Cormen, Leiserson, Rivest, and Stein is strongly recommended. Homework exercises will be assigned directly from the textbook. Also, you will find it very helpful for filling in any material you missed during lecture.

Lectures and Readings
You are expected to attend all lectures for this course and are responsible for all material covered in class. If you should happen to miss a lecture, you are responsible for getting any missed notes or announcements from a classmate.
Schedule
The course schedule includes lecture topics, quiz dates, and due dates for projects.
Grading and Late Assignments
Your grade in this course is calculated from points earned on quizzes, homework, a project, and a final exam. There are 500 points available.
Item | Points | # | Total |
---|---|---|---|
Quizzes | 50 | 5 | 250 |
Homework | 10 | 5 | 50 |
Project | 50 | 1 | 50 |
Final Exam | 150 | 1 | 150 |
TOTAL POINTS | 500 |
Letter grades will be assigned according to the following point distribution:
Grade | Point Range |
---|---|
A | 450–500 |
B | 400–449 |
C | 350–399 |
D | 300–349 |
F | 0–299 |
Please be aware of the course policies regarding late assignments and make-ups:
- Late assignments will not be accepted unless authorized in advance.
- Make-up quizzes and exams will only be given for documented medical, personal, or family emergency.
Homework and Quizzes
The course is organized into five units. For each unit, there will be a homework assignment (worth 10 points) and a unit quiz (worth 50 points). The homework assignments are intended to help you prepare for the quizzes. Late homework will not be accepted unless authorized in advance. Make-up quizzes will only be given in cases of documented medical, personal, or family emergency.
Project
There will be one project during the semester (worth 50 points). The project must be completed individually unless explicitly stated otherwise. Details of the projects will be announced closer to the assignment dates and will be posted on the projects page.
Final Exam
The exam will be cummulative and will include problems similar to those in the homework and quizzes.
- Section 03 (MoWe): TBD.
- Section 05 (TuTh): TBD.
Blackboard
All grades and course announcements will be posted on Blackboard. Please contact Prof. Marron if you have difficulty accessing the class Bb site.
Academic Conduct Policies
By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC’s scholarly community in which everyone’s academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong. Academic misconduct could result in disciplinary action that may include, but is not limited to, suspension or dismissal. To read the full Student Academic Conduct Policy, consult the Academic Integrity Resources for Students page, the Faculty Handbook (Sections 14.2-14.3), or for graduate courses, the Graduate School website.
If you need help with a project or lab, see your instructor or TA. You are encouraged to make full use of textbooks and the course web pages.
The following is a non-exhaustive list of specific Academic Conduct violations:
- Copying code or homework solutions from another student
- Being in possession of another student's code or homework solutions
- Providing your code or homework solutions to another student
- Failing to secure hardcopies of your code or homework solutions
- Typing code or homework solutions read from another student's screen
- Submitting code or homework solutions found on the Internet as your own work
Your projects and homeworks will be checked for similarities with all other student work. If your assignment is found to be “substantially similar” to that of another student, or if it is determined that someone else completed the assignment for you, then you and the other student (if applicable) will, at a minimum, receive a grade of zero for that assignment.
Any second Academic Misconduct incident will result in a grade of ‘F’ for the semester.
Note that checking for cheating may occur at any time during the semester. Therefore, if you cheated on Homework 1, you may be confronted about that assignment at any time during the semester. Receiving a grade for a project does not mean that you are “in the clear.”
Any act of academic misconduct will reported to the University’s Academic Conduct Committee for further action, which may include, but is not limited to, academic suspension or dismissal from the University.