Module Code: |
H6DSA |
Long Title
|
Data Structures and Algorithms
|
Title
|
Data Structures and Algorithms
|
Module Level: |
LEVEL 6 |
EQF Level: |
5 |
EHEA Level: |
Short Cycle |
Module Author: |
Alex Courtney |
Departments: |
School of Computing
|
Specifications of the qualifications and experience required of staff |
This module requires a lecturer holding a BSc degree or higher, in computing/computer science or cognate discipline.
|
Learning Outcomes |
On successful completion of this module the learner will be able to: |
# |
Learning Outcome Description |
LO1 |
Explain the theory, concepts, principles and methods of the basic and complex data structures, and various algorithms used in computer science |
LO2 |
Use object-oriented techniques such as interfaces, inheritance, and generics to package abstract data types appropriately. |
LO3 |
Use iterative and recursive techniques to design and implement sorting and searching algorithms |
LO4 |
Demonstrate the use of good principles of algorithm design |
LO5 |
Identify and apply data structures and algorithms to solve real-life problems making use of emerging technologies and programming languages |
LO6 |
Conduct in depth algorithm analysis in terms of performance and time complexity and present the results |
Dependencies |
Module Recommendations
This is prior learning (or a practical skill) that is required before enrolment on this module. While the prior learning is expressed as named NCI module(s) it also allows for learning (in another module or modules) which is equivalent to the learning specified in the named module(s).
|
No recommendations listed |
Co-requisite Modules
|
No Co-requisite modules listed |
Entry requirements |
Learners should have attained the knowledge, skills and competence gained from stage 1 of the BSc (Hons) in Computing.
|
Module Content & Assessment
Indicative Content |
Linear Data Structures
ArrayLists, Single and Double Linked Lists, Stack, Queue and Priority Queue, Operations on linear structures, Implementing linear structures, Exemplification of linear data structures in real world scenarios
|
Non-Linear Structures - Trees
General tree: Features and characteristics, . Binary trees: Exemplification of (Binary) Tree in real world scenarios, Tree organization and traversal, Tree search, Balancing a tree. Search Trees: Purpose and features of the search tree, Binary Search Tree, Building and Implementing a Binary Search Tree, Exemplification of Binary Search Tree in real world scenarios
|
Non-Linear Structures - Graphs
Graph’s characteristics and representation, Types of Graph: simple, directed, weighted, mixed, etc., Operations performed on graphs, Implementation of graphs using linear data structures
|
Recursion
Recursive approach, Fibonacci sequence, Characteristics of recursive algorithms, Exemplification of recursion for solving real-life problems, Recursive sorting
|
Sorting Algorithms
Algorithms: Algorithm design & development , Algorithm’s features, Experimental based algorithm’s performance estimation, Time complexity: Big O Notation . Sorting Algorithms : Bubble sort, Insertion sort , Mergesort, Quicksort.
|
Searching algorithms
Sequential (linear) search, Binary search.
|
Graph algorithms
Graph search methods, Dijkstra’s Algorithm.
|
Assessment Breakdown | % |
Coursework | 50.00% |
End of Module Assessment | 50.00% |
AssessmentsFull Time
Coursework |
Assessment Type: |
Formative Assessment |
% of total: |
Non-Marked |
Assessment Date: |
n/a |
Outcome addressed: |
2,3,4,5,6 |
Non-Marked: |
Yes |
Assessment Description: Lab exercises that involve the use of various data structures and algorithms.Feedback will be provided in oral format, or on-line through Moodle. |
|
Assessment Type: |
Continuous Assessment |
% of total: |
50 |
Assessment Date: |
n/a |
Outcome addressed: |
2,3,4,5 |
Non-Marked: |
No |
Assessment Description: The assessment will consist of practical tasks in the form of an in-class tests that will assess learners’ knowledge and competences on data structures and algorithms. Feedback will be provided in oral format, or on-line through Moodle. |
|
End of Module Assessment |
Assessment Type: |
Terminal Exam |
% of total: |
50 |
Assessment Date: |
End-of-Semester |
Outcome addressed: |
1,6 |
Non-Marked: |
No |
Assessment Description: Terminal assessment exam taken over 2 hours consists of one mandatory question and two questions of which the student must answer one that assess students' understanding of the underlying theories and concepts. |
|
Reassessment Requirement |
Repeat examination
Reassessment of this module will consist of a repeat examination. It is possible that there will also be a requirement to be reassessed in a coursework element.
|
Reassessment Description Repeat examination Reassessment of this module will consist of a repeat examination. It is possible that there will also be a requirement to be reassessed in a coursework element. The repeat exam will assess all learning outcomes.
|
NCIRL reserves the right to alter the nature and timings of assessment
Module Workload
Module Target Workload Hours 0 Hours |
Workload: Full Time |
Workload Type |
Workload Description |
Hours |
Frequency |
Average Weekly Learner Workload |
Lecture |
Classroom & Demonstrations (hours) |
24 |
Every Week |
24.00 |
Tutorial |
Other hours (Practical/Tutorial) |
48 |
Every Week |
48.00 |
Independent Learning |
Independent learning (hours) |
178 |
Every Week |
178.00 |
Total Weekly Contact Hours |
72.00 |
Module Resources
Recommended Book Resources |
---|
-
Daniel Liang, Y.. (2017), , Introduction to Java Programming and Data Structures, Comprehensive Version, Global Edition, Pearson Education Limited.
-
Goodrich, M.T. and Tamassia, R ,. (2014), ,Data Structures and Algorithms in Java ,6th ,John Willey A Sons.
| This module does not have any article/paper resources |
---|
This module does not have any other resources |
---|
|