University of Surrey - Guildford

Registry > Module Catalogue
View Module List by A.O.U. and Level  Alphabetical Module Code List  Alphabetical Module Title List  Alphabetical Old Short Name List  View Menu 
2010/1 Module Catalogue
 Module Code: COM1006 Module Title: FOUNDATIONS OF COMPUTING
Module Provider: Computing Short Name: CS189
Level: HE1 Module Co-ordinator: WESEMEYER S Dr (Computing)
Number of credits: 10 Number of ECTS credits: 5
Module Availability


Autumn Semester

Assessment Pattern

Unit(s) of Assessment





Weighting Towards Module Mark( %)


2 hour unseen examination










Specification assignment (individual)










Class tests:




weekly tests in class, worth 2% each.  The best 5 will contribute to the final mark.

Qualifying Condition(s)  

A weighted aggregate mark of 40% is required to pass this module









Module Overview

The course introduces the core concepts of discrete mathematics, especially propositional and predicate logic, and set theory. It also introduces the formal specification language Z, and shows how it can be used to structure specifications written using logic and set theory.






Module Aims
This module aims to introduce students to the key concepts of logic and set theory, and to introduce their use within computer science. Students will also meet the Z formal specification language, which provides a way of presenting formal software specifications in a clear and structured fashion.





















Learning Outcomes

On successful completion of this module the student should :  


  1. recognise the importance and role of logic in computing 
  2. be able to understand and manipulate propositions and predicates, and set theoretic expressions including relations and functional notation;
  3. be able to interpret and write simple formal specifications in Z, using sets and set operations to model the state and behaviour of simple systems. 



Module Content
  • Propositional logic, truth tables, boolean algebra

     Predicate logic, quantifiers.

  •  Sets, union, intersection, power set.

  •  Introduction to Z schema and state based specification.

  •  Cartesian products and relations; relational notation.

  •  Functions, function notation.

  •  Application to the Z specification of an information system, use of pre and post conditions on events.






  • Z schema constructors: structures for operation definitions.
Methods of Teaching/Learning

Three lectures per week for nine weeks plus supporting example classes

Selected Texts/Journals



P. Grossman: Discrete Mathematics for Computing,  3rd edition (2009), Palgrave, ISBN  978-0-230-21611-2

R Haggarty: Discrete Mathematics for Computing, Pearson Education, (2002), ISBN 0-201-73047-2

N. Nissanke: Introductory logic and sets for computer scientists, Addison-Wesley, ISBN 0201179571

E Currie: The Essence of Z, Prentice Hall, (1999), ISBN 0-13-749839-X 

D Lightfoot: Formal Specification using Z, Palgrave (2001), ISBN 0-333-76327-0

Further reading:

K. Devlin: Sets, Functions and Logic, Chapman and Hall, (2003), ISBN: 1-5848-8449-5 
J. Girsting: Mathematical Structures for Computer Science, Freeman, (1999), ISBN: 0-7167-8306-1 
D. Vellerman: How to Prove it, CUP, (1996), ISBN 0-521-44116-1
B Potter, J Sinclair and D Till, An Introduction to Formal Specification and Z, Prentice Hall, (1996), ISBN 0-13-242207-7








Last Updated

06 AUGUST 2009 jg