Skip to content | Change text size

M O N A T A R

InfoTech Unit Avatar

CSE5340 Programming Language Concepts and Semantics

Chief Examiner

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

Unit Code, Name, Abbreviation

CSE5340 Programming Language Concepts and Semantics (02 Apr 2004, 12:40pm) []

Reasons for Introduction

Reasons for Introduction (23 Apr 2004, 09:39am)

core unit for the CS stream of the newly introduced MCS

Reasons for Change (26 Apr 2004, 2:35pm)

New Unit for MCS CS stream.

Role of Unit (02 Apr 2004, 12:42pm)

Core in Masters of Computer Science, full Level 5 elective for other Masters Courses

Relationship of Unit (23 Apr 2004, 09:41am)

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

Relevance of Unit (23 Apr 2004, 09:41am)

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.

Objectives

Knowledge and Understanding (Cognitive Domain Objectives) (02 Apr 2004, 2:22pm)

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

Unit Content

Summary (02 Apr 2004, 2:26pm)

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.

Recommended Reading (06 Apr 2004, 10:51am)

Teaching Methods

Mode (02 Apr 2004, 2:27pm)

Lectures and Tutorials, Theoretical and Practical Assignments.

Strategies of Teaching (02 Apr 2004, 2:27pm)

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.

Teaching Methods Relationship to Objectives (02 Apr 2004, 2:28pm)

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.

Assessment

Strategies of Assessment (02 Apr 2004, 2:28pm)

Written theoretical assignments, practical assignments in using formal specifications and tools.

Assessment Relationship to Objectives (02 Apr 2004, 2:29pm)

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.

Workloads

Workload Requirement (02 Apr 2004, 2:31pm)

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.

Resource Requirements

Lecture Requirements (02 Apr 2004, 2:32pm)

Lecture theatre with data projection for 2 hours per week.

Tutorial Requirements (02 Apr 2004, 2:32pm)

1 hour per week

Laboratory Requirements (02 Apr 2004, 2:33pm)

2 hrs per week

Staff Requirements (02 Apr 2004, 2:34pm)

"1.0" EAS for Lectures. Tutoring requirements depending on enrolment.

Software Requirements (21 Oct 2005, 1:04pm)

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.

Library Requirements (02 Apr 2004, 2:35pm)

No new requirements, core material is available online.

Teaching Responsibility (Callista Entry) (26 Apr 2004, 2:37pm)

100% CSSE Bernd Meyer and Maria Garcia de la Banda

Interfaculty Involvement (02 Apr 2004, 2:35pm)

none

Interschool Involvement (02 Apr 2004, 2:36pm)

none

Prerequisites

Prerequisite Units (06 Apr 2004, 10:44am)

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

Corequisites (02 Apr 2004, 2:38pm)

none

Prohibitions (02 Apr 2004, 2:38pm)

none

Alias Titles (02 Apr 2004, 2:39pm)

n/a

Level (02 Apr 2004, 2:39pm)

5

Proposed year of Introduction (for new units) (02 Apr 2004, 2:40pm)

Semester 2, 2004

Frequency of Offering (02 Apr 2004, 2:40pm)

yearly

Location of Offering (02 Apr 2004, 2:41pm)

Clayton

Faculty Information

Proposer

Bernd Meyer

Approvals

School:
Faculty Education Committee: 13 May 2004 (Denise Martin)
Faculty Board: 25 May 2004 (Annabelle McDougall)
ADT:
Faculty Manager:
Dean's Advisory Council:
Other:

Version History

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: