1.CSE3322
Handbook entry
1.1. Prerequisite knowledge
- Advanced C programming including recursion
- Elementary data structures including lists and binary trees
- Familiarity with an object-oriented programming language
- Deterministic and non-determinstic finite state automata
- Context-free grammars
Completion of CSE2303 or CSC2030, CSE2304 or CSC2040, and CSE2305 or CSC2050 or equivalent subjects.
1.2. Relationship to following subjects
Not available
.
1.3.Prescribed texts and software
There are no prescribed texts. Students will need to use SML/NJ.
1.4. Recommended references
- J.D. Ullman. Elements of ML Programming.
Prentice Hall, 1998.
- L. Sterling and E. Shapiro. The Art of Prolog (2nd Ed.).
MIT Press, 1994.
- D. Watt. Programming Language Concepts and Paradigms.
Prentice Hall, 1990.
- R. Sethi. Programming Languages: Concepts and Constructs.
Addison-Wesley, 1989.
- A. Aho, R. Sethi and J. Ullman. Compilers: Principles,
Techniques and Tools. Addison-Wesley, 1986.
- R. Wilhelm and D. Maurer. Compiler Design.
Addison-Wesley, 1995.
- A.W. Appel. Modern Compiler Implementation in ML.
Cambridge University Press, 1997.
You can download SML from the
SML/NJ website
1.5. Computing and Laboratory Requirements for the
Subject
Students need access to a laboratory running SML/NJ.
1.4. Subject structure and organisation
We will
- Overview the programming language landscape and
the four major language paradigms
--procedural, object-oriented, functional and logic--
and examine functional programming in detail.
-
Discuss implementation of programming languages
and compiler-generation
tools, such as ML-flex and ML-yacc, which facilitate this process.
Lectures will cover the following:
- the functional programming language, SML (9 lectures);
- programming language paradigms, concepts and issues (4 lectures);
- implementation of programming languages (11 lectures).
In addition there will be two revision lectures.
1.6.1.
Subject structure by Lecture
To be completed.
1.6.1. Subject structure by Topic
To be completed.
1.7. Study materials
We provide:
-
Subject overview handout
-
4 assignment specifications
-
A sample examination paper
Lecture notes are also available:
- Introduction lecture:
PDF 1 slide per page,
PostScript 1 slide per page,
PDF 2 slides per page,
PostScript 2 slides per page.
- ML lectures:
PDF 1 slide per page,
PostScript 1 slide per page,
PDF 2 slides per page,
PostScript 2 slides per page.
- Programming Paradigm lectures:
PDF 1 slide per page,
PostScript 1 slide per page,
PDF 2 slides per page,
PostScript 2 slides per page.
- Programming Language Implementation lectures (all PostScript 1 slide per page)
Lecture 1,
Lecture 2.
Lecture 3,
Lecture 4.
Lecture 5,
And answers to selected homework questions (later)
1.8. Assessment
The assignments (30% weighting) and a
three hour examination (70% weighting)
will be used to assess whether you have achieved the
objectives of this subject.
-
Four assignments (total
assessment value 30%)
Assignment 1, Value 5%,
Due Thursday 8th August, Basic ML Programming
Assignment 2, Value 10%,
Due Thursday 5th September, Advanced ML Programming
Assignment 3, Value 10%,
Due Thursday 26th September.
Assignment 4, Value 5%,
Due Thursday 24th October.
Assignments should be received on or before the due
date. Late submissions will be penalised at the rate of
5% per day penalty rate
. They will not be accepted more than one week after the due date. If you believe that
your assignment will be delayed because of circumstances
beyond your control such as illness you should apply for
an extension before the due date. Medical
certificates or certification supporting your
application may be required.
-
A "closed book" examination, 3 hours, (assessment
value 70%).
It is perhaps necessary to point out what should be
obvious, namely that the examination will test to see
whether you have met the objectives listed at the start of
each of the Study Guides.
1.9. Plagiarism
It is important that your solutions to the assignment
questions be your own work. It is perfectly acceptable to seek
help and advice when completing the assignments, but this must
not be taken to the point where what is submitted is in part
someone else's work.
Please note that, since the assignments are used in assessing
your final grade in this subject, the following Faculty policy applies.
"Students should note that cheating is regarded as a very
serious offence which is likely to lead not only to failure
in the subject concerned but also to additional penalties
including exclusion. Students should carefully note that
the taking of any unauthorised material into examinations
such as notes and unauthorised dictionaries will be regarded
as cheating. Students should also note that essays,
assignments and other work are generally understood to be
the student's own work and where such work is identical
with, or similar to, another student's work, an assumption
of cheating may arise. Where students wish to undertake work
in conjunction with other students, it is suggested that the
matter be discussed with the lecturer concerned."
Faculty of Computing and Information Technology Handbook
1.10. Communication
Your lecturers for this subject are:
Kim Marriott and Bernd Meyer
If direct communication with your lecturer is needed
you may contact Kim Marriott at:
Email: Kim.Marriott@infotech.monash.edu.au
Phone: (03) 9905 5525
Fax: (03) 9905 5146
Room 119 Building 26, Clayton Campus
And Bernd Meyer at:
Email: Bernd.Meyer@infotech.monash.edu.au
Phone: (03) 9905 2240
Fax: (03) 9905 5146
Room 115 Building 26, Clayton Campus
Consultation times for this subject are 2-4pm Tuesday. The lecturer will probably not be available at other times unless an
appointment has been previously arranged by email or telephone.
For help with the programming aspects of this subject, students
are advised to attend the non-compulsory practice classes
held 1-2pm Fridays in Room 137 Building 63.
All email communication to you from your subject
adviser assumes your student email address is read
regularly. Please arrange for your email to be forwarded
to your main address if this is not the case.
1.11. Assignment Preparation Guide
1.11.1.
Assessment assignment 1: <Basic ML Programming>
Total marks: 5
Assessment value : 5%
Due date: 5pm August 8th
Please get your assignment marked in the optional practice class
or if this is not possible, use /cs/cc/bin/submit to electronically submit your
assignment.
Assignment 1 Handout
1.11.2.
Assessment assignment 2: <Advanced ML Programming>
Total marks: 10
Assessment value : 10%
Due date: 5pm September 5th
Please use /cs/cc/bin/submit to electronically submit your
assignment.
Assignment 2 Handout
Copyright 1999 Monash University - All Rights Reserved - Disclaimer
First published: 17/7/01,
Last Updated:
15/7/02 by
Kim Marriott
Maintained by
marriott@mail.csse.monash.edu.au