The University of Huddersfield School of Computing and Mathematics

CIA 2326 - FORMAL ASPECTS OF COMPUTER SCIENCE -

ON-LINE MODULE HANDBOOK Module Leader: Lee McCluskey email: 'lee' followed by '@hud.ac.uk'


Introductory Information

Module Specification : This contains information on the module's assessment, learning outcomes, content, reading lists etc.


Set Books and Resources

There are plenty of web resources which cover this topic - look at the references in the Original Module Specification.

This file contains lots of useful web resources


Coursework

Referred Work June 2011

specification

sample profiles

separation criteria in structured English

separation criteria in Prolog

assignment cover sheet



Week by Week Schedule

As this is the first time I have run this module, this teaching program is subject to change and I will update/add links to it during the course.

UNIT 1

Introduction to the Module

Lecture Notes

Practical:
Introduction to Prolog This links to the directory with your Prolog practical notes.
Open the file "notes.tex" and follow the instructions

For fun - here is a Prolog SuDoku solver I found on the Web Save it and try running it.

The instructions for getting Sicstus Prolog for Windows 98/XP are here.

unsupervised work for week 1

NB THE SICTUS PROLOG MANUAL ISHERE

UNIT 2

Introduction to Prolog

Lecture Notes

Prolog practical work / exercises

unsupervised work for week 2

UNIT 3

The List Data Structure and Recursion

Lecture Notes

Prolog practical work / exercises

unsupervised work for week 3

UNIT 4

Introduction to First Order Logic

Lecture Notes

Prolog practical work / exercises

More notes on Logic

UNIT 5

Reasoning in First Order Logic

Lecture Notes

exercises for Unit 5

answers to Unit 5 exercises

Here are more exercises with answers to keep you busy!
More logic exercises

More notes on Logic
Please continue to read through these notes in preparation for your coursework and next week's material

UNIT 6

Clausal Form and Unification

Lecture Notes

practical work / exercises

UNIT 7

Resolution and the Refutation Method

Lecture Notes

practical work / exercises

UNIT 9

The Resolution Refutation Procedure

Lecture Notes

practical work / exercises

unsupervised work for week 9

UNIT 10

An Automatic Theorem Prover

Lecture Notes

theorem prover directory

practical work / exercises

UNIT 11

Applications of Logic - An Air Traffic Control Specification

Lecture Notes

practical work / exercises

The Student Version of the Conflict Prediction System

UNIT 12

Revision / Term 1 Recap

Lecture Notes

revision questions


UNIT 13

Introduction / Lexical Analysis / Regular Expressions / Lexical Analyser Generators

Lecture Notes

Revision Tutorial

Selected Answers

Tutorial questions on Regular Expressions - see handout

Some answers to tutorial questions

Unsupervised work throughout the week:
read through the online chapter 1 of Appel's book on Compilers.

UNIT 14

Properties of Grammars, Introduction to Parsing

Lecture Notes

exercises + some answers

UNIT 15

"Top Down" Parsing

Lecture Notes

Tutorial exercises

Tutorial answers

UNIT 16

LR parsers - definition and construction

Lecture Notes

exercises

UNIT 17

Prolog Definite Clause Grammars

Lecture Notes

exercises

answers

Reading Week

Thursday March 11th: No lecture. This week you need to catch up by completing any of the exercises from previous weeks. I will attend the 10.15 and 1.15 practicals in case there are any "catch - up" questions.

UNIT 18

Introduction to Algebras and Algebraic Specifications

Lecture Notes

Background Notes and Exercises

UNIT 19

Formal Specifications and Reasoning with Algebras

Lecture Notes

Exercises on Algebraic Specification

UNIT 20

Formal Specification

Lecture Notes

Exercises on the Algebraic Specification of a Symbol Table

Selected answers to the Algebraic Specification of a Symbol Table Exs

UNIT 21

Revision

Revision Notes 2010