CSC3030 Programming Paradigms 1991 - 1996.
Department of Computer Science,
Monash University, Australia 3168.
Prac' marks.
Final exam time: Friday 21 June, 13.50, Caulfield
Haskell/Gofer demonstrations have now been held.
If you have not given a demonstration see me a.s.a.p.
Contents of this page:
- 4 points, two 1-hour lectures per week
- First semester, Clayton campus
- Prerequisites: as for CSC3010 plus CSC2030
- Corequisites: CSC3010 or CSC3020
- Prohibitions: SFT2207, SFT3307
This subject examines alternative programming languages and paradigms such as
functional programming, logic programming, string processing and
object-oriented programming.
Topics include syntax and specification techniques, control mechanisms,
runtime environments, parameter passing methods, typing, polymorphic types,
operators (overloading), coercion, recursion.
Practical component: experience with some novel programming language(s).
Assessment:
Examination (2 hours) 70%.
Practical work and demonstration: 30%,
due end of
week 4 (29 March 1996),
week 6 (19 April 1996) and
week 9 (10 May 1996),
all by 5pm, electronic submission.
Demonstrations week 10 (13-17 May 1996).
Text:
D. A. Watt,
Programming Language Concepts and Paradigms,
Prentice Hall, 1990.
Recommended Text (esp' for prac' '96):
A. J. T. Davie,
An Introduction to Functional Programming Systems Using Haskell,
CUP 1992.
This course is about programming languages, their history,
their present variety and structure, and what they could become in the future.
To keep us honest there is practical work in at least
one "weird" programming language.
(It is not primarily a course about implementing programming languages
although it does touch on such matters - see CSC3170 Compilers.)
Some are troff documents and can be converted to postscript
by `groff -me -C thefile
':
After successful completion of the unit, a student will (?)
- know the major attributes by which programming languages are judged,
- be familiar with the major features of important programming languages
and their historical development,
- be able to analyse critically past, present and
future programming languages,
- be able to write non-trivial programs in at least one novel
programming language.
Copyright ©
L. Allison,
Department of Computer Science, Monash University, Australia / 1991 - 1996