Required Text: Skiena, The Algorithm Design Manual, Telos, 1997.
This course provides an introduction to a variety of Algorithms that reoccur in computer science literature and applications. These include common sorting and searching algorithms, and algorithms in the areas of string processing, geometry, and graph theory. This course also provides an introduction to the mathematical analysis of the complexity and performance of algorithms.
|
Weeks 1-3: | What is an Algorithm? Analysis of Algorithms, Practical Considerations Review of Data Structures: Stacks, Queues, Trees, Graphs |
| Week 4: | Dynamic Programming, Divide-and-Conquer Algorithms |
| Week 5: | Graph Algorithms and MidTerm |
| Week 6: | Combinatorial Search and Heuristic Methods |
| Week 7: | Intractable Problems and Approximations |
| Week 8: | How to Design Algorithms |
| Weeks 9 and 10: | Algorithmic Problem Presentations |
| Homework Assignments | 10% | |
| Presentations, In-Class Activities | 30% | |
| Programming Projects | 30% | |
| Two Exams Midterm (tentatively Wed 4/29), Final Exam (Tues 6/9, 8 am) | 30% |
Two documents, the CS Program Style Guide and Documentation Standards, describe the programming style and documentation standards for this course. Following these standards is an important step towards writing well-structured and reusable programs. The CS Program Style Guide also describes the 20-point program grading scale used in this course.
Reading assignments, homework assignments, announcements, class notes, and other material will be made available under the CS 510 World Wide Web homepage. Students are responsible for checking this resource frequently. Some presentations or projects may involve working in small groups; these will be clearly identified as group activities. The default, however, is that all work should be your own work.
Any student with a disability who needs an accommodation or other assistance in this course should make an appointment to speak with me as soon as possible.
![]() CS 510 Home |
![]() News |
![]() Homework |
![]() Class Projects |
![]() Class Notes |
![]() Syllabus |
![]() Bibliography |