• Class Number 5817
  • Term Code 3360
  • Class Info
  • Unit Value 6 units
  • Mode of Delivery In Person
  • COURSE CONVENER
    • Peter Hoefner
  • Class Dates
  • Class Start Date 24/07/2023
  • Class End Date 27/10/2023
  • Census Date 31/08/2023
  • Last Date to Enrol 31/07/2023
  • TUTOR
    • Abhaas Goyal
    • Weiyou Wang
SELT Survey Results

“Programming languages are the medium through which we describe computations. More specifically, we use the model provided by a programming language to discuss concepts, formulate algorithms, and reason about problem solutions. Programming languages define models tailored to thinking about and solving problems in intended application areas. For example, the C language provides a model close to a computer’s underlying hardware […]. The languages used in practice change continuously as advances in our field and the broadening uses of technology change how we model and express computation. At its core, the study of programming languages examines the principles and limitations of computing (or programming) models, the effective design and use of systems or languages based on these models, and methods to compare their relative strengths and weaknesses in particular contexts.” [Why Undergraduates Should Learn the Principles of Programming Languages, ACM SIGPLAN Education Board, February 6, 2011, Page 1]


This course is an introduction to the theory and design of programming languages. To develop high-assurance software - software for which we can give strong evidence that the software will do what it is supposed to do and nothing more - a formal description of the 'meaning' and behaviour of programs is required. Hence two fundamental aspects of the study of programming languages are their syntax, and their formal semantics. High-assurance software is not only needed for safety-critical software, but also for program transformations, such as carried out by optimising compilers.


Topics covered in this course include formal semantics of programming languages (such as operational, denotational and axiomatic), type systems, higher-order functions and lambda calculus, concurrency, and communication.

Learning Outcomes

Upon successful completion, students will have the knowledge and skills to:

  1. Understand the role of theoretical formalisms, such as operational and denotational semantics
  2. Apply these semantics in the context of programming languages
  3. Evaluate differences (advantages/disadvantages) of these theoretical formalisms
  4. Create operational or denotational semantics of simple imperative programs
  5. Analyse the role of types in programming languages
  6. Formalise properties and reason about programs
  7. Apply basic principles for formalising concurrent programming languages
  8. Reflect on current approaches to reason about concurrent systems and evaluate their limitations

Staff Feedback

Students will be given feedback in the following forms in this course:

  • written comments
  • verbal comments
  • feedback to whole class, groups, individuals, focus group etc

Student Feedback

ANU is committed to the demonstration of educational excellence and regularly seeks feedback from students. Students are encouraged to offer feedback directly to their Course Convener or through their College and Course representatives (if applicable). Feedback can also be provided to Course Conveners and teachers via the Student Experience of Learning & Teaching (SELT) feedback program. SELT surveys are confidential and also provide the Colleges and ANU Executive with opportunities to recognise excellent teaching, and opportunities for improvement.

Class Schedule

Week/Session Summary of Activities Assessment
1 operational semantics, arithmetic expressions, derivation and proof
2 the language IMP
3 types, type safety, type inference
4 data types, subtyping, refinement
5 denotational semantics
6 axiomatic semantics
7 formal verification
8 modelling concurrency

Tutorial Registration

ANU utilises MyTimetable to enable students to view the timetable for their enrolled courses, browse, then self-allocate to small teaching activities / tutorials so they can better plan their time. Find out more on the Timetable webpage.

Assessment Summary

Assessment task Value Due Date Return of assessment Learning Outcomes
Quiz 0 % 03/08/2023 03/08/2023 0
Homework 1 5 % 10/08/2023 31/08/2023 1,2,3
Homework 2 10 % 31/08/2023 * 1,2,3,4,5
Homework 3 10 % 12/10/2023 * 1,2,3,4,5
Homework 4 10 % 02/11/2023 * 1,6,7,8
Final Exam 65 % * * 1,2,3,4,5,6,7,8

* If the Due Date and Return of Assessment date are blank, see the Assessment Tab for specific Assessment Task details

Policies

ANU has educational policies, procedures and guidelines , which are designed to ensure that staff and students are aware of the University’s academic standards, and implement them. Students are expected to have read the Academic Integrity Rule before the commencement of their course. Other key policies and guidelines include:

Assessment Requirements

The ANU is using Turnitin to enhance student citation and referencing techniques, and to assess assignment submissions as a component of the University's approach to managing Academic Integrity. For additional information regarding Turnitin please visit the Academic Skills website. In rare cases where online submission using Turnitin software is not technically possible; or where not using Turnitin software has been justified by the Course Convener and approved by the Associate Dean (Education) on the basis of the teaching model being employed; students shall submit assessment online via ‘Wattle’ outside of Turnitin, or failing that in hard copy, or through a combination of submission methods as approved by the Associate Dean (Education). The submission method is detailed below.

Moderation of Assessment

Marks that are allocated during Semester are to be considered provisional until formalised by the College examiners meeting at the end of each Semester. If appropriate, some moderation of marks might be applied prior to final results being released.

Assessment Task 1

Value: 0 %
Due Date: 03/08/2023
Return of Assessment: 03/08/2023
Learning Outcomes: 0

Quiz

Small online quiz to set expectations around assumed knowledge. The quiz is auto marked and hence immediate feedback given.

Assessment Task 2

Value: 5 %
Due Date: 10/08/2023
Return of Assessment: 31/08/2023
Learning Outcomes: 1,2,3

Homework 1

To support on-going learning of the course content, four individual take-home assignments (homework) are given, distributed over the entire semester. This homework will be returned to students before the census date.

Assessment Task 3

Value: 10 %
Due Date: 31/08/2023
Learning Outcomes: 1,2,3,4,5

Homework 2

To support on-going learning of the course content, four individual take-home assignments (homework) are given, distributed over the entire semester.

Assessment Task 4

Value: 10 %
Due Date: 12/10/2023
Learning Outcomes: 1,2,3,4,5

Homework 3

To support on-going learning of the course content, four individual take-home assignments (homework) are given, distributed over the entire semester.

Assessment Task 5

Value: 10 %
Due Date: 02/11/2023
Learning Outcomes: 1,6,7,8

Homework 4

To support on-going learning of the course content, four individual take-home assignments (homework) are given, distributed over the entire semester.

Assessment Task 6

Value: 65 %
Learning Outcomes: 1,2,3,4,5,6,7,8

Final Exam

The final exam will be held either orally or in written form. An oral exam is the preferred mode of delivery, but depending on the class size a "classical" written exam may be required. The mode of delivery is clearly communicated in the first week of the course. 

Oral exams test the students' knowledge (regarding the content of the course) in form of questions or small tasks to be performed.


The is a hurdle. Student need to receive at least 40%.

Academic Integrity

Academic integrity is a core part of the ANU culture as a community of scholars. The University’s students are an integral part of that community. The academic integrity principle commits all students to engage in academic work in ways that are consistent with, and actively support, academic integrity, and to uphold this commitment by behaving honestly, responsibly and ethically, and with respect and fairness, in scholarly practice.


The University expects all staff and students to be familiar with the academic integrity principle, the Academic Integrity Rule 2021, the Policy: Student Academic Integrity and Procedure: Student Academic Integrity, and to uphold high standards of academic integrity to ensure the quality and value of our qualifications.


The Academic Integrity Rule 2021 is a legal document that the University uses to promote academic integrity, and manage breaches of the academic integrity principle. The Policy and Procedure support the Rule by outlining overarching principles, responsibilities and processes. The Academic Integrity Rule 2021 commences on 1 December 2021 and applies to courses commencing on or after that date, as well as to research conduct occurring on or after that date. Prior to this, the Academic Misconduct Rule 2015 applies.

 

The University commits to assisting all students to understand how to engage in academic work in ways that are consistent with, and actively support academic integrity. All coursework students must complete the online Academic Integrity Module (Epigeum), and Higher Degree Research (HDR) students are required to complete research integrity training. The Academic Integrity website provides information about services available to assist students with their assignments, examinations and other learning activities, as well as understanding and upholding academic integrity.

Online Submission

You will be required to electronically sign a declaration as part of the submission of your assignment. Please keep a copy of the assignment for your records. Unless an exemption has been approved by the Associate Dean (Education) submission must be through Turnitin.

Hardcopy Submission

n/a

Late Submission

Late submission not permitted. If submission of assessment tasks without an extension after the due date is not permitted, a mark of 0 will be awarded.

Referencing Requirements

The Academic Skills website has information to assist you with your writing and assessments. The website includes information about Academic Integrity including referencing requirements for different disciplines. There is also information on Plagiarism and different ways to use source material.

Extensions and Penalties

Extensions and late submission of assessment pieces are covered by the Student Assessment (Coursework) Policy and Procedure. Extensions may be granted for assessment pieces that are not examinations or take-home examinations. If you need an extension, you must request an extension in writing on or before the due date. If you have documented and appropriate medical evidence that demonstrates you were not able to request an extension on or before the due date, you may be able to request it after the due date.

Privacy Notice

The ANU has made a number of third party, online, databases available for students to use. Use of each online database is conditional on student end users first agreeing to the database licensor’s terms of service and/or privacy policy. Students should read these carefully. In some cases student end users will be required to register an account with the database licensor and submit personal information, including their: first name; last name; ANU email address; and other information.
In cases where student end users are asked to submit ‘content’ to a database, such as an assignment or short answers, the database licensor may only use the student’s ‘content’ in accordance with the terms of service – including any (copyright) licence the student grants to the database licensor. Any personal information or content a student submits may be stored by the licensor, potentially offshore, and will be used to process the database service in accordance with the licensors terms of service and/or privacy policy.
If any student chooses not to agree to the database licensor’s terms of service or privacy policy, the student will not be able to access and use the database. In these circumstances students should contact their lecturer to enquire about alternative arrangements that are available.

Distribution of grades policy

Academic Quality Assurance Committee monitors the performance of students, including attrition, further study and employment rates and grade distribution, and College reports on quality assurance processes for assessment activities, including alignment with national and international disciplinary and interdisciplinary standards, as well as qualification type learning outcomes.

Since first semester 1994, ANU uses a grading scale for all courses. This grading scale is used by all academic areas of the University.

Support for students

The University offers students support through several different services. You may contact the services listed below directly or seek advice from your Course Convener, Student Administrators, or your College and Course representatives (if applicable).

Peter Hoefner
u1094212@anu.edu.au

Research Interests


Peter Hoefner

By Appointment
Abhaas Goyal
abhaas.goyal@anu.edu.au

Research Interests


Abhaas Goyal

Sunday
Weiyou Wang
weiyou.wang@anu.edu.au

Research Interests


Weiyou Wang

Sunday

Responsible Officer: Registrar, Student Administration / Page Contact: Website Administrator / Frequently Asked Questions