| Instructor: | Iluju Kiringa |
| Email: | kiringai@cs.toronto.edu |
| Office Hours: | TBA |
| Office: | Sanford Fleming Building 4301E |
| Lectures: | Day Section: TR 1-2pm (SS2102) / Evening Section: R 7-9pm (SF1101) |
| Tutorials: | Day Section: TR 2-3pm (SS2102 & SS620) / Evening Section: R 6-7pm (SS2102 & SS2106) |
| Notes Online: | Most material for this course is available here |
| Tutorials Online: | Most Tutorials for this course are available here |
| News Group: | You must read the CSC 324 newsgroup for announcements |
| Tutors: | Catherine Stinson (SS2102) |
| Eric Joanis (SS620) | |
| Peeter Piegaze (SF1101) | |
| Marcus Santos (Eric Harley) (SF1105) | |
| Ryan Meredith-Jones (SF3109) | |
Watch the page for homeworks, due dates for assignments, exam dates and locations, and the like.
The course offers an introduction to alternative paradigms for
programming, illustrated by particular programming languages. Students
already familiar with the procedural approach of languages such as Turing
or C will learn about object-oriented languages (illustrated by C++),
functional programming (illustrated by Scheme) and logic programming
(illustrated by Prolog). Additional topics in principles of programming
languages will also be presented.
Exclusion: CSC248H
Prerequisite: CSC238H/MAT246Y, CSC148H
This course has four goals:
Overview of procedural programming languages, parameter passing, procedure activation, data structures layout; data encapsulation, inheritance, polimorphism, and object-oriented programming using C++; recursion, second-order and functional programming using Scheme; notion of logic programming using Prolog.
R. Sethi, Programming languages: concepts and constructs, 2nd ed., Addison Wesley, 1996
R. Sebesta, Concepts of Programming Languages 3rd ed., Addison Wesley, 1993
S. Lippman, C++ Primer, 3rd ed., Addison-Wesley, 1998
B. Stroustrup, The C++ Programming Language, 3nd edition, Addison Wesley, 1997
Dybvig, The Scheme Programming Language, Prentice-Hall, 1987
Friedman, Scheme and the Art of Programming, MIT Press and McGraw-Hill, 1989
W. Clocksin and C. Mellish, Programming in Prolog, 4th ed., Springer-Verlag, 1994
The coursework consists of four assignments, a midterm and a final. The midterm exam is worth 20%. The four assignments are worth 40%. Quizzes are worth 5%. Finally, the final exam is worth 35%.
Assignments should be turned in during the first 10 minutes of lecture on the due date. Electronic submissions must be made on the due date 30 minutes before turning the hard copy in. Penalty for late projects: 10% reduction per day up to 7 days (penalty calculated on actual assignment mark). No assignment will be accepted 7 days after the due date. Late assignments must be turned before 5pm in TBA to be counted for that day.
Extensions to assignment deadlines will only be granted for medical reasons. For that, you need to present an official doctor's note stating the period during which you are unable to do coursework .
Please work on the assignments alone; avoid plagiarism which is a serious academic offense. It is a current practice to exchange ideas with fellow students, but your answers should be clearly formulated as your own.
The programming assignments will make use of the CDF Unix facilities. Although you may do your work at your home PC, all assignments should be uploaded and run on CDF machines in order to receive credit for them. Those unfamiliar with CDF should find information in the CDF home page useful.
Some of the course material will be available online. It will be announced in class when this material is available. It is your responsibility to obtain this information on time.
A course newsgroup, ut.cdf.csc324, will be installed and used as a forum for posting notices of general interest to the class. To read this newsgroup from CDF, type rn ut.cdf.csc324h. To post to this newsgroup, mail to ut.cdf.csc324h@cdf.