CSE2303 Formal Methods I , Unit Information Guide (Semester 1, 2006)

Chief Examiner David Albrecht
Clayton : David Albrecht
Malaysia : Phang SW

This subject looks at the question of exactly what a computer can compute, and gives an introduction to logic and formal languages. Topics include computable functions, finite state automata, regular expressions, grammars, Turing computability, propositional logic, resolution, predicate logic.

Objectives Knowledge and Understanding
  • How to describe languages using Regular Expressions, Finite Automata, Nondeterministic Finite Automata, Mealy Machines, Moore Machines, Context Free Grammars, Pushdown Automata, and Turing Machines
  • The relationship between Regular Languages, Context Free Languages, Recursive Languages, and Recursive-Enumerable (or Computable) Languages.
  • How to use Turing Machines to represent computable functions.
  • How a Universal Turing machine can simulate any Turing Machine on any input.
  • How propositional logic and predicate logic can be used to represent knowledge and logical arguments.
  • How logic can be used as a programming language.
Attitudes, Values and Beliefs
  • Appreciate the limitations of Regular Languages, Context Free Languages, Recursive Languages, and Computable Languages.
  • Comprehend the limitations of computers in terms of the problems they can solve.

Practical Skills

  • Construct Finite Automata, Nondeterministic Automata, and Turing Machines to describe languages.
  • Use Finite Automata to construct lexical analysers.
  • Use flex to construct lexical analysers.
  • Convert Regular Expressions into a Finite Automata.
  • Convert Finite Automata into Regular Expressions.
  • Use bison to construct parsers.
  • Find a Regular Grammar for a Regular Language.
  • Find a parse tree, leftmost derivation and rightmost derivation for a word in a Context Free Language.
  • Know how to show a Context Free Grammar is ambiguous.
  • Find Disjunctive Normal Form, Conjunctive Normal Form and Clausal Form for Propositional Formula.
  • Convert a Mealy and Moore Machine into a sequential logic circuit.
  • Represent knowledge and logic arguments in propositional and predicate logic.
  • Write simple Prolog programs.
  • Be able to perform resolution for propositional and predicate logic.


Prerequisites Before attempting this unit you must have satisfactorily completed CSE1301 or CSC1011 and either 12 points of approved first-year mathemtics units (or equivalent), or 6 points of approved first-year mathematics units (or equivalent) as a prerequisite and 6 points of approved first-year mathematics units (or equivalent) as a corequisite, or equivalent. You should have knowledge of introductory C programming

Unit relationships CSE2303 is a core unit in the BCS, BSE, BCS/BA, BCS/LLB, and BSc/BCS and a core in a computer science major in BSc. Before attempting this unit you must have satisfactorily completed CSE1301 or CSC1011 and either 12 points of approved first-year mathemtics units (or equivalent), or 6 points of approved first-year mathematics units (or equivalent) as a prerequisite and 6 points of approved first-year mathematics units (or equivalent) as a corequisite, or equivalent. You should have knowledge of introductory C programming.
Texts and software

Required text(s)


  • Daniel I.A. Cohen, "Introduction to Computer Theory", Second Edition, John Wiley & Sons, Inc. 1997.
  • Michael Sipser, "Introduction to the Theory of Computation", PWS Publishing Company, 1997.

    Text books are available from the Monash University Book Shops. Availability from other suppliers cannot be assured. The Bookshop orders texts in specifically for this unit. You are advised to purchase your text book early.

    Software requirements:

    • gcc
    • flex
    • bison
    • SWI-Prolog, http://www.swi-prolog.org/

    Hardware requirements:

    Students studying off-campus are required to have the minimum system configuration specified by the faculty as a condition of accepting admission, and regular Internet access. On-campus students, and those studying at supported study locations may use the facilities available in the computing labs. Information about computer use for students is available from the ITS Student Resource Guide in the Monash University Handbook. You will need to allocate up to n hours per week for use of a computer, including time for newsgroups/discussion groups.

    Recommended reading


  • Daniel I.A. Cohen, "Introduction to Computer Theory", Second Edition, John Wiley & Sons, Inc. 1997.
  • Michael Sipser, "Introduction to the Theory of Computation", PWS Publishing Company, 1997.

    Library access You may need to access the Monash library either personally to be able to satisfactorily complete the subject.  Be sure to obtain a copy of the Library Guide, and if necessary, the instructions for remote access from the library website.
    Study resources

    Study resources for CSE2303 are:


    Structure and organisation



    Study Guide

    1 Introduction/Regular Languages
    2 Finite Automata/Transition Graphs
    3 Kleenes Theorem/Lexical Analysis
    4 Kleenes Theorem/Mealy and Moore Machines
    5 Pumping Lemma/Context Free Grammars
    6 Parsing
    7 Pushdown Automata/Turing Machines
    8 Computability
    9 Non-Computability
    10 Logic
    11 Clauses/Prolog
    12 Resolution
    13 Revision

    The timetable for on-campus classes for this unit can be viewed in Allocate+


    Assessment for the unit consists of 6 pracs with a weighting of 30% and an examination with a weighting of 70%. Read this section VERY carefully.

    Assessment Policy

    To pass this unit you must:

    Satisfy the following three hurdles:

    • Exam: You must obtain at least 50% on the exam.
    • Pracs: You must obtain at least 50% overall for your pracs and must have attended five out of the six pracs this semester.
    • You must obtain an overall mark of at least 50%.

    If you do not meet all of the above conditions the highest mark you can receive is 44N

    Your score for the unit will be calculated by:

    0.7*(Total Exam Mark) + 0.3*(Total Prac Mark)

    Assessment Requirements


    Due Date


    Assignment specifications will be made available . Information about assignments will be published on the Unit's Notices Newsgroup.

    Assignment Submission Methods

    Extensions and late submissions

    Late submission of assignments

    This policy is strict because comments or guidance will be given on assignments as they are returned, and sample solutions may also be published and distributed, after assignment marking or with the returned assignment. 


    It is your responsibility to structure your study program around assignment deadlines, family, work and other commitments. Factors such as normal work pressures, vacations, etc. are seldom regarded as appropriate reasons for granting extensions. 

    Requests for extensions must be made by at least two days before the due date. You will be asked to forward original medical certificates in cases of illness, and may be asked to provide other forms of documentation where necessary. A copy of the email or other written communication of an extension must be attached to a copy of the prac and be given to your demonstrator in your next prac.

    Grading of assessment

    Assignments, and the unit, will be marked and allocated a grade according to the following scale:

    HD High Distinction - very high levels of achievement, demonstrated knowledge and understanding, skills in application and high standards of work encompassing all aspects of the tasks.
    In the 80+% range of marks for the assignment.
    D Distinction - high levels of achievement, but not of the same standards. May have a weakness in one particular aspect, or overall standards may not be quite as high.
    In the 70-79% range.
    C Credit - sound pass displaying good knowledge or application skills, but some weaknesses in the quality, range or demonstration of understanding.
    In the 60-69% range.
    P Pass - acceptable standard, showing an adequate basic knowledge, understanding or skills, but with definite limitations on the extent of such understanding or application. Some parts may be incomplete.
    In the 50-59% range.
    N Not satisfactory -  failure to meet the basic requirements of the assessment.
    Below 50%.

    We will aim to have assignment results made available to you within two weeks after assignment receipt.

    Feedback Feedback to you

    You will receive feedback on your work and progress in this unit. This feedback may be provided through your participation in tutorials and class discussions, as well as through your assignment submissions. It may come in the form of individual advice, marks and comments, or it may be provided as comment or reflection targeted at the group. It may be provided through personal interactions, such as interviews and on-line forums, or through other mechanisms such as on-line self-tests and publication of grade distributions.

    Feedback from you

    You will be asked to provide feedback to the Faculty through a Unit Evaluation survey at the end of the semester. You may also be asked to complete surveys to help teaching staff improve the unit and unit delivery. Your input to such surveys is very important to the faculty and the teaching staff in maintaining relevant and high quality learning experiences for our students.

    And if you are having problems

    It is essential that you take action immediately if you realise that you have a problem with your study. The semester is short, so we can help you best if you let us know as soon as problems arise. Regardless of whether the problem is related directly to your progress in the unit, if it is likely to interfere with your progress you should discuss it with your lecturer or a Community Service counsellor as soon as possible.

    Plagiarism and cheating

    Plagiarism and cheating are regarded as very serious offences. In cases where cheating  has been confirmed, students have been severely penalised, from losing all marks for an assignment, to facing disciplinary action at the Faculty level. While we would wish that all our students adhere to sound ethical conduct and honesty, I will ask you to acquaint yourself with Student Rights and Responsibilities and the Faculty regulations that apply to students detected cheating as these will be applied in all detected cases.

    In this University, cheating means seeking to obtain an unfair advantage in any examination or any other written or practical work to be submitted or completed by a student for assessment. It includes the use, or attempted use, of any means to gain an unfair advantage for any assessable work in the unit, where the means is contrary to the instructions for such work. 

    When you submit an individual assessment item, such as a program, a report, an essay, assignment or other piece of work, under your name you are understood to be stating that this is your own work. If a submission is identical with, or similar to, someone else's work, an assumption of cheating may arise. If you are planning on working with another student, it is acceptable to undertake research together, and discuss problems, but it is not acceptable to jointly develop or share solutions unless this is specified by your lecturer. 

    Intentionally providing students with your solutions to assignments is classified as "assisting to cheat" and students who do this may be subject to disciplinary action. You should take reasonable care that your solution is not accidentally or deliberately obtained by other students. For example, do not leave copies of your work in progress on the hard drives of shared computers, and do not show your work to other students. If you believe this may have happened, please be sure to contact your lecturer as soon as possible.

    Cheating also includes taking into an examination any material contrary to the regulations, including any bilingual dictionary, whether or not with the intention of using it to obtain an advantage.

    Plagiarism involves the false representation of another person's ideas, or findings, as your own by either copying material or paraphrasing without citing sources. It is both professional and ethical to reference clearly the ideas and information that you have used from another writer. If the source is not identified, then you have plagiarised work of the other author. Plagiarism is a form of dishonesty that is insulting to the reader and grossly unfair to your student colleagues.



    Notices related to the unit during the semester will be placed on the Notices Newsgroup in the Unit Website. Check this regularly. Failure to read the Notices newsgroup is not regarded as grounds for special consideration.

    Consultation Times

    • Tuesday 2pm, Room 113, Building 75
    • Thursday 12 noon, Room 113, Building 75

    If direct communication with your unit adviser/lecturer or tutor outside of consultation periods is needed you may contact the lecturer and/or tutors at:

    Dr David Albrecht
    Senior Lecturer
    Phone +61 3 990 55526
    Fax +61 3 990 55157

    This person's profile is not available.Image of this person is not available.

    All email communication to you from your lecturer will occur through your Monash student email address. Please ensure that you read it regularly, or forward your email to your main address. Also check that your contact information registered with the University is up to date in My.Monash.

    Last updated: Feb 27, 2006