The University of Sheffield
School of Computer Science

COM415 Programming, Algorithms and Data Structures

Summary Students on this module will learn how to write software programs in python and develop an understanding of programming techniques such as conditions, loops, functions, and object oriented programming. This module introduces students to the design and analysis of efficient algorithms and data structures. Students learn how to quantify the efficiency of an algorithm and what algorithmic solutions are efficient. Techniques for designing efficient algorithms are taught, including efficient data structures for storing and retrieving data. This is done using illustrative and fundamental problems: searching, sorting, graph algorithms, and combinatorial problems such as finding the shortest paths in networks.
Session Autumn 2026/27
Credits 30
Assessment
  • Programming Assignment
  • Module Quiz
  • Formal Examination   
Lecturer(s) Dr Charles Grellois, Dr Delvin Ce Zhang & Jonny Mitchell
Resources
Aims
  • TBC
Learning Outcomes  By the end of the unit, a student will have acquired:
  • Recognise and apply fundamentals of Python programming as an object oriented language to programming problems.
  • Demonstrate the ability to write well structured and maintainable Python programs that conform to the Python language conventions.
  • 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 TBC
Restrictions

Only available to students on COMT19 MSc in Computer Science.

Teaching Method TBC
Feedback Feedback will be provided by:
  • TBC