Academic Handbook Course Descriptors and Programme Specifications
LCSCI5204 Algorithms and Data Course Descriptor
Last modified on September 12th, 2024 at 4:30 pm
Course code | LCSCI5204 | Discipline | Computer & Data Science |
UK credit | 15 | US credit | 4 |
FHEQ level | 5 | Date approved | November 2022 |
Core attributes | Conducting Formal and Quantitative Reasoning (FQ) | ||
Pre-requisites | LCSCI4212 Discrete Structures and (LCSCI4208 Fundamentals of Computer Science II or LDSCI4211 Intermediate Programming with Data) | ||
Co-requisites | None |
Course Overview
Correct and efficient algorithms are at the heart of software development: How much time does a computer program take to output a solution? How much memory space does it occupy? This course introduces the basic principles and techniques for the design, analysis, and implementation of correct and efficient algorithms and data representations. The course concludes with a discussion of the relationship of the topics covered to complexity theory and the notion of the hardness of problems.
Learning Outcomes
On successful completion of the course, students will be able to:
Knowledge and Understanding
K1b | Critically understand aspects of algorithmic problems (e.g. sorting) and well-established algorithms and techniques that solve those problems (e.g. dynamic programming). |
K2b | Demonstrate knowledge and critical understanding of techniques to rigorously analyse the time and space complexity of algorithms. |
K3b | Critically assess and review the appropriateness of well-established algorithms used in existing software in terms of their complexity, identify limitations, and propose alternatives for improvement. |
Subject Specific Skills
S1b | Critically evaluate the technical, social, and management dimensions of algorithms used in industry applications. |
S2b | Identify and implement algorithms to solve problems that arise in a software application efficiently. |
S3b | Review and analyse the complexity of proposed software and propose directions for improvement |
Transferable and Employability Skills
T1b | Communicate with mathematical rigour the complexity of algorithms. |
T3b | Demonstrate a sound technical proficiency in written English and skill in selecting vocabulary so as to communicate effectively to specialist and non-specialist audiences. |
Teaching and Learning
This course has a dedicated Virtual Learning Environment (VLE) page with a syllabus and range of additional resources (e.g. readings, question prompts, tasks, assignment briefs, discussion boards) to orientate and engage students in theirr studies.
The scheduled teaching and learning activities for this course are:
Lectures/labs. 40 scheduled hours – typically including induction, consolidation or revision, and assessment activity hours:
- Version 1:All sessions in the same sized group, or
- Version 2: most of the sessions in larger groups; some of the sessions in smaller groups
Faculty hold regular ‘office hours’, which are opportunities for students to drop in or sign up to explore ideas, raise questions, or seek targeted guidance or feedback, individually or in small groups.
Students are to attend and participate in all the scheduled teaching and learning activities for this course and to manage their directed learning and independent study.
Indicative total learning hours for this course: 150
Assessment
Both formative and summative assessment are used as part of this course, with purely formative opportunities typically embedded within interactive teaching sessions, office hours, and/or the VLE.
Summative Assessments
AE: | Assessment Activity | Weighting
(%) |
Duration | Length
(words) |
1 | Set Exercises | 50 | 24-32 hours | |
2 | Exam | 25 | 75 min. | |
3 | Exam | 25 | 75 min. |
Further information about the assessments can be found in the Course Syllabus.
Feedback
Students will receive formative and summative feedback in a variety of ways, written (e.g. marked up on assignments, through email or the VLE) or oral (e.g. as part of interactive teaching sessions or in office hours).
Indicative Reading
Note: Comprehensive and current reading lists are produced annually in the Course Syllabus or other documentation provided to students; the indicative reading list provided below is for a general guide and part of the approval/modification process only.
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. 2009. Introduction to Algorithms, 3rd Edition. MIT Press.
- Jon Kleinberg and Eva Tardos. 2013. Algorithm Design. Pearson.
- Sanjoy Dasgupta, Christos H. Papadimitriou, and Umesh Vazirani. 2006. Algorithms (1st. ed.). McGraw-Hill.
Indicative Topics
Note: Comprehensive and current topics for courses are produced annually in the Course Syllabus or other documentation provided to students; the indicative topics provided below is used as a general guide and part of the approval/modification process only.
- Techniques for algorithm analysis
- Divide-and-conquer algorithms
- Dynamic programming
- Stable matching: the Gale-Shapley Algorithm
- Basic graph algorithms
- Network flow algorithms and applications
- NP-completeness
- Greedy algorithms
Version History
Title: LCSCI5204 Algorithms and Data
Approved by: Dr Alison Statham Location: academic-handbook/programme-specifications-and-handbooks/undergraduate-programmes |
|||||
Version number | Date approved | Date published | Owner | Proposed next review date | Modification (as per AQF4) & category number |
1.1 | July 2023 | September 2024 | Dr Alexandros Koliousis | November 2027 | Corrections/clarifications to documents which do not change approved content or learning outcomes |
1.0 | November 2022 | January 2023 | Dr Alexandros Koliousis | November 2027 |