Official Course Description. This course examines the major paradigms underlying modern programming languages. The course currently focuses on object-oriented and logic programming. The rationale of the paradigms is discussed along with typical programming idioms used with them. Programming exercises are used to illustrate concepts--the course does not aim to make students proficient programmers in all the language that will be studied.
This semester, we will use Java and C++ to illustrate object-oriented concepts. You'll be free to use either language for the programming assignments. The language Prolog will be used to illustrate logic programming.
Prerequisites. CS142 or consent of instructor.
Location and Times. Snell 213, MWF 2:00-3:00.
Instructor. Alexis Maciel. Science Center 379, 268-2385, firstname.lastname@example.org.
Office Hours. Monday to Friday 3:00-4:00, and by appointment.
Thimothy Budd, Understanding Object-Oriented Programming with Java, updated edition, Addison-Wesley, 2000. (ISBN 0-201-61273-9)
Topics to be covered. Logic programming: basic Prolog syntax, unification and variable instantiation, backtracking, input/output, file handling, arithmetic, lists, conditional execution, cuts, repetition through backtracking, tail recursion, trees, and sorting. Object-oriented programming: object-oriented design, inheritance, polymorphism, software reuse, and, if time permits, design patterns.
Grading. Final grades in the course will be computed according to the following scheme:
The average grade on Tests 1 and 2 will replace any lower grade on a logic programming quiz. The average grade on Test 3 and the final exam will replace any lower grade on an object-oriented programming quiz. Tentative dates for the tests: September 26, October 24 and November 16. All students are required to write the final exam (no A or B exemptions).
Policy for missed work. There will be no make-up assignments or quizzes. Late assignments may be accepted if a good excuse is provided and if arrangements are made at a reasonable time, in advance, if possible. Make-up tests can be arranged under the same conditions. Other special arrangements can be made for students forced to miss more than a few days of class.