Models of Computation

Subject COMP30026 (2016)

Note: This is an archived Handbook entry from 2016.

Credit Points: 12.5
Level: 3 (Undergraduate)
Dates & Locations:

This subject has the following teaching availabilities in 2016:

Semester 2, Parkville - Taught on campus.
Pre-teaching Period Start not applicable
Teaching Period 25-Jul-2016 to 23-Oct-2016
Assessment Period End 18-Nov-2016
Last date to Self-Enrol 05-Aug-2016
Census Date 31-Aug-2016
Last date to Withdraw without fail 23-Sep-2016


Timetable can be viewed here. For information about these dates, click here.
Time Commitment: Contact Hours: 48 hours, namely two 1-hour lectures, one 1-hour practice class and one 1-hour tutorial per week
Total Time Commitment:

170 hours

Prerequisites:

One of

Subject
Study Period Commencement:
Credit Points:

OR

Admission to one of:

  • MC-ENG Master of Engineering (Software)
  • MC-ENG Master of Engineering (Software with Business)
  • MC-IT Master of Information Technology
Corequisites:

None

Recommended Background Knowledge: None
Non Allowed Subjects:
Subject
Core Participation Requirements:

For the purposes of considering request for Reasonable Adjustments under the Disability Standards for Education (Cwth 2005), and Student Support and Engagement Policy, academic requirements for this subject are articulated in the Subject Overview, Learning Outcomes, Assessment and Generic Skills sections of this entry.

It is University policy to take all reasonable steps to minimise the impact of disability upon academic study, and reasonable adjustments will be made to enhance a student's participation in the University's programs. Students who feel their disability may impact on meeting the requirements of this subject are encouraged to discuss this matter with a Faculty Student Adviser and Student Equity and Disability Support: http://services.unimelb.edu.au/disability

Coordinator

Assoc Prof Harald Sondergaard

Contact


A/Prof Harald Sondergaard

email: harald@unimelb.edu.au

Subject Overview:

AIMS

Formal logic and discrete mathematics provide the theoretical foundations for computer science. This subject uses logic and discrete mathematics to model the science of computing. It provides a grounding in the theories of logic, sets, relations, functions, automata, formal languages, and computability, providing concepts that underpin virtually all the practical tools contributed by the discipline, for automated storage, retrieval, manipulation and communication of data.

INDICATIVE CONTENT

  • Logic: Propositional and predicate logic, resolution proofs, mathematical proof
  • Discrete mathematics: Sets, functions, relations, order, well-foundedness, induction and recursion
  • Automata: Regular languages, finite-state automata, context-free grammars and languages, parsing
  • Computability briefly: Turing machines, computability, decidability.

A functional programming language will be used to implement and illustrate concepts.

Learning Outcomes:

INTENDED LEARNING OUTCOMES (ILO)

  1. On completion of this subject the student is expected to:
  2. Use propositional and predicate logic as tools to reason about non-trivial computational problems
  3. Explain basic principles of mechanised reasoning, including resolution proof, and apply these to reason about computational problems
  4. Reason about properties of mathematical objects such as functions and relations, and apply them to computational problems
  5. Apply discrete mathematical techniques to problems in computer science
  6. Synthesize context-free grammars from less formal language specifications
  7. Design abstract computational devices, such as finite-state automata and pushdown automata.
  8. Analyze and reason about computational models, including finite-state automata, pushdown automata and Turing machines.
Assessment:
  • A programming project, requiring approximately 13 - 15 hours of work, due in week 6, addressing Intended Learning Outcomes (ILOs) 1 and 2 (10%)
  • A 45-minute written test, due in week 7, addressing ILOs 1,2 and 3 (10%)
  • A 800-word project, requiring approximately 13 - 15 hours of work, dues in week 11, addressing ILOs 1-6 (10%)
  • A 3-hour written examination, closed book, end of semester exam period, addressing all ILOs (70%)
Prescribed Texts: None
Breadth Options:

This subject is not available as a breadth subject.

Fees Information: Subject EFTSL, Level, Discipline & Census Date
Generic Skills:

On completion of this subject students should have developed the following skills:

  • Analytical skills
  • Reasoning and problem-solving skills
  • Ability to communicate with precision, rigour and efficacy
  • Ability to apply knowledge of science and engineering fundamentals
  • Capacity for creativity and innovation
  • Ability to undertake problem identification, formulation and solution
Notes:

LEARNING AND TEACHING METHODS

The subject involves two 1-hour lectures per week followed by a 1-hour tutorial. Weekly tutorial problems are assigned and discussed in class. Tutors may use tutorial time to demonstrate applications of the theory, such as SAT-solver use, logic programming, and parsing. Lectures and tutorials are designed to be interactive, and the written assignments are designed to be challenging, so as to generate discussion. Although written assignments are submitted by students individually, in-plenum discussion of the problems encouraged.

INDICATIVE KEY LEARNING RESOURCES

The subject uses online reading materials and offers access to visualisation tools (the JFLAP suite), an online discussion forum, and advance access to all teaching materials, including slides used in lectures.

CAREERS / INDUSTRY LINKS

The subject is foundational. While the practice of computing changes fast, the theoretical underpinnings, and many of the basic concepts underlying computation, change only slowly. A foundation in logic and mathematics provides important conceptual tools that are used by theoreticians, computer scientists, and software engineering practitioners alike.

Related Course(s): Master of Information Technology
Related Majors/Minors/Specialisations: B-ENG Software Engineering stream
Computer Science
Computer Science
Computer Science
Computer Science
Computing and Software Systems
MIT Computing Specialisation
Master of Engineering (Software with Business)
Master of Engineering (Software)
Science-credited subjects - new generation B-SCI and B-ENG.

Download PDF version.