Background: Students are expected to be familiar with elementary data structures and algorithms, and have some experience with programming in C++ (preferably in a Unix environment). The student is expected to make up for any deficiency in the above on their own. Undergraduate students are welcome with the permission of the instructor (ask the instructor).
The focus of the class is not so much software engineering per se (for that, you might be more interested in CS 910) but rather to implement algorithms and data structures. Therefore, a background in software engineering is welcome, but not necessary.
Textbook: Modern C++ Design: Generic Programming and Design Patterns Applied, by Andrei Alexandrescu, Addison Wesley Longman, Inc., 2001.
Recommended books: book chapters
and papers will be handed in class and posted on the web site.
Nevertheless, the references and links sections of this web site contain books, papers, and online material.
Grading policy: The class will consist of short programming homeworks, and either a one-hour presentation or a final project. The short programming homeworks will be given roughly every other week and will count for 50% in the final grade. Full grades will be given to submissions that appear to be a reasonable effort.
The final project will count for 50% and will consist of designing a project of the student's choice, in accordance with the instructor, and of a final presentation. As a substitute for the final project, students can read a few papers and give a short presentation (about one hour) on a paper, algorithm, or library of their interest in the spirit of the class (discuss this possibility with the instructor.)
General instructions for programming assignments: Discussions among students is permitted and encouraged. When it comes to writing the code, however, this must be solely your own work!
Course webpage: A course webpage is available at htpp:/my.poly.edu/. Announcements will be posted regularly, so students are expected to check the page regularly. The old course web page for Spring 2002 is still available (with links, lecture titles, and examples) at http://photon.poly.edu/~hbr/cs903/. All dated material referring specifically to the Spring 2002 (homework, etc.) is password protected.
This syllabus is accessible in Pdf.