Undergraduate Course: Informatics 1 - Computation and Logic (INFR08012)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 8 (Year 1 Undergraduate)
||Availability||Available to all students
|Summary||*Please note that this course has been replaced by a 20-credit course 'Informatics 1 - Introduction to Computation' (INFR08025) from 2018/19*.
The goal of this course is to introduce the notions of computation and specification using finite-state systems and propositional logic. These provide examples of the logical ideas of syntax and semantics and the computational ideas of structure and behaviour. Finite state machines provide a simple model of computation that is widely used, has an interesting meta-theory and has immediate application in a range of situations. They are used as basic computational models across the whole of Informatics and at the same time are used successfully in many widely used applications and components. Propositional logic, similarly is the first step in understanding logic which is an essential element of the specification of Informatics systems and their properties.
The use of sets, functions, and relations to describe models of logic and computation. Finite-state systems as a basic model of computation: deterministic and non-deterministic automata; regular expressions; acceptors; structured design of finite state machines. Propositional logic: truth tables; natural deduction; resolution; satisfiability. Introduction to software IP, and notions of verification, correctness, best practice and liability.
Relevant ACM Computing Curriculum Knowledge Areas: Computational Science; Discrete Structures; Systems design methodologies; Systems analysis & design.
Entry Requirements (not applicable to Visiting Students)
||Co-requisites|| Students MUST also take:
Informatics 1 - Functional Programming (INFR08013)
||Other requirements|| SCE H-grade Mathematics or equivalent is desirable.
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Not being delivered|
On completion of this course, the student will be able to:
- Use sets, functions, and relations, to create a simple mathematical model of a real-world situation and use the syntax and semantics of propositional logic to express simple sets of constraints.
- Formalise simple propositional reasoning using various methods, including truth tables, Boole an algebra, and deduction.
- Use regular expressions to search for simple patterns.
- Understand how regular expressions link the structure and behaviour of finite automata, and design finite state acceptors for particular languages.
- Use basic meta theory to discuss the applicability and limitations of these approaches.
|Course organiser||Prof Mike Fourman
Tel: (0131 6)51 5615
|Course secretary||Mr Rob Armitage
Tel: (0131 6)50 5194