TextBook
There is no specific required textbook because the lectures will not be following the standard textbook structure.
You are expected to have an algorithms textbook that you can use to supplement the lectures and learn about the fine points of the algorithm and proof techniques discussed in lecture.
Here are some recommended books:
Cormen, Leiserson, Rivest, and Stein. Introduction to Algorithms, 3rd edition, 2009. ISBN: 9780262033848
Goodrich and Tammasia. Algorithm Design and Applications, 2014. ISBN: 1118335910.
Kleinberg and Tardos. Algorithm Design, 2005. ISBN: 9780321295354
The Cormen book is available at the bookstore..
Assessment 
The goal of the class is to have you learn:
- The main algorithm design techniques.
- how to determine which algorithm technique to use for a problem.
- how to design a correct algorithm.
- how to prove that an algorithm is correct.
- how to analyze the running time of an algorithm
.
Mastering these skills requires practice and repetition. The course and the assessment are designed accordingly with multiple times to be assessed on a skill with each time receiving a larger weight toward your final grade.
The class will use the grading scale:
90%=A, 80%=B, 70%=C, 60%=D.
The primary assessment in the class are the tests and final exam. The main test questions and the exam will be graded with the following rubric:
Test and Exam Rubric |
A | You can identify the proper algorithm technique to use for the problem. You can design a correct and efficient algorithm with a proper proof that your algorithm is correct. You can analyze the running time of your algorithm. |
B | An A answer with significant errors, or you do not find the optimal algorithm but you can use the class techniques to design an algorithm that asymptotically beats brute force, and you can prove that your algorithm is correct. You can analyze the running time of your algorithm. |
C | A B answer with significant errors, or you can identify the proper algorithm technique for the problem, and you can give a good justification for why that technique is correct. You can analyze the running time of an algorithm. |
D | You can identify algorithm techniques that are not appropriate for a specific problem, and you can give a good justification for your answer. |
The grading rubric for the quizzes and homework and supplemental test questions will be adjusted according to the specific focus of those exercises.
Class work
Homework: (10% of your grade) There will be homework every week.
You are strongly recommended to start working on the homework questions as soon as they are assigned.
You are welcome to use any resource (book, internet, another student, etc.) to help you answer the question. However, if you use a resource beyond the course textbook on a problem you submit for grade, you must acknowledge it on the homework solution. There is no deduction for using extra resources as long as you write your answer in your own words. Not acknowledging a resource you used is an academic offense.
Note that this permits you to look up the answers to homework questions, but you are strongly encouraged to not do that until you have spent multiple hours and attempts to solve the problem.
Quizzes: (10% of your grade) There will be a quiz most Mondays. The quiz must be taken in class and there will be no makeup quizzes given. All quizzes must be taken without the text or any notes. The quiz question will be either exactly the same as a homework problem or very similar.
To get the most out of this class, you are expected to spend significant time working on the homework questions before the quiz date.
The purpose of the quiz is to see how much you have retained of your homework solution and to give you feedback on your solution. The quiz is the first time you will be assessed on the material. You should then take your feedback from the graded quiz and use it to adjust your homework answers so that the submitted homework is the second time you are assessed on the material.
Warning! Because the homework and quizzes are weighted very lightly, you may be tempted to not spend time on them. This is the wrong conclusion! Most students will struggle the first time through the material. The weighting of the quizzes and homework reflects that, but for this to work you should give as much time to working on the quizzes and homework as you do on the tests.
Tests: (30% of your grade) There will be four tests during the term. September 20, October 11, November 1, and November 22. The tests will cover exactly the material from the previously submitted homework questions. The tests will require the same techniques as used in the homework even though the test questions may not look similar to the homework questions. The test will be the third time you are assessed on the class material.
Final Exam: (50% of your grade) The final exam is three hours and at a time and place listed on SIS. The final exam is weighted heavily because this will be the fourth time you are assessed on the material.
The "I do not know" rule. Because of the challenging nature of this subject, there will be times that, no matter how hard you work or how long you study, you just can figure out how to start on a problem. If this happens on a test or exam question, you will receive 45% if you answer simply "I do not know how to answer this question." As indicated, you will receive partial credit for understanding when you do not understand something. An answer that does not demonstrate knowledge of class techniques can earn less than 45%, and a blank answer will earn 0.
As a consequence of the "I do not know rule", you must score above a 50% on the final exam to pass the class.
Exam Proctoring
Register for the proctor mid term exam date and final exam date using ProtorU.