Skip to main content
 

COMP1081: ALGORITHMS AND DATA STRUCTURES

Please ensure you check the module availability box for each module outline, as not all modules will run in each academic year. Each module description relates to the year indicated in the module availability box, and this may change from year to year, due to, for example: changing staff expertise, disciplinary developments, the requirements of external bodies and partners, and student feedback. Current modules are subject to change in light of the ongoing disruption caused by Covid-19.

Type Open
Level 1
Credits 20
Availability Available in 2023/24
Module Cap
Location Durham
Department Computer Science

Prerequisites

  • A-level Mathematics Grade A.

Corequisites

  • COMP1051 Computational Thinking

Excluded Combinations of Modules

  • None

Aims

  • To introduce the theory and practice of problem solving in computing through the development of algorithms, and their associated data structures, for common computer science problems.

Content

  • Machine models.
  • Pseudocode and control flow structures.
  • Basic data structures.
  • Paradigms and techniques.
  • Analysis of algorithms.
  • Basic sorting and searching algorithms.
  • Basic graph theory and graph algorithms.

Learning Outcomes

Subject-specific Knowledge:

  • On completion of the module, students will be able to demonstrate:
  • a knowledge of common data structures and their relative advantages and disadvantages
  • familiarity with common algorithmic techniques
  • an appreciation and knowledge of asymptotic notation.

Subject-specific Skills:

  • On completion of the module, students will be able to demonstrate:
  • an ability to implement and use common data structures
  • an ability to select, apply and analyse algorithms.

Key Skills:

  • On completion of the module, students will be able to demonstrate:
  • the acquisition of a wide range of problem-solving skills
  • a facility to apply numeric and systematic reasoning to problem-solving.

Modes of Teaching, Learning and Assessment and how these contribute to the learning outcomes of the module

  • Lectures enable the students to learn new material relevant to algorithms and their data structures.
  • Problem classes enable the students to put into practice learning from lectures and strengthen their understanding through application; in particular, thorugh the implementation of algorithms.
  • Students are assessed by formative and summative assessment and examinations.

Teaching Methods and Learning Hours

ActivityNumberFrequencyDurationTotalMonitored
lectures442 per week1 hour44 
practical classes211 per week2 hours42Yes
preparation and reading114 
total200 

Summative Assessment

Component: ExaminationComponent Weighting: 66%
ElementLength / DurationElement WeightingResit Opportunity
Examination2 hours100Yes
Component: CourseworkComponent Weighting: 34%
ElementLength / DurationElement WeightingResit Opportunity
Practical work 100Yes

Formative Assessment

Example formative exercises are given during the course. Additional revison lectures are given in the module's lecture slots in the 3rd term.

More information

If you have a question about Durham's modular degree programmes, please visit our FAQ webpages, Help page or our glossary of terms. If you have a question about modular programmes that is not covered by the FAQ, or a query about the on-line Undergraduate Module Handbook, please contact us.

Prospective Students: If you have a query about a specific module or degree programme, please Ask Us.

Current Students: Please contact your department.