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