Our course syllabus is a wiki. It is subject to update throughout the semester.
| Course Wiki: | http://www.cs.vassar.edu/courses/cs241-200901/top |
|---|---|
| Professor: | Jenny Walter |
| Office: | OLB 124 |
| Office Hours: | Mon/Wed 1-2:30pm, by appointment, or anytime you find me idle in my office |
| Phone: | 437 7449 |
| Email: | walter@cs.vassar.edu |
| Lectures: | Tue/Thu 4:35-5:50pm, OLB 105 |
Cormen, Leiserson, Rivest, and Stein Introduction to Algorithms, 2e, MIT Press, 2001.
Available in the bookstore.
Algorithmics is also known as the analysis of algorithms. This analysis transcends the specific limitations of any particular programming language or computing platform. To describe a problem algorithmically is to define the set of possible input and output instances and to provide each step of the problem solution in sufficient detail for that step to be converted into a form that is understood by a computer. The analysis of algorithms involves the estimation and comparison of the time and space requirements of different algorithmic solutions for a particular problem. Generally speaking, the efficiency is described as a function of the size of the input.
Obviously, an efficient algorithm that produces incorrect output is not useful. Therefore, our job as algorithm analysts also requires us to prove that each particular algorithm will produce the correct output for every possible input instance.
Comparing the relative efficiency of algorithms and proving algorithm correctness are fundamental skills that must be mastered by every computer scientist. Practically speaking, efficiency and correctness are serious concerns of every person that will potentially use an algorithm. Algorithms that consume large quantities of data or that model large, complex systems are an integral part of most modern-day scientific disciplines, as well as many non-science-oriented fields. An algorithm that can be shown to solve a problem (i.e., process the input to produce the correct output) faster or using less memory is more efficient than one that solves the same problem slower or using more memory.
By the end of the semester you should:
Lecture slides will be distributed prior to their presentation in class as an aid to note-taking and will be posted at a link on this web site.
The assignments will have cumulative weight that is equal to one exam (each exam will account for roughly 20% of the grade). Assignments are designed to emphasize only recently-covered material and, once assigned, will generally be due at the start of the next class period. Exams and will either be given in class or take-home and will be open-book and open-note format. The dates given above for the exams may be subject to change.
Note: You must have both a passing cumulative score on the assignments and a passing cumulative score overall in order to pass this course.
I encourage you to discuss ideas for assignment solutions with your classmates and to form study groups. However, be aware that you must include names of collaborators and outside sources as part of your assignment submission. Assignments are designed to prepare you for exam questions and significant discrepancies between your performance on assignments and exams will be taken into consideration in your final grade.
Any collaboration of which I am not informed will be considered as a violation of academic integrity.
Any student(s) suspected of going beyond the limits of academic integrity will be referred to the Dean of Students and the Academic Panel.
All assignments are due at the start of class on the date specified.
Late assignments will not be accepted UNLESS I am informed before-hand about the reason for the late submission or if you can produce a valid excuse.
If you do not get permission from me to submit an assignment after the deadline and you lack an official excuse, you will receive a score of 0 for the assignment.
Valid excuses must come through Baldwin Health Services or from the Dean of Studies office or be approved in advance by the instructor.