Indicative Content |
Data Structures and Algorithms.
Computational model for solving a real-world problems.
Data types and data structures. Representing information from a problem domain.
Algorithm specification and implementation. Manipulation of the information to solve problems.
|
Abstract Data type (ADT).
Datatype: Values, operations and internal representation.
Data type: Values, operations and internal representation.
ADT: Separation of data usage from its internal representation.
Creator, observer and mutator operations. Partial and total properties.
Generics: Separation of data construction from its underlying elements.
|
Linear-based ADTs.
Brief declarative semantics of linear-based ADTs.
ADT list. Specification: Minimal set of operations. Representation: Static (array-based) vs. dynamic (node-based) implementations.
Extending the interface: Supplementary operations.
Addition linear-baased ADTs: Stacks and queues.
|
Divide and Conquer Algorithms.
Direct solution vs. decomposition solutions. Recursion as a problem solving technique.
Applications: Sorting and searching problems.
|
Greedy Algorithms.
Selected and discarded candidates. Selection, satisfiability and solution functions.
Applications: Resource allocation and scheduling problems.
|
The University reserves the right to alter the nature and timings of assessment
Module Resources
|
Recommended Book Resources |
---|
-
Narashimha Karumanchi. (2016), Data Structures And Algorithms Made Easy, CareerMonk, [ISBN: 9788193245279].
-
Richard Neapolitan. (2014), Foundations of Algorithms, 5th. Jones and Bartlett Publishers, [ISBN: 9781284049190].
|
Supplementary Book Resources |
---|
-
Thomas H. Cormen et. al.. (2009), Introduction to Algorithms, 3rd. MIT Press, [ISBN: 9780262033848].
-
Christopher Steiner. (2012), Automate This: How Algorithms Came to Rule Our World, Penguin, [ISBN: 9781591844921].
-
John V. Guttag. (2013), Introduction to Computation and Programming Using Python, MIT Press, [ISBN: 9780262525008].
-
Michael T. Goodrich et. al.. (2014), Data Structures and Algorithms in Java, Wiley Publishing, [ISBN: 9781118771334].
-
Michael T. Goodrich et. al.. (2013), Data Structures and Algorithms in Python, Wiley Publishing, [ISBN: 9781118290279].
|
This module does not have any article/paper resources |
---|
Other Resources |
---|
-
Website, Learn to think as a Computer Scientist,
-
Website, Data Structure Visualizations,
-
Website, CodinGame - Practice coding with fun
programming challenges,
-
Website, Python documentation,
-
Website, Java documentation,
|