Skip to main content Skip to navigation

WM189-15 Data Structures and Algorithms

Department
WMG
Level
Undergraduate Level 1
Module leader
Ejike Ezeh
Credit value
15
Module duration
12 weeks
Assessment
60% coursework, 40% exam
Study locations
  • University of Warwick main campus, Coventry Primary
  • Distance or Online Delivery

Introductory description

Modern digital systems, from apps and games to large-scale data platforms, rely on fast algorithms and well structured data. Developers often have to work within limits such as processing speed, memory, and scalability. Learning how to write efficient code is therefore an essential skill for anyone interested in computing. This module introduces the key ideas behind efficient data structures and algorithms.
You will learn how to choose the right structures, design better solutions, and understand why some approaches perform better than others. These skills will help you build reliable, high-performance software and prepare you for more advanced study.
This module contributes to AHEP 4 learning outcomes for Partial CEng and the BCS accreditation criteria for Full CITP, as referenced in the
learning outcomes.

Module web page

Module aims

This module aims to enhance students’ competency as efficient programmers through a systematic understanding and application of programming concepts such as arrays, linked lists, search, and sorting algorithms. By integrating theoretical principles with practical implementations, students will develop the necessary skills to design, analyse, and implement efficient data structures and algorithms to solve real-world problems. Additionally, the module will empower students with the tools required to pursue further research within the domain of computer science.

Outline syllabus

This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.

Basic and advanced data structures;
Algorithmic paradigms and design; brute force, divide & conquer, dynamic programming, greedy algorithms, backtracking;
Searching algorithms,
Sorting algorithms,
Graph data structures.
Space and Time complexity (O-notation).

Learning outcomes

By the end of the module, students should be able to:

  • Describe the fundamental data structures and discuss their trade-offs in different contexts [AHEP:4-C1] [CITP: 2.1.1].
  • Analyse a range of algorithms by evaluating their complexity [AHEP:4-C1, C2] [CITP: 2.2.2].
  • Evaluate common algorithm design techniques based on their strengths and limitations, and correctly apply them to solve real-world problems [AHEP:4-C3, C4, C13] [CITP: 2.1.1, 2.2.1, 2.2.2].
  • Implement efficient data structures and algorithms to solve complex computational problems [AHEP:4-C2, C3, C5] [CITP: 2.1.1, 2.1.2, 2.2.1].

Indicative reading list

Reading lists can be found in Talis

Specific reading list for the module

Subject specific skills

Analyse a business problem in order to specify an appropriate digital and technology solution (S3).
Initiate, design, code, test and debug a software component for a digital and technology solution (S4).
Use appropriate analysis methods, approaches and techniques in software engineering projects to deliver an outcome that meets requirements (S18).

Transferable skills

Problem Solving: Use rational and logical reasoning to deduce appropriate and well-reasoned conclusions. Retain an open mind, optimistic of finding solutions, thinking laterally and creatively to look beyond the obvious. Knows how to learn from failure.
Written communication: Present arguments, knowledge, and ideas, in a range of formats.
Active listening: questioning, reflecting, summarising.
Critical Thinking: Recognise patterns, themes, and key messages from sometimes confused and incomplete data. Make informed decisions on the value of a range of sources allowing an evidence-based conclusion based on this analysis.
Professionalism: Prepared to operate autonomously. Aware of how to be efficient and resilient. Self-motivated, setting and achieving goals, prioritising tasks.

Study time

Type Required
Lectures 15 sessions of 1 hour (10%)
Tutorials 5 sessions of 1 hour (3%)
Practical classes 5 sessions of 1 hour (3%)
Supervised practical classes 5 sessions of 1 hour (3%)
Online learning (independent) 20 sessions of 1 hour (13%)
Private study 40 hours (27%)
Assessment 60 hours (40%)
Total 150 hours

Private study description

-pre-module preparation and quizzes.

  • self-guided study.
    -research and online engagement.

Costs

No further costs have been identified for this module.

You must pass all assessment components to pass the module.

Assessment group D
Weighting Study time Eligible for self-certification
Assessment component
Coursework 60% 36 hours Yes (extension)

A practical assignment where you design, justify, and implement
data structures and algorithms to solve a real problem. You will apply what you have learned
to produce an efficient, working solution. You will submit a written report along with code implementation.

Reassessment component
Coursework No

A practical assignment where you design, justify, and implement
data structures and algorithms to solve a real problem. You will apply what you have learned
to produce an efficient, working solution. You will submit a written report along with code implementation.

Assessment component
Examination 40% 24 hours No

A timed test that assesses your understanding of core data structures and your ability to analyse a range of algorithms and their complexities.

Reassessment component is the same
Feedback on assessment

-Verbal feedback during sessions, practical classes and tutorials.
-Formative feedback given for individual contributions.
-Written feedback for assessed work.

Past exam papers for WM189

Courses

This module is Core for:

  • Year 2 of DWMS-H655 Undergraduate Digital and Technology Solutions (Cyber) (Degree Apprenticeship)
  • Year 2 of DWMS-H652 Undergraduate Digital and Technology Solutions (Data Analytics) (Degree Apprenticeship)
  • Year 2 of DWMS-H653 Undergraduate Digital and Technology Solutions (Network Engineering) (Degree Apprenticeship)
  • Year 2 of DWMS-H654 Undergraduate Digital and Technology Solutions (Software Engineering) (Degree Apprenticeship)