Data Structures & Algorithms Mastery Through Python



The knowledge to implement
algorithms and data structures that solve real problems, and knowing the
purpose, complexity and use of algorithms is part of an essential toolkit for
software engineers. An algorithm is a sequence of instructions used to manipulate
data held in a structured form and together constitute design patterns for solving
a diverse range of computer problems, including network analysis, cryptography,
data compression and process control.

This unit introduces students to
data structures and how they are used in algorithms, enabling them to design
and implement data structures. The unit introduces the specification of
abstract data types and explores their use in concrete data structures. Based
on this knowledge, students should be able to develop solutions by specifying, designing
and implementing data structures and algorithms in a variety of programming
paradigms for an identified need.

Among the topics included in
this unit are abstract data types specification, formal data notations, data
encapsulation, complex data structures, programming language implementations
using handles, pointers, classes and methods, algorithm types, data structure
libraries, algorithm complexity, asymptotic testing and benchmarking. On
completion of this unit the student should be able to identify program data requirements,
specify abstract data types using a formal notation, translate into concrete
data structures and be able to develop, using a programming paradigm, different
sorting, searching and navigational algorithms that implement complex data structures
and evaluate their effectiveness.

As a result of
studying this unit students will develop skills such as communication literacy,
critical thinking, analysis, synthesis, reasoning and interpretation, which are
crucial for gaining employment and developing academic competence.

Learning Outcomes

By the end of the unit students will be able to:

LO1. Examine abstract data types, concrete data structures and algorithms.

LO2. Specify abstract data types and algorithms in a formal notation.

LO3. Implement complex data structures and algorithms.

LO4. Assess the effectiveness of data structures and algorithms.

Translate »