## COMP2711 Algorithms and Data Structures I

### 10 creditsClass Size: 300

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

Taught: Semester 1 (Sep to Jan) View Timetable

Year running 2020/21

### 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

Due to COVID-19, teaching and assessment activities are being kept under review - see module enrolment pages for information

 Delivery type Number Length hours Student hours Consultation 10 1.00 10.00 Lecture 22 1.00 22.00 Tutorial 10 1.00 10.00 Private study hours 58.00 Total Contact hours 42.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

This module is re-assessed by exam only.

### Opportunities for Formative Feedback

Coursework and labs.

### Methods of assessment

Due to COVID-19, teaching and assessment activities are being kept under review - see module enrolment pages for information

Coursework
 Assessment type Notes % of formal assessment In-course Assessment Coursework 1 10.00 In-course Assessment Coursework 2 15.00 In-course Assessment Coursework 3 15.00 In-course Assessment Engagement in homework (submissions as part of tutorial prep) 5.00 In-course Assessment Stretch exercises (submissions as part of tutorial prep) 5.00 Total percentage (Assessment Coursework) 50.00

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

Exams
 Exam type Exam duration % of formal assessment Online Time-Limited assessment 48 hr 00 mins 50.00 Total percentage (Assessment Exams) 50.00

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