Note: This unit is an archived version! See Overview tab for delivered versions.

COMP2022: Formal Languages & Logic (2013 - Semester 1)

Download UoS Outline

Unit: COMP2022: Models of Computation (6 CP)
Mode: Normal-Day
On Offer: Yes
Level: Intermediate
Faculty/School: School of Computer Science
Unit Coordinator/s: A/Prof Yacef, Kalina
Session options: Semester 1
Versions for this Unit:
Site(s) for this Unit:
Campus: Camperdown/Darlington
Pre-Requisites: INFO1103 OR INFO1903. INFO1105 desired
Brief Handbook Description: This unit aims at providing a deeper understanding of computing systems and of what computation is in general. It covers two essential theoretical aspects of computer science and gives students the foundations to understand the power as well as the limitations of computers. It covers various abstract models for computation such as finite automata, grammars and regular expressions, and the different classes of formal languages that these models recognize such as regular and context-free languages. It also covers the concept of formal proofs in propositional and predicate logic. The course concludes with Turing machines, as well as the notions of computability and decidability.
Assumed Knowledge: MATH1004 OR MATH2069 OR MATH2969.
Lecturer/s: A/Prof Yacef, Kalina
Tutor/s: tbc
Timetable: COMP2022 Timetable
Time Commitment:
# Activity Name Hours per Week Sessions per Week Weeks per Semester
1 Lecture 2.00 1 13
2 Tutorial 1.00 1 13
3 Independent Study 9.00 1 13
T&L Activities: Independent Study: Students are expected to undertake the prescribed reading and work on homework exercises and assignments.

Attributes listed here represent the key course goals (see Course Map tab) designated for this unit. The list below describes how these attributes are developed through practice in the unit. See Learning Outcomes and Assessment tabs for details of how these attributes are assessed.

Attribute Development Method Attribute Developed
Design of solutions to given problems and scenarios using algorithms and techniques learned in class Design (Level 2)
Competently applies theories, principles, tools & materials of both theory of computation and logic to well-defined problems. Engineering/IT Specialisation (Level 2)
Fluent use of mathematical & scientific concepts, tools and techniques required for formal languages and logic formal proofs. Maths/Science Methods and Tools (Level 2)

For explanation of attributes and levels see Engineering & IT Graduate Outcomes Table.

Learning outcomes are the key abilities and knowledge that will be assessed in this unit. They are listed according to the course goal supported by each. See Assessment Tab for details how each outcome is assessed.

Maths/Science Methods and Tools (Level 2)
1. Knowledge of basic discrete maths, theorems and formal proofs
Engineering/IT Specialisation (Level 2)
2. Awareness of the Chomsky hierarchy, Turing machines, and the notions of decidability and intractability.
Design (Level 2)
3. Understanding of the concept of propositional and first order logic as a model of facts and of reasoning.
4. Understanding of the concept of formal language as a set of strings, and of operations on formal languages, in particular union, concatenation, and Kleene closure.
5. Ability to use regular languages and their representations by DFAs, NFAs, regular expressions, and regular grammars.
6. Ability to use context-free grammar as a model of formal language.
Assessment Methods:
# Name Group Weight Due Week Outcomes
1 Weekly homework No 10.00 Multiple Weeks (Monday, 12 pm) 1, 2, 3, 4, 5, 6,
2 assignment 1 Yes 10.00 Week 6 (Friday, 5 pm) 5,
3 Assignement 2 Yes 20.00 Week 11 (Friday, 5 pm) 4, 6,
4 Final exam Yes 60.00 Exam Period (Monday, 1 am) 1, 2, 3, 4, 5, 6,
Assessment Description: Weekly homework exercises: based on lecture content, handed over at tutorials

Assignments: Problem solving assignment; may consists of several parts. It involves writing a computer program to solve a task and a report summarizing and evaluating the results. Can be done individually or in pairs.

Final Exam: Final Exam
Grading:
Grade Type Description
Standards Based Assessment Final grades in this unit are awarded at levels of HD for High Distinction, DI (previously D) for Distinction, CR for Credit, PS (previously P) for Pass and FA (previously F) for Fail as defined by University of Sydney Assessment Policy. Details of the Assessment Policy are available on the Policies website at http://sydney.edu.au/policies . Standards for grades in individual assessment tasks and the summative method for obtaining a final mark in the unit will be set out in a marking guide supplied by the unit coordinator.
Policies & Procedures: IMPORTANT: School policy relating to Academic Dishonesty and Plagiarism.

In assessing a piece of submitted work, the School of IT may reproduce it entirely, may provide a copy to another member of faculty, and/or to an external plagiarism checking service or in-house computer program and may also maintain a copy of the assignment for future checking purposes and/or allow an external service to do so.

Other policies

All university policies can be found at http://sydney.edu.au/policy

Policies and request forms for the Faculty of Engineering and IT can be found on the forms and policies page of the faculty website at http://sydney.edu.au/engineering/forms
Online Course Content: USyd e-Learning (WebCT)
Note on Resources: To be confirmed and updated

Note that the "Weeks" referred to in this Schedule are those of the official university semester calendar https://web.timetable.usyd.edu.au/calendar.jsp

Week Description
Week 1 Lecture: Unit introduction, Deterministic Finite Automata
Week 2 Lecture/Tutorial: NFAs, NFA to DFA and DFA minimisation
Week 3 Lecture/Tutorial: DFA minimisation, Regular expressions
Week 4 Lecture/Tutorial: Grammars, Context-free Languages
Week 5 Lecture/Tutorial: Push down automata, parsing
Week 6 Lecture/Tutorial: More parsing, grammar transformations
Assessment Due: assignment 1
Week 7 Regular grammars, Chomsky Normal Form, Introduction to logic
Week 8 Lecture/Tutorial: Propositional Logic, introduction to formal proofs
Week 9 Lecture/Tutorial: More formal proofs, IP and CP rules of inference, tautologies, proving invalidity
Week 10 Lecture/Tutorial: Proofs by resolution, Introduction to Predicate Logic
Week 11 Lecture/Tutorial: Predicate Logic: interpretation, formal proofs, prenex normal forms
Assessment Due: Assignement 2
Week 12 Lecture/Tutorial: Turing Machines, Church-Turing Hypothesis
Week 13 Lecture/Tutorial: Notion of decidability and tractability, Revisions, Final exam matters
Exam Period Assessment Due: Final exam

Course Relations

The following is a list of courses which have added this Unit to their structure.

Course Year(s) Offered
Bachelor of Advanced Computing (Computer Science) 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Computer Science) - Mid-Year 2021, 2022, 2023, 2024, 2025
Advanced Computing / Science 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Advanced Computing / Science (Medical Science) 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Computational Data Science) 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Advanced Computing / Commerce 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Computational Data Science) - Mid-Year 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Cybersecurity) 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Cybersecurity) - Mid-Year 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Information Systems) (not offered from 2022+) 2018, 2019, 2020, 2021
Bachelor of Advanced Computing (Software Development) 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Bachelor of Advanced Computing (Software Development) - Mid-Year 2021, 2022, 2023, 2024, 2025
Bachelor of Computer Science and Technology 2015, 2016, 2017, 2025
Aeronautical Engineering / Science 2014
Aeronautical Engineering (Space) / Science 2014
Biomedical Engineering / Science 2014
Chemical & Biomolecular Engineering / Science 2014
Civil Engineering / Science 2014
Electrical Engineering / Science 2014
Electrical Engineering (Computer) / Science 2014
Electrical Engineering (Power) / Science 2014
Electrical Engineering (Telecommunications) / Science 2014
Aeronautical / Science 2015, 2016, 2017
Aeronautical with Space / Science 2015
Biomedical Engineering (mid-year) 2016, 2017, 2018, 2019, 2020
Biomedical Engineering 2016, 2017, 2018, 2019, 2020
Biomedical /Science 2015, 2016, 2017
Chemical & Biomolecular / Science 2015
Civil / Science 2015
Electrical / Science 2015
Mechanical / Science 2015, 2016, 2017
Mechanical with Space / Science 2015
Mechatronic / Science 2015, 2016, 2017
Mechatronic with Space / Science 2015
Software Engineering (mid-year) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Software / Project Management 2019+ 2023, 2024, 2025
Software Engineering 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025
Software / Arts 2023+ 2023, 2024, 2025
Software / Commerce 2023+ 2023, 2024, 2025
Software / Science 2023, 2024, 2025
Software / Science - Mid Year 2023, 2024, 2025
Software / Law 2023+ 2023, 2024, 2025
Mechanical Engineering / Science 2014
Mechanical Engineering (Space) / Science 2014
Mechatronic Engineering / Science 2014
Mechatronic Engineering (Space) / Science 2014
Software Engineering / Science 2014

Course Goals

This unit contributes to the achievement of the following course goals:

Attribute Practiced Assessed
Maths/Science Methods and Tools (Level 2) Yes 3.5%
Engineering/IT Specialisation (Level 2) Yes 6.5%
Design (Level 2) Yes 90%

These goals are selected from Engineering & IT Graduate Outcomes Table which defines overall goals for courses where this unit is primarily offered. See Engineering & IT Graduate Outcomes Table for details of the attributes and levels to be developed in the course as a whole. Percentage figures alongside each course goal provide a rough indication of their relative weighting in assessment for this unit. Note that not all goals are necessarily part of assessment. Some may be more about practice activity. See Learning outcomes for details of what is assessed in relation to each goal and Assessment for details of how the outcome is assessed. See Attributes for details of practice provided for each goal.