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.
The objectives of this course are:
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.
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 or a lab, you are responsible for getting any missed notes or announcements from a classmate.
The course schedule includes lecture topics, quiz dates, and due dates for homeworks.
Your grade in this course is based on homeworks, quizzes, projects, and a final exam as follows:
Item | Weight |
---|---|
Homework Average (best 10 scores) | 25% |
Quiz Average (best 5 scores) | 25% |
Project Average | 20% |
Final Exam | 30% |
Letter grades will follow the standard scale: A ≥ 90, 90 > B ≥ 80, 80 > C ≥ 70, 70 > D ≥ 60, 60 > F.
All grades will be posted on Blackboard.
Your grade is based on timely work accomplished during the semester. Late assignments will not be accepted unless authorized IN ADVANCE. Make-up exams will only be given for documented medical illness, family emergency, or other dire circumstances.
There will be 13 homework assignments; your best 10 scores will be used to compute your final homework average. There are no make-ups for homework assignments. Homework assignments will be posted on Blackboard.
Homework submission:
There will be six quizzes during the semester; your best five scores will be used to compute your final quiz average. There are no make-ups for quizzes except in the case of documented illness or personal emergency. Quiz problems will be similar to problems from completed homeworks.
There will be two projects during the semester. You may complete the projects individually or with a partner; larger groups will not be permitted. If you choose to work with a partner, the two of you may share code and information freely with each other. This is an exception to the Academic Conduct policy; however, this does not authorize you to share code or information with any other students — the Academic Conduct policies apply to all other interactions. Partner submissions must be clearly marked with both students' names.
Details of the projects will be announced closer to the assignment dates and will be posted on the projects page.
The exam will be cummulative and will include problems similar to those in the homework and quizzes. The two sections have different exam times:
All grades will be posted on Blackboard. Also, I will use Bb for all course announcements. Please contact me if you have difficulty accessing the CMSC 441 Bb site.
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. 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:
Your projects and homeworks will be checked for similarities with all other student work. If your project is found to be “substantially similar” to that of another student, or if it is determined that someone else wrote your project for you, then, at a minimum, you and the other student (if applicable) will receive a grade of zero for that project and a 10 point deduction (one letter grade) in your semester average. Furthermore, all parties concerned will have their prior projects re-checked for cheating. Any second 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 Project 1, you may be confronted about that project 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 BE 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.
Please reserve email for topics that cannot wait until class or office hours. For example, if it is the day a project is due, and you have a family emergency, it is appropriate to send me an email so that I know you will not be able to complete the project on time (of course, you'll still need to provide documentation of the emergency!). Questions about course content will be answered in class unless there is a clear need for a quicker response.