Data Structures & Algorithms
Run by School of Computer Science and Electronic Engineering
10 Credits or 5 ECTS Credits
Overall aims and purpose
With data sets being capable of extremely large sizes, it is beneficial to automate processes in gathering, reading and manipulating data. This module will give you an understanding of varying data structures, and their best applications, as well as practical skills in planning, writing and testing your own bespoke Algorithms.
The module will give the learner a clear understanding of Data Types and Abstract Data Types including both theory and practical implementation skills. This will be achieved by understanding the following:
- Data storage (Lists, trees, graphs, hash tables, binary search trees).
- Algorithm design techniques.
- Algorithm creation and implementation.
- Algorithm efficiency using big-O and time complexity.
- Future of algorithm design, and usage including ethics.
Equivalent to the range 60%-69%. Is able to analyse a task or problem to decide which aspects of theory and knowledge to apply. Solutions are of a workable quality, demonstrating understanding of underlying principles. Major themes can be linked appropriately but may not be able to extend this to individual aspects. Outputs are readily understood, with an appropriate structure but may lack sophistication.
Equivalent to 40%. Uses key areas of theory or knowledge to meet the Learning Outcomes of the module. Is able to formulate an appropriate solution to accurately solve tasks and questions. Can identify individual aspects, but lacks an awareness of links between them and the wider contexts. Outputs can be understood, but lack structure and/or coherence.
Equivalent to the range 70%+. Assemble critically evaluated, relevent areas of knowledge and theory to constuct professional-level solutions to tasks and questions presented. Is able to cross-link themes and aspects to draw considered conclusions. Presents outputs in a cohesive, accurate, and efficient manner.
Create algorithms to fit a given brief.
Test algorithms using standardised measures.
Compare data structures for a variety of scenarios.
Design algorithms showing an awareness of ethics.
|Algorithm Implementation Project||65|
Teaching and Learning Strategy
|Practical classes and workshops||
Classroom-based element will include student-centred learning methods such as interactive lectures, case studies, group discussions and practical workshops.
Tutor directed student learning will be supported by online learning materials hosted or signposted on the Grŵp VLE.
- Literacy - Proficiency in reading and writing through a variety of media
- Numeracy - Proficiency in using numbers at appropriate levels of accuracy
- Computer Literacy - Proficiency in using a varied range of computer software
- Self-Management - Able to work unsupervised in an efficient, punctual and structured manner. To examine the outcomes of tasks and events, and judge levels of quality and importance
- Information retrieval - Able to access different and multiple sources of information
- Inter-personal - Able to question, actively listen, examine given answers and interact sensitevely with others
- Critical analysis & Problem Solving - Able to deconstruct and analyse problems or complex situations. To find solutions to problems through analyses and exploration of all possibilities using appropriate methods, rescources and creativity.
- Presentation - Able to clearly present information and explanations to an audience. Through the written or oral mode of communication accurately and concisely.
Subject specific skills
- Knowledge and understanding of facts, concepts, principles & theories
- Use of such knowledge in modelling and design
- Problem solving strategies
- Analyse if/how a system meets current and future requirements
- Deploy theory in design, implementation and evaluation of systems
- Recognise legal, social, ethical & professional issues
- Knowledge and understanding of commercial and economic issues
- Specify, design or construct computer-based systems
- Evaluate systems in terms of quality and trade-offs
- Deploy tools effectively
- Development of general transferable skills
- Deploy systems to meet business goals
- Knowledge of systems architecture
- Specify, deploy, verify and maintain information systems
- Defining problems, managing design process and evaluating outcomes
- System Design
- Knowledge and understanding of mathematical principles
- Knowledge and understanding of computational modelling
- Specify, deploy, verify and maintain computer-based systems
- Principles of appropriate supporting engineering and scientific disciplines
Courses including this module
Compulsory in courses:
- H116: BSc Applied Data Science (Degree Apprenticeship) year 2 (BSC/ADS)