Module Title:   Data Structures and Algorithms

Module Credit:   20

Module Code:   CM-0316L

Academic Year:   2015/6

Teaching Period:   Semester 1

Module Occurrence:   A

Module Level:   FHEQ Level 5

Module Type:   Linked 10+10

Provider:   Computer Science

Related Department/Subject Area:   School of Electrical Engineering & Computer Science

Principal Co-ordinator:   Professor Daniel Neagu

Additional Tutor(s):   Dr D R W Holton

Prerequisite(s):   None

Corequisite(s):   None

To introduce computational thinking for problem solving as core computer science knowledge that all computing practitioners are expected to know and use: to explore computational aspects of data representation and to develop familiarity with well-established and proven solutions to problems that occur frequently throughout computing and practical computing applications.

Learning Teaching & Assessment Strategy:
As fundamental part of Computer Science, Data Structures and Algorithms are introduced for each topic by a set of exercises designed to build knowledge, promote understanding and develop problem-solving skill. For each topic lectures expose concepts and introduce material and terminology in context. Tutorials provide opportunity for individual tuition.
Assessment is aligned.

Lectures:   24.00          Directed Study:   125.00           
Seminars/Tutorials:   24.00          Other:   0.00           
Laboratory/Practical:   24.00          Formal Exams:   3.00          Total:   200.00

On successful completion of this module you will be able to...

recognise common data structures and fundamental algorithms and be familiar with the associated terminology, define Abstract Data Types in terms of their data structures, identify algorithms and demonstrate their operation and effect in solving problems, assess efficiency of various implementations and justify choice of implementation for any particular application.

On successful completion of this module you will be able to...

construct and test simple algorithms using suitable data structures, analyse the complexity and running times for algorithms.

On successful completion of this module you will be able to...


  Coursework   20%
  Course work (2 Computing exercises).
  Examination - closed book 3.00 80%

Supplementary Assessment:
As Original

Outline Syllabus:
Pseudocode. Estimating algorithm running time: complexity analysis; asymptotic order notation. Abstract Data Types. ADTs, implementations and running times for linear structures (stacks, queues, lists, hash tables), binary trees (ordered, balanced, complete), multi-way trees, graphs. Searching and sorting methods.

Version No:  4