Home | About Us | Courses | Units | Student resources | Research |
IT Support | Staff directory | A-Z index |
M O N A T A R |
InfoTech Unit Avatar |
This field records the Chief Examiner for unit approval purposes. It does not publish, and can only be edited by Faculty Office staff
To update the published Chief Examiner, you will need to update the Faculty Information/Contact Person field below.
NB: This view restricted to entries modified on or after 19990401000000
core unit for the CS stream of the newly introduced MCS
New Unit for MCS CS stream.
Core in Masters of Computer Science, full Level 5 elective for other Masters Courses
No similar units exist in the faculty. CSE5430 is a natural extension of CSE3322. While CSE3322 (as a unit) is not a formal prerequisite, much of the material covered in CSE3322 is prerequisite knowledge for this unit
The Masters of Computer Science has been introduced as a new degree for postgraduate students to specialize in computer science with the option to continue studies at PhD level. Programming languages are one of the core topics in computer science and a solid knowledge of their foundations is expected from most computer science graduates who want to perform research. CSE5430 is one of the units communicating this knowledge.
With successful completion of the unit, the student will
(1) appreciate the importance of a rigorous treatment of the semantics of programming languages (2) will have achieved a broad understanding of the role of a semantic specification in the process of designing and implementing a language (3) know the basic different approaches for defining the semantics of programming languages: operational, axiomatic, denotational, algebraic (4) be able to write a semantic specification for simple programming language constructs (5) understand and be able to construct proof of simple program properties (6) will understand the role of a formal semantic specification in compiler generation
The subject takes a practical hands-on approach to programming language semantics where students can explore the concepts through the use of high-level tools based using semantic specification. Main topics are: Distinguishing syntax from semantics. Concrete and abstract syntax. Syntax as a basis for semantics. Outline of the main approaches for giving meaning to programming languages. Fundamental concepts of programming languages and their relation to design decisions. Examples of formal semantic specification for real-world programming languages. Semantic analysis of programming languages. Implementation of programming languages with high-level tools.
Lectures and Tutorials, Theoretical and Practical Assignments.
Lectures explain the fundamental concepts and introduce the various formalisms. They also give an introduction to computational tools that work with semantic specifications. Tutorials focus on hands-on work with these tools. As the students actively use the formalisms when working with these tools, their familiarity with the formal methods and their understanding of the strengths and awareness of the limitations of these methods is increased. Theoretical assignments focus on simple tasks, such as proofs of a particular program property, and are intended to highlight the potential use of these methods as well as pitfalls in their application.
Lectures provide the broad overview of the use of semantic specifications and elaborate on the use of semantic specifications in the process of designing and implementing a language. By embedding the use of semantic specifications into the broader context of language design and implementation the student will learn to appreciate the practical usefulness of these formal methods. The technical use of formal semantics specifications will be explained in detail in the lectures, but will mainly be practised in the tutorials through hands-on experiments. The use of tools that can actually execute these formal specifications will motivate the students and will provide a very direct and interactive learning experience. Additionally, theoretical aspects will be reinforced in written assignments.
Written theoretical assignments, practical assignments in using formal specifications and tools.
Theoretical Assignments test the in-depth understanding of the use of formal specifications to analyse or proof program properties as well as the students' ability to distinguish between different forms of semantic definitions and the understanding of their comparative advantages. Practical assignments test the students' ability to write a formal specification for given programming language constructions. The ability to understand/interpret a formal semantics specification will be tested in a mixture of both assignment forms. Where appropriate, practical assignments will also test the proficiency in the use of tools.
This unit comprises 2 hours of lecture plus 1 hour of optional tutorials per week. An additional 8 hours of private study and unsupervised pracs per week on average are estimated for review and assignment preparation.
Lecture theatre with data projection for 2 hours per week.
1 hour per week
2 hrs per week
"1.0" EAS for Lectures. Tutoring requirements depending on enrolment.
Unix account with access to the following software:
SML/NJ (free software from www.smlnj.org, already required for CSE3322); Sicstus Prolog (CSSE-wide license exists); SWI Prolog (free (lesser GNU) from www.swi-prolog.org) SOS-execution tools (requires Prolog, these tools are still in construction and will be provided by the lecturer during Semester 1)
Additional compiler construction may be required in some years. If so, freely available non-commercial tools will be used.
No new requirements, core material is available online.
100% CSSE Bernd Meyer and Maria Garcia de la Banda
none
none
CSE3322 (when considering equivalence, only that part of CSE3322 covering topic areas listed below is required) or entry to the Master of Computer Science degree
none
none
n/a
5
Semester 2, 2004
yearly
Clayton
02 Apr 2004 | Bernd Meyer | new entry; modified FacultyInformation/FIContact |
02 Apr 2004 | Bernd Meyer | |
06 Apr 2004 | John Hurst | updated prerequisites to reflect SEC discussion 6 Apr 2004 |
23 Apr 2004 | Bernd Meyer | modified ReasonsForIntroduction/RIntro; modified ReasonsForIntroduction/RRelation; modified ReasonsForIntroduction/RRelevance |
26 Apr 2004 | Bernd Meyer | modified Prerequisites/PreReqKnowledge |
26 Apr 2004 | Ronald Pose | Minor fixes before submitting for FEC approval |
13 May 2004 | Denise Martin | FEC Approval |
25 May 2004 | Annabelle McDougall | FacultyBoard Approval |
28 May 2004 | Bernd Meyer | modified ResourceReqs/SoftwareReqs |
17 Oct 2005 | David Sole | Added Software requrirements template |
21 Oct 2005 | David Sole | Updated requirements template to new format |
This version:
Copyright © 2022 Monash University ABN 12 377 614 012 – Caution – CRICOS Provider Number: 00008C Last updated: 20 January 2020 – Maintained by eSolutions Service desk – Privacy – Accessibility information |