Data Structures & Algorithms
Rhedir gan School of Computer Science and Electronic Engineering
20 Credyd neu 10 Credyd ECTS
To allow students to use, select, implement and analyse a range of common abstract data types and algorithms.
Indicative content includes:
- Data Types, Abstract Data Types, Theory, implementations and uses of stacks, queues, lists, trees, graphs, hash tables, binary search trees.
- Constraints and Trade offs (time vs. space).
- Criteria for algorithms. Recursive algorithms: Towers of Hanoi. Data processing algorithms: sorting and searching. Graph theoretic algorithms: traversal, shortest path.
- Efficiency measures for time and space: rates of growth; asymptotic behaviour, big-O notation. Algorithm complexity classes (P, NP, NP-complete).
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.
Discuss the operation of common search and sort algorithms relating to the ADTs.
Identify common Abstract Data Types (ADTs) and their respective qualities and limitations.
Estimate the impact, in terms of space and time, of algorithms using Complexity Theory.
End of semester unseen examination.
|GWAITH CWRS||Assignment 1||
Programming assessment examining use of ADTs.
|GWAITH CWRS||Assignment 2||
Written assessment involving some programming, to compare the complexity of algorithms with two specified ADT implementations.
Strategaeth addysgu a dysgu
Traditional lectures (2 hrs x 12 weeks).
Tutor-directed private study including individual assessment and revision.
- Rhifedd - Medrusrwydd wrth ddefnyddio rhifau ar lefelau priodol o gywirdeb
- Defnyddio cyfrifiaduron - Medrusrwydd wrth ddefnyddio ystod o feddalwedd cyfrifiadurol
- Adalw gwybodaeth - Gallu mynd at wahanol ac amrywiol ffynonellau gwybodaeth
- Dadansoddi Beirniadol & Datrys Problem - Gallu dadelfennu a dadansoddi problemau neu sefyllfaoedd cymhleth. Gallu canfod atebion i broblemau drwy ddadansoddiadau ac archwilio posibiliadau
- Dadl - Gallu cyflwyno, trafod a chyfiawnhau barn neu lwybr gweithredu, naill ai gydag unigolyn neu mewn grwˆp ehangach
- Hunanymwybyddiaeth & Ystyried - Bod yn ymwybodol o'ch cryfderau, gwendidau, nodau ac amcanion eich hun. Gallu adolygu ,cloriannu a myfyrio'n rheolaidd ar eich perfformiad eich hun ac eraill.
Sgiliau pwnc penodol
- Apply an understanding and appreciation of continuous improvement techniques
- Solve problems logically and systematically;
- 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
- Evaluate systems in terms of quality and trade-offs
- Deploy tools effectively
- Development of general transferable skills
- System Design
- Knowledge and understanding of mathematical principles
- Knowledge and understanding of computational modelling
- Specify, deploy, verify and maintain computer-based systems