Introductory description
Data structures and algorithms are fundamental to programming and to understand computation. The purpose of this module is to provide students with a coherent introduction to techniques for using data structures and some basic algorithms, and with the tools for applying these techniques to computational problems.
Module aims
Teaching and learning methods include lectures and reading materials which describe algorithmic techniques and applications of these techniques to specific problems. Problem sheets give students opportunities to practice problem solving.
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.
 Basics of algorithm analysis.
 Elementary graph algorithms.
 Greedy algorithms.
 Divideandconquer algorithms.
 Dynamic programming.
 Network flows.
 NP and computational intractability.
Learning outcomes
By the end of the module, students should be able to:
 Understanding a variety of techniques for designing algorithms and data structures, and ability to use them to solve problems.
 Understand a variety of data structures and be able to use them effectively to use them effectively in design and implementation of algorithms.
 Understand a variety of techniques for designing efficient algorithms, proving their correctness, and analysing their efficiency.
 Understand some fundamental algorithmic problems and algorithms for solving them.
Indicative reading list
Please see Talis Aspire link for most up to date list.
View reading list on Talis Aspire
Subject specific skills
 Designing algorithms
 Using data structures in algorithm design
 Analysing resource requirements and efficiency of algorithms
 Proving correctness of algorithms
Transferable skills
 Critical and creative thinking, problem solving
 Reading, understanding, and writing for mathematics and algorithms
 Written communication: problems, solutions, analysis
Study time
Type 
Required 
Lectures 
30 sessions of 1 hour (20%)

Seminars 
10 sessions of 1 hour (7%)

Private study 
110 hours (73%)

Total 
150 hours 
Private study description
 Revising the material covered in the lectures and seminars.
 Reading the recommended textbooks (relevant sections and chapters).
 Attempting the problems from exercise sheets before weekly seminar classes.
 Understanding the feedback given on assessed work and in weekly seminar classes.
 Further problem solving based on revision and selfstudy exercises posted in the exercise sheets.
 Further problem solving based on textbook content.
Costs
No further costs have been identified for this module.
You do not need to pass all assessment components to pass the module.
Students can register for this module without taking any assessment.
Assessment group D2

Weighting 
Study time 
CS260 class test

20%


45 minute class test

Coursework 2

5%


Coursework 1

5%


Inperson Examination

70%


CS260 exam
 Answerbook Pink (12 page)

Assessment group R1

Weighting 
Study time 
Inperson Examination  Resit

100%


CS260 resit examination
 Answerbook Pink (12 page)

Feedback on assessment
Individual written feedback on each assignment.
Past exam papers for CS260
Courses
This module is Core for:

UCSAG500 Undergraduate Computer Science

Year 2 of
G500 Computer Science

Year 2 of
G500 Computer Science

UCSAG503 Undergraduate Computer Science MEng

Year 2 of
G500 Computer Science

Year 2 of
G503 Computer Science MEng

Year 2 of
G503 Computer Science MEng

Year 2 of
UCSAI1N1 Undergraduate Computer Science with Business Studies

USTAG302 Undergraduate Data Science

Year 2 of
G302 Data Science

Year 2 of
G302 Data Science

Year 2 of
USTAG305 Undergraduate Data Science (MSci) (with Intercalated Year)

UCSAG4G1 Undergraduate Discrete Mathematics

Year 2 of
G4G1 Discrete Mathematics

Year 2 of
G4G1 Discrete Mathematics

Year 2 of
UCSAG4G3 Undergraduate Discrete Mathematics
This module is Option list B for:

Year 2 of
UMAAG105 Undergraduate Master of Mathematics (with Intercalated Year)

Year 2 of
USTAG300 Undergraduate Master of Mathematics,Operational Research,Statistics and Economics

UMAAG100 Undergraduate Mathematics (BSc)

Year 2 of
G100 Mathematics

Year 2 of
G100 Mathematics

Year 2 of
G100 Mathematics

UMAAG103 Undergraduate Mathematics (MMath)

Year 2 of
G100 Mathematics

Year 2 of
G103 Mathematics (MMath)

Year 2 of
G103 Mathematics (MMath)

Year 2 of
UMAAG106 Undergraduate Mathematics (MMath) with Study in Europe

Year 2 of
UMAAG1NC Undergraduate Mathematics and Business Studies

Year 2 of
UMAAG1N2 Undergraduate Mathematics and Business Studies (with Intercalated Year)

Year 2 of
UMAAGL11 Undergraduate Mathematics and Economics

Year 2 of
UECAGL12 Undergraduate Mathematics and Economics (with Intercalated Year)

Year 2 of
UMAAG101 Undergraduate Mathematics with Intercalated Year