2016/17 Undergraduate Module Catalogue
COMP2711 Algorithms and Data Structures I
10 creditsClass Size: 120
Module manager: Dr Natasha Shakhlevich
Email: N.Shakhlevich@leeds.ac.uk
Taught: Semester 1 (Sep to Jan) View Timetable
Year running 2016/17
Pre-requisites
COMP1511 | Introduction to Discrete Mathematics |
COMP1721 | Object Oriented Programming |
This module is not approved as a discovery module
Module summary
This module focuses on key algorithms and data structures, that form the toolkit of a modern computer specialist. There may exist several algorithms for solving the same problem, and it is important to produce the one which is efficient in terms of the computation time. Our primary goal is to identify the most efficient solutions among those available and to provide a formal justification of that choice. Practicing with classical algorithms and data structures students will learn how to combine them in order to produce efficient algorithms for solving problems. Ultimately this will serve the foundation for developing algorithm design skills, which will be advanced in the subsequent module on more advanced algorithms and data structures.Objectives
On completion of this module, students should understand and be proficient in analysis and design of key algorithms that are fundamental to computing (searching, sorting, number conversion, goal seeking, backtracking) and in application of basic data structures (arrays, lists, stacks, and priority queues).Learning outcomes
On completion of the year/programme students should have provided evidence of being able to:
-demonstrate a broad understanding of the concepts, information, practical competencies and techniques which are standard features in a range of aspects of the discipline;
-apply generic and subject specific intellectual qualities to standard situations outside the context in which they were originally studied;
-appreciate and employ the main methods of enquiry in the subject and critically evaluate the appropriateness of different methods of enquiry;
-use a range of techniques to initiate and undertake the analysis of data and information.
Syllabus
Principles of algorithm design: iterative algorithms, recursive algorithms, brute force, divide-and-conquer. Analysis of algorithms: time and space efficiency, worst-case analysis of algorithms, big O notation, simple recurrence relations. Searching and sorting algorithms: sequential and binary search, selection sort, insertions sort, quicksort, mergesort, heapsort. Number systems: algorithms for converting from one number system to another. Simple data structures: arrays, lists, stacks, queues, heaps.
Teaching methods
Delivery type | Number | Length hours | Student hours |
Lecture | 22 | 1.00 | 22.00 |
Tutorial | 10 | 1.00 | 10.00 |
Private study hours | 68.00 | ||
Total Contact hours | 32.00 | ||
Total hours (100hr per 10 credits) | 100.00 |
Private study
Taught session preparation: 18 hoursTaught session follow-up: 18 hours
Self-directed study: 7 hours
Assessment activities: 23 hours
Opportunities for Formative Feedback
Coursework and labs.Methods of assessment
Coursework
Assessment type | Notes | % of formal assessment |
Assignment | Problem Sheet 1 | 10.00 |
Assignment | Problem Sheet 2 | 10.00 |
Total percentage (Assessment Coursework) | 20.00 |
Normally resits will be assessed by the same methodology as the first attempt, unless otherwise stated
Exams
Exam type | Exam duration | % of formal assessment |
Standard exam (closed essays, MCQs etc) | 2 hr 00 mins | 80.00 |
Total percentage (Assessment Exams) | 80.00 |
Normally resits will be assessed by the same methodology as the first attempt, unless otherwise stated
Reading list
The reading list is available from the Library websiteLast updated: 01/03/2017
Browse Other Catalogues
- Undergraduate module catalogue
- Taught Postgraduate module catalogue
- Undergraduate programme catalogue
- Taught Postgraduate programme catalogue
Errors, omissions, failed links etc should be notified to the Catalogue Team.PROD