Carleton University
School of Computer Science
95.501 Foundations of Object-Oriented Programming Languages
Fall 2001



Instructor:

D. Deugo HP 5356 ext. 8438

Description:

Object-Oriented programming, design and implementation from first principles to advanced concepts. Possible topics include: needs-driven designing, metaleval programming, visual programming, event-oriented programming, web-related applications, subtyping/subclassing/is relationships, futures, and proxies, distributed applications.

 
Warning: Due to problems with the course calendar, the abstract for 95.501 does not adequately reflect the course's content. In addition to the object-oriented programming paradigm, the course will also cover the functional and the logic programming paradigms and how the three relate to one another. The unifying theme between the three paradigms is their ability to create abstractions, and after taking the course you will be in a better position to create effective and powerful object-oriented abstractions. The computer language used for the course will be Scheme. If you are taking the course to learn Java,C++, or Smalltalk you should take 95.105, 95.106, or 95.202 instead. If you want a 'pure' object-oriented graduate course, 95.514 would be a better selection. Note, 95.501 is no longer a prerequisite for 95.514.

References:

H. Abelson and G. Susmann, Structure and Interpretation of Computer Programs, Second Edition, The MIT Press, 1996, ISBN 0-262-01153-0 (MIT Press hardcover) or ISBN 0-07-000484-6 (McGraw-Hill hardcover). There is also an online version available: http://sicp.arsdigita.org/text/sicp/

Laboratory:

The computer laboratories for this course are located in rooms 4115, 4125/27, 4155 and 4175 HP. They are equipped with Pentium computers with MMX technology, running Windows NT Workstation 4.0 connected via a network to printers and a file server. Printers are centrally located in 4155 HP. Students are permitted to use their own facilities, but must acquire their own software to run on their own machines.

Diskettes:

In order to use the laboratory, you need 3-4 blank diskettes (for programs, data, backups and for handing in assignments. They should be 3.5 inch, double sided, high density (1.4 MB). These can be purchased from the Computer Store, in Southam Hall, for a nominal fee. DO NOT USE LOW DENSITY DISKETTES.

Software:

Scheme is provided on all laboratory computers. The Software is free and can be downloaded off the World Wide Web at MIT Scheme.

Assignments:

You should take the time to ensure that assignments are neat, legible and easy to understand. Any instructions required by the instructor (for example any assumptions you made about the assignments) should be clearly indicated on a separate sheet of paper, included at the front of the assignment. Remember that it is YOUR responsibility to demonstrate that you have understood and completed the assignment. A significant portion of your grade for assignments will be given for the readability of them and for your demonstration that you have completed the assigned tasks.
Assignments must be handed in before or on the due date and time. NO LATE ASSIGNMENTS WILL BE ACCEPTED. All assignments should be submitted in an envelope with your name and student # marked on the outside, on both sides. A working disk copy of any software written should be included as well, with instructions as to how to execute your code.
Students must retain all assignments in case of questions regarding correctness of recorded marks. The marks will be posted on-line. The students should ensure that the posted marks are correct. Any complaints regarding assignment marks should be brought to the attention of the instructor no later than two weeks after the assignment has been handed back in class. After this time, no remarking will be done.
Copying of assignments is strictly disallowed. On the first occasion, all students involved will be given a mark of 0. On subsequent occasions, students will be asked to withdraw from the course.

Office Hours:

A schedule for office hours will be posted on the network the second week of classes.

Marking Scheme:

Assignments 50% (3 or 4 of them)
Project 25% (Due Nov. 30)
Final Exam 25% (take-home)
 
Passing grades on the term work (assignments) and the (project + final exam) are required to receive a passing grade for the course.

Course Web Page:

As well as being announced in class, all important information, such as course news, assignments and office hours, will be available on the course web page at http://www.scs.carleton.ca/~deugo/95501. It is the student's responsibility to check this web page for new information.

Note:

Students with disabilities requiring academic accommodations in this course are encouraged to contact a coordinator at the Paul Menton Centre for Students with Disabilities to complete the necessary letters of accommodation.  After registering with the PMC, make an appointment to meet and discuss your needs with me at least two weeks prior to the first in-class test or itv midterm exam.  This is necessary in order to ensure sufficient time to make the necessary arrangements.

Copyright © 2001 School of Computer Science

Last updated August, 15, 2001
Please email comments and questions to Dr. Deugo