## COMP2711 Algorithms and Data Structures I

### 10 creditsClass Size: 500

Module manager: Dr Natasha Shakhlevich
Email: N.Shakhlevich@leeds.ac.uk

Taught: Semester 1 (Sep to Jan) View Timetable

Year running 2022/23

### Pre-requisites

 COMP1511 Introduction to Discrete Mathematics COMP1721 Object Oriented Programming

This module is not approved as a discovery module

### Module summary

Algorithms are the underlying concept of which computer programs are the embodiment of. In order to appreciate a good solution to a problem it is essential that 'good' can be quantified in some rigorous manner. The primary focus of this module is to develop a tool-kit of knowledge and skills used in the design and analysis of algorithms and data structures.This module builds on previous mathematics modules and relies on the skills developed there for justifying the correctness of algorithms and their time and space requirements.

### Objectives

This module introduces the basics of algorithm design and analysis and provides students with the opportunity to practice these new skills on classical computer science algorithms and data structures. This module develops abstract problem solving skills and contributes to developing computer science professional who are capable of tackling real world problems.

Learning outcomes
On successful completion of this module a student will have demonstrated the ability to:

- analyse an algorithm in terms of time complexity.
- justify the correctness of an algorithm.
- trace an algorithm communicated in pseudo code.
- develop algorithms for real world problems.
- select an appropriate data structures for a given problem.
- articulate key concepts from the topic in a clear and rigorous manner.

### Syllabus

Syllabus This module covers the following 4 topic areas:

-Algorithm design : iterative algorithms, recursive algorithms, brute force algorithms and divide-and-conquer.
-Algorithm analysis : time and space complexity, worst case analysis and big-O notation.
-Searching & Sorting : sequential and binary search, selection sort, insertion sort, quicksort, mergesort and heapsort.
-Data structures : arrays, lists, stacks, queues and heaps.

### Teaching methods

 Delivery type Number Length hours Student hours Lecture 20 1.00 20.00 Tutorial 10 1.00 10.00 Private study hours 70.00 Total Contact hours 30.00 Total hours (100hr per 10 credits) 100.00

### Private study

Taught session preparation: 9 hours
Taught session follow-up: 9 hours
Self-directed study: 19 hours
Assessment activities: 24 hours

### Opportunities for Formative Feedback

Coursework and labs.

### Methods of assessment

Coursework
 Assessment type Notes % of formal assessment In-course Assessment Coursework 1 10.00 In-course Assessment Coursework 2 10.00 Total percentage (Assessment Coursework) 20.00

This module will be reassessed by an online time-constrained assessment.

Exams
 Exam type Exam duration % of formal assessment Standard exam (closed essays, MCQs etc) (S1) 2 hr 00 mins 80.00 Total percentage (Assessment Exams) 80.00

This module will be reassessed by an online time-limited assessment.