Please note

This document only provides information for the academic year selected and does not form part of the student contract

School:

School of Computing and Engineering

Credit Rating:

20

Level (including FHEQ):

F (FHEQ Level 4)

Graded or Non Graded:

Graded

Version Valid From:

2022-09-01

Module Leader:

Hadi Shafei

Version Number

2024.01

Learning Methods

Practical Classes and Demonstrations

Lecture

Guided Independent Study

Synopsis

In this module we introduce you to basic computing science and mathematical concepts related to software development. Topics covered include set theory, graphs and trees, finite state machines, grammars and languages, propositional logic and searching and sorting algorithms. You’ll put the theory into practice using a programming language and software … For more content click the Read More button below.

Learning Strategy

Both mathematical and computing science theoretical concepts will be introduced in a lecture series. This will be supported by a programme of practicals in which students will air issues in a broader context and study exercises to develop skills in developing and understanding algorithms, both expressed in abstract notations and … For more content click the Read More button below.

Outline Syllabus

Basic set theory: notation, union, intersection, difference, cardinality. Venn diagrams. Sequences: notation and operations. Graphs: paths, cycles, connectivity. Trees: notation and representation of algebraic expressions. Boolean matrices and digraphs. Propositional logic: connectives, requirements capture, truth tables, equivalence, semantic consequence, inference rules. Finite-state transducers: state-transition diagrams and tables. Finite-state recognisers and … For more content click the Read More button below. Grammars: production rules, BNF and EBNF notation, regular expressions. Classification of grammars. The basic components of algorithms described in a suitable language-independent notation:          basic data structures – arrays, lists, trees;          concepts for the modularisation of algorithms;          spanning tree and shortest distance algorithms for graphs;           basic searching and sorting algorithms.

Learning Outcomes

On successful completion of this module students will
1.
Demonstrate an understanding of fundamental algorithms, data structures, set theory and propositional logic.
2.
Appreciate the role of grammars and state machines as models for understanding languages and the relationship between different models of computation.
3.
Analyse graphs and apply sets and sequences to a problem context.
4.
Manipulate simple propositions and conduct proofs framed within the propositional calculus.
5.
Apply the theory of formal languages and use associated mathematical models

Formative Assessment

Assessment 1: Other

Summative Assessment

Assessment 1: Written Assignment

Assessment 2: In-Class Test

Assessment Criteria

Both the in-class test and the online quizzes will be assessed based on the accuracy and completeness of the submitted answers and based on the thoroughness of justification, where appropriate.

My Reading

Reading List