The University of Sheffield
School of Computer Science

COM113 Practical Algorithms and Data Structures

Summary

This module will introduce students to algorithms and data structures. This module will reinforce the programming concepts that were taught in the autumn semester's programming module while exploring essential data structures and algorithms. This includes a particular focus on algorithms used in traditional AI. Students will also learn to analyse the efficiency of algorithms and data structures, and make informed choices about these for practical problems.

Session Spring 2025/26
Credits 20
Assessment
  • Programming Assignment
  • Final examination
Lecturer(s) Dr James Mapp, Dr Jose Miguel Rojas, Dr Yoshi Gotoh & Mr Tahsin Khan
Resources
Aims

The aims of this module are:

  • To reinforce existing programming knowledge through implementation of common algorithms.
  • To demonstrate the implementation and analysis of algorithms commonly seen in the computing sciences.
Learning Outcomes

By the end of the module, the student will be able to:

  • Describe data structures and algorithms that are commonly used in computational solutions.
  • Implement these data structures and algorithms to provide computational solutions to problems.
  • Analyse the efficiency of algorithms.
  • Select appropriate data structures and algorithms to be used in the solutions for specific scenarios.
Content

Typical topics (subject to variation) include:

  • Algorithms as a technology
  • Efficiency of algorithms
  • Design and Analysis of Algorithms for Sorting
    • Insertion sort
    • Heap sort
    • Mergesort
    • Quicksort
    • Linear time sorting
  • Data Structures
    • Stacks and Queues
    • Linked lists
    • Binary search trees
    • Balanced trees
    • Graphs
  • Design and Analysis of Graph Algorithms
    • Searching in graphs
    • Finding shortest paths in graphs
    • Combinatorial graph problems
  • Algorithmic Design Paradigms 
    • Greedy algorithms
    • Divide and conquer
    • Dynamic programming

Teaching Method Lectures and labs
Feedback

Students will receive feedback on work carried out in the lab sessions. Additionally, demonstration sessions will give generic feedback on lab tasks. A number of automated quizzes will help students self assess their understanding and help guide their self study.