Course Details

Course Code COMP6721
Course Title (In-)Formal Methods: The Lost Art
Course Email
Convenor Carroll Morgan
Admin Tom Kunc
Classes Timetable for all classes
Consultations By appointment.
Units of Credit 6
Course Website
Handbook Entry

Course Summary

(In-)Formal Methods are practical structuring and design techniques which encourage programming that is easy to understand and to maintain. They are only a part of the large body of “good programming practices,” distinguished from that larger set because –for the methods we consider– the computer-science community has determined the science behind the structures: we know why they are effective. Unusually, this course does not take the traditional route of teaching that science first, and then turning it into practical programming “tools-of-thought”. Instead, we teach the mental tools first, try them on examples and only then, once their effectiveness has been demonstrated, will we look behind the scenes to see where they come from. Initially the material will deal with conventional programs, those that must “give the right output.” (This is known as functional correctness, and a sorting program is a simple example.) Later in the course we will look at additional correctness criteria, such as security (perform this calculation in a way that keeps part of the answer hidden) and randomisation (implement over-the-internet protocols that depend intrinsically on coin-flipping). Those last two topics will draw on up-to-the-minute research.

Assumed Knowledge

This course assumes the ability to write small imperative programs. It has been designed to be compatible with COMP1511; however other introductory programming courses should provide similar skills.

Student Learning Outcomes

  1. Students should be able to apply the more abstract, theoretical side of computing to produce better programs, without having to master the theory itself in detail.
  2. Students should be able to define program-correctness assertions and loop invariants, and to use static reasoning while developing programs.
  3. Students should be able to carry out formally driven program developments by stepwise refinement and change of data representations.

Teaching Strategies

  • Lectures: Introduce concepts, show examples. Lectures will be run in an interactive style, with student participation and activities.
  • Assignments: Allow students to try out the techniques they have learned, and to benefit from temporary failure but ultimate success.
  • Quizzes: Allow students to demonstrate their knowledge to using familiar skills within a time-limited context.
  • Participation: Encourage students to engage critically with the material being taught, and with their classmates.

Teaching Rationale

The material in this course looks simple, and it is easy to believe that it is elementary. But it is not, and that is the reason for the interactive style of presentation.

Student Conduct

The Student Code of Conduct ( Information , Policy ) sets out what the University expects from students as members of the UNSW community. As well as the learning, teaching and research environment, the University aims to provide an environment that enables students to achieve their full potential and to provide an experience consistent with the University's values and guiding principles. A condition of enrolment is that students inform themselves of the University's rules and policies affecting them, and conduct themselves accordingly.

In particular, students have the responsibility to observe standards of equity and respect in dealing with every member of the University community. This applies to all activities on UNSW premises and all external activities related to study and research. This includes behaviour in person as well as behaviour on social media, for example Facebook groups set up for the purpose of discussing UNSW courses or course work. Behaviour that is considered in breach of the Student Code Policy as discriminatory, sexually inappropriate, bullying, harassing, invading another's privacy or causing any person to fear for their personal safety is serious misconduct and can lead to severe penalties, including suspension or exclusion from UNSW.

If you have any concerns, you may raise them with your lecturer, or approach the School Ethics Officer , Grievance Officer , or one of the student representatives .

Plagiarism is defined as using the words or ideas of others and presenting them as your own. UNSW and CSE treat plagiarism as academic misconduct, which means that it carries penalties as severe as being excluded from further study at UNSW. There are several on-line sources to help you understand what plagiarism is and how it is dealt with at UNSW:

Make sure that you read and understand these. Ignorance is not accepted as an excuse for plagiarism. In particular, you are also responsible that your assignment files are not accessible by anyone but you by setting the correct permissions in your CSE directory and code repository, if using. Note also that plagiarism includes paying or asking another person to do a piece of work for you and then submitting it as your own work.

UNSW has an ongoing commitment to fostering a culture of learning informed by academic integrity. All UNSW staff and students have a responsibility to adhere to this principle of academic integrity. Plagiarism undermines academic integrity and is not tolerated at UNSW. Plagiarism at UNSW is defined as using the words or ideas of others and passing them off as your own.

If you haven't done so yet, please take the time to read the full text of

The pages below describe the policies and procedures in more detail:

You should also read the following page which describes your rights and responsibilities in the CSE context:


Name Information Dates
Weekly Quizzes (50%)
The weekly quizzes are short, time-limited checks of your ability to use the skills you will be taught in the course.
Your best 7 quiz marks will be converted to a mark /60.
Time will be allocated in the lecture to complete them, however you can complete them on your own time if you wish.
Quizzes will be time limited, you must complete them
within a fixed amount of time from starting. The time limit is designed to not restrict you; and you will be able to complete the quiz in significantly less time.
Examples of quiz questions will be provided each week, so the content will not be a surprise.
Released every Friday at 9am.
Due the following Monday at noon (12pm).
No late submissions allowed.
Participation (10%) Participation marks will be given in this course to reward authentic engagement with the material. You will submit a very short summary of your participation each week. Participation can be in lectures, on the forums, or by completing your own work. Due at the same time as the quiz each week.
No late submissions allowed.
Assignment (40%)

The assignment is a large piece of work, applying the ideas of (In-)Formal Methods to a real world problem.

Released in Week 3.
Due in Week 8.
Standard UNSW late penalty applies*.

*The standard UNSW late penalty is to take 5% off your mark for each day you have submitted late; with no submissions allowed after 5 days.

Assessment Justification

Assessment Justifications are available via the course website .

Course Schedule

Information about the course schedule is available via the course website .

Resources for Students

Texts and recommended readings:

  • Material will be made available as the course progresses. There is a course textbook ,
    and references to specific parts of it will be given as the course progresses.

Most resources are available via the course website .

Course Evaluation and Development

This course is evaluated each session using the myExperience system.

In the previous offering of this courses, students were generally positive.

Resource created Wednesday 27 April 2022, 10:17:43 AM, last modified Thursday 09 June 2022, 09:41:12 AM.

Back to top

COMP6721 22T2 ((In-)Formal Methods: The Lost Art) is powered by WebCMS3
CRICOS Provider No. 00098G