Module Catalogues

Data Structure and Algorithms

Module Title Data Structure and Algorithms
Module Level Level 2
Module Credits 5.00

Aims and Fit of Module

The aims of this module are to:
1. Provide students with a comprehensive understanding of various data structures and their associated algorithms, including their internal representations and applications in problem-solving.
2. Develop students’ ability to analyze and compare the time and space complexity of different algorithms and data structures, enabling them to make informed choices based on performance characteristics.
3. Equip students with the skills to select appropriate data structures for efficient algorithm implementation and articulate the reasoning behind their choices, incorporating potential AI-driven insights for improved selection.
4. Familiarize students with AI-powered tools for code analysis and refactoring, and assess their effectiveness in enhancing code quality and maintainability.
5. Promote collaboration between students and AI in a programming context, leveraging AI’s capabilities to augment problem-solving and algorithmic thinking, while maintaining a critical understanding of the AI’s limitations.

Fit of this module:
 This module aligns with the current trends in the field of computer science by integrating AI concepts into the study of data structures and algorithms. It allows students to explore the intersection of traditional programming concepts with modern AI techniques, preparing them for a future where AI plays an increasingly significant role in software development.
 By incorporating AI-driven insights into the selection of data structures and algorithms, students will be able to make more decisions and develop more efficient solutions to complex problems.
 The use of AI-powered tools for code analysis and refactoring will provide students with hands-on experience in leveraging AI to improve code quality and maintainability, making them more proficient and productive in their programming tasks.
 Through collaboration with AI, students will gain a deeper understanding of its capabilities and limitations, enabling them to critically assess the role of AI in software development and make effective use of AI tools in their future careers.
 Overall, this module aims to bridge the gap between traditional computer science knowledge and the latest advancements in AI, providing students with a well-rounded skill set that is highly relevant in today’s technology-driven world.

Learning outcomes

A. Apply a variety of data structures and their associated algorithms, and understand their internal representations
B. Analyze and compare the time and space complexity of different algorithms and data structures, and make informed choices based on performance characteristics
C. Select appropriate data structures for efficient algorithm implementation, and articulate the reasoning behind the choices.
D. Use AI-powered tools for code analysis and refactoring, and evaluate their effectiveness in improving code quality and maintainability.
E. Collaborate with AI in a programming context, leveraging its capabilities to augment problem-solving and algorithmic thinking, while maintaining a critical understanding of the AI’s limitations.

Method of teaching and learning

The module adopts a teaching philosophy aligned with Syntegrative Education, emphasizing intensive block teaching and meaningful engagement with industry partners. This approach is reflected in the assessment strategy, which reduces reliance on examinations and instead focuses on coursework, particularly problem-based assessments that are project-centric. The delivery pattern is designed to provide students with dedicated time to focus on completing these assessments throughout the semester.

The teaching and learning methods could potentially integrate the following components:
1. Academic Content and Practical Skills:
 Students are expected to attend lectures that introduce them to the theoretical foundations and practical skills related to data structures, algorithms, and AI integration.
 Seminars, tutorials, and practical sessions in a computer lab will be conducted to facilitate hands-on practice, application of concepts, and development of problem-solving skills.

2. Industry Engagement:
 The module will involve intensive block teaching, allowing for more significant contributions from industry partners through guest lectures, workshops, or seminars.
 Industry experts will provide real-world insights, share contemporary practices, and offer mentorship opportunities, bridging the gap between academic knowledge and industry applications.

3. Problem-based Learning:
 Coursework assessments will be problem-based, focusing on project-centric tasks that require students to apply their knowledge and skills to real-world scenarios.
 These assessments will encourage independent thinking, critical analysis, and innovative problem-solving, while also promoting collaboration and communication skills.

4. Private Study and Reflection:
 Students will be allocated time for private study, enabling them to reinforce their understanding of the module content, engage with background reading, and reflect on their learning experiences.
 Private study hours will also be utilized for solving continuous assessment tasks, allowing students to apply their knowledge and skills independently.

5. AI-Enhanced Learning and Supportive Learning Ecosystem:
 The module will incorporate AI-enhanced tools and technologies to support teaching and learning, including personalized learning materials, intelligent tutoring, and adaptive assessments.
 An AI Assistant and Learning Mentor will be available to provide personalized guidance, support, and feedback, ensuring that students receive tailored support throughout their learning journey.