Learning Outcomes COMP1600

(see also Programs and Courses)

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

  • Apply the concepts of standard mathematical logic to produce proofs or refutations of well-formed propositions or arguments phrased in English or in a variety of formal notations (first order logic, discrete mathematics or Hoare Logic).

  • Given a description of a regular language, either in English, as a regular expression or as a grammar, generate a finite state automaton that recognizes that language. Similarly, given a deterministic or nondeterministic automaton, give a description of the language which it accepts.

  • Given an inductive definition of a simple data structure, write a recursive definition of a given simple operation on data of that type. Given some such recursively defined operations, prove simple properties of these functions using the appropriate structural induction principle.

  • Prove simple programs correct using Hoare Logic.

  • Design a Turing Machine which will accomplish simple tasks.

Learning Outcomes COMP6260

(see also Programs and Courses)

Upon completion of this course, the student will be able to do the following:

  • Apply the concepts of standard mathematical logic to produce proofs or refutations of well-formed propositions or arguments phrased in English or in a variety of formal notations (first order logic, discrete mathematics or Hoare logic). Express problems, presented in English, in these formal notations and demonstrate an awareness of the differences between them.

  • Generate a finite state automaton that recognises a given regular language either described in English or presented as a regular expression; similarly, describe the language accepted by a given deterministic or nondeterministic automaton.

  • Relate structural induction to other forms of mathematical induction, and write a recursive definition of a given simple operation on data of a given type presented via an inductive definition of the data structure.

  • Explain the concept of program correctness and prove simple programs correct using Hoare Logic.

  • Demonstrate understanding of Turing Machine computability, and design Turing Machines to accomplish simple tasks.

Updated:    23 Nov 2021 / Responsible Officer:    Head of School / Page Contact:    Victor Rivera