Click here to start your application. Apply now

Academic Handbook Postgraduate Programmes

NCHCS773 Discrete Structures Course Descriptor

Course Title Discrete Structures Faculty Philosophy
Course code NCHCS773 Course Leader TBC
Credit points 15 Teaching Period Either
FHEQ level Level 7 Date approved January 2021
Compulsory/ Optional  Compulsory Date modified
Pre-requisites None
Co-requisites None

Course Summary

This course introduces students to the mathematical “tools” (e.g. proof techniques), data structures and algorithms that form the foundation of computer science. At the same time, it explains how these concepts are used in modern, real-world applications.

In this course, students have the opportunity to learn: (i) how data are represented on a computer; (ii) basic logical operations on data and how they can be combined to implement more complex relations; (iii) basic data structures (e.g. sets, sequences, lists, trees, and graphs) and algorithms to manipulate them (e.g. sorting an array) or query them (e.g. finding shortest paths in a graph); and (iv) basic mathematical techniques (e.g. counting or induction) and how they can be used to estimate the space and time complexity of algorithms (i.e. their growth) as a function of the input size.

This course is suitable for graduate students of disciplines other than computing who are keen to acquire new (or deepen their existing) knowledge of computing.

Course Aims

The aims of this course are to:

  • Systematically understand data representation, logical operations on data, use of basic data structures and algorithms to manipulate data in modern software.
  • Critically evaluate which basic data structures, algorithms or logical operations are best-suited to implement a small computing problem (e.g. a function).

Learning Outcomes

On successful completion of the course, students will be able to:

Knowledge and Understanding

K1d Systematically understand number representation and logical formulas; and use them efficiently when coding a function.
K2d Develop a critical awareness of essential data structures used to store and manipulate data efficiently in a computer program.
K3d Master mathematical techniques (e.g. counting or sums) to analyse the number of operations in an algorithm as a function of the input size and the input data representation. 
K4d Understand the technical, social and management dimensions of algorithms, their correctness and complexity, in real-world applications.

Subject Specific Skills

S1d Critically review basic data structures, algorithms and logical operations in existing software, identify limitations and propose alternatives for improvement.
S2d Communicate with mathematical rigour the complexity of basic data structures, algorithms and logical operations.
S3d Identify and implement efficiently basic data structures, algorithms and logical operations on data that arise in a software application.

Transferable and Professional Skills

T1d Critically review and analyse the complexity of existing software that uses basic data structures, algorithms or logical operations on data and propose ways for improvement.
T2d Explain basic data structures, algorithms and logical operations on data to both technical and non-technical audiences.
T2d Consistently display an excellent level of technical proficiency in written English and command of scholarly terminology, so as to be able to deal with complex issues in a sophisticated and systematic way.
T3d Contribute to the design and implementation of software that uses basic data structures, algorithms and logical operations on data.

Teaching and Learning

Teaching and learning strategies for this course will include: 

  • 15 (10 x 1.5) hours of full-cohort lectures
  • 15 (10 x 1.5) hours of lab sessions
  • 20 (10 x 2) office hours 

There will be one lecture and one lab session per teaching week, 11/2 hours each. Lab sessions give students the opportunity to work on their (formative and summative) assignments with the help of the course leader and teaching assistants.

Course information and supplementary materials are available on the University’s Virtual Learning Environment (VLE).

Students are required to attend and participate in all the formal and timetabled sessions for this course. Students are also expected to manage their directed learning and independent study in support of the course.

Employability Skills

  • Communication skills
  • Mathematical skills
  • Programming skills

Assessment

Formative

Students will be formatively assessed during the course by means of set assignments. These do not count towards the end of year results but will provide students with developmental feedback. Set assignments will also amplify problem-solving skills useful for the set exercises.

Summative

Assessment will be in the form of set exercises:

AE: Assessment Activity Weighting (%) Online submission Duration Length
1 Set exercises 50 Yes N/A Code and up to 2500-word explanation
2 Set exercises 50 Yes N/A Code and up to 2500-word explanation

The set exercises will be assessed in accordance with the assessment aims set out in the Programme Specification. 

Feedback

Students will receive formal feedback in a variety of ways: written (including via email correspondence); oral (on an ad hoc basis) and indirectly through discussion during group tutorials. Students will also attend the formal meeting, Collections, in which they will receive constructive and developmental feedback on their  performance. 

Feedback is provided on summative written assignments which will be handed back to the students.

Indicative Reading

Note: Comprehensive and current reading lists for courses are produced annually in the Course Syllabus or other documentation provided to students; the indicative reading list provided below is used as part of the approval/modification process only.

Books

Harriet Fell and Javed Aslam. 2017. Discrete Structures. Cognella Academic Publishing

Kenneth H. Rosen. 2019. Discrete Mathematics and its Applications (8th ed.). McGraw-Hill, Inc.

Indicative Topics

Students will study the following topics: 

  • Number representations (e.g. binary and hexadecimal)
  • Logic, logical operators
  • Integer functions
  • Combinatorics: sets, counting and probability
  • Sequences, sums, and series (e.g. arithmetic and geometric)
  • Basic data structures: array, list, stack, queue, hash tables
  • Graphs, their representation and elementary algorithms (e.g. spanning trees)
  • Algorithms for searching and sorting
  • Recursion, mathematic induction, and recurrences
  • Runtime analysis: Big-O notation and complexity classes
NCHCS773 Discrete Structures Approved by: Academic Board

Location: Academic Handbook/Programme specifications and Handbooks/ Postgraduate Programme Specifications/MA Philosophy & Artificial Intelligence Specification/Course Descriptors

Version number Date approved Date published  Owner Proposed next review date Modification (As per AQF4) & category number
3.0 October 2022 January 2023 Dr Brian Ball April 2025 Category 1: Corrections/clarifications to documents which do not change approved content or learning outcomes

Category 3: Change to Learning Outcome

2.0 January 2022 May 2022 Dr Brian Ball January 2026 Category 3: Change to learning outcomes.
1.0 January 2021 March 2021 Dr Brian Ball January 2026
Print/Save PDF