Registry

Module Specifications

Current Academic Year 2012 - 2013
Please note that this information is subject to change.

Module Title Data Structures and Algorithms
Module Code CA213
School School of Computing
Online Module Resources

Module Co-ordinatorSemester 1: Joseph Morris
Semester 2: Joseph Morris
Autumn: Joseph Morris
NFQ level 8 Credit Rating 5
Pre-requisite None
Co-requisite None
Compatibles None
Incompatibles None
Description
The module aims to give students an understanding of basic data structures and algorithms, most especially with respect to managing collections of data such as sets, sequences, and maps. Students will learn how to specify collections using abstract data types (ADTs), how to implement them using a variety of techniques such as linked lists and trees, and how to package them using object-oriented programming methods. Students will learn a range of basic algorithms including searching and sorting, and how to assess their computational cost. Students will also develop practical skills in implementing and testing algorithms on computers.

Learning Outcomes
1. Use iterative and recursive techniques to design and implement elementary algorithms.
2. Describe a variety of basic ADTs including sets, sequences, stacks, queues, and maps.
3. Implement the above ADTs using arrays, linked lists, search trees, and hash tables
4. Use object-oriented techniques such as interfaces, inheritance, and generics to package ADTs appropriately.
5. Analyse the time complexity of elementary algorithms, and justify the complexity of the above ADT implementations.
6. Incorporate ADTs and associated implementations appropriately into program solutions.
7. Describe and use a variety of searching and sorting algorithms.



Workload Full-time hours per semester
Type Hours Description
Laboratory20Practical exercises and examples
Independent learning76Review of lecture material, background reading
Lecture24Theory, practice & examples
Directed learning30Completion of problem sets
Total Workload: 150

All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml

Indicative Content and Learning Activities
Object-oriented programming.
Review of Java; classes and methods. Interfaces, inheritance, abstract classes, nested classes. Generic programming..

Algorithms.
Designing algorithms using iteration and recursion. Basic algorithmic complexity, big-O notation, comparison of algorithms..

Abstract data types.
The notion of abstract data type (ADT). Sets, sequences, maps, stacks, queues as ADTs; using them via the Java collections framework..

Basic data structures.
Linked lists, doubly-linked lists, binary search trees, balanced search trees; comparison of time complexities..

Hash tables.
Hash tables, implementation in arrays, separate chaining, open addressing, extensible hash tables. Directory structures..

Sorting and searching.
Bubble sort, insertion sort, selection sort, quicksort, merge sort, radix sort, binary search.

Assessment Breakdown
Continuous Assessment20% Examination Weight80%
Course Work Breakdown
TypeDescription% of totalAssessment Date
Practical/skills evaluationLab exam, programming exercise15%Week 5
Practical/skills evaluationLab exam, programming exercise15%Week 11
Reassessment Requirement
Resit arrangements are explained by the following categories;
1 = A resit is available for all components of the module
2 = No resit is available for 100% continuous assessment module
3 = No resit is available for the continuous assessment component
This module is category 3
Indicative Reading List
  • Koffman & Wolfgang: 2010, Data Structures: Abstraction and Design using Java, 2nd, Wiley, 978-0470128701
Other Resources
None
Array
Programme or List of Programmes
BSSAStudy Abroad (DCU Business School)
BSSAOStudy Abroad (DCU Business School)
CASEBSc in Computer Applications (Sft.Eng.)
DMEB.Eng. in Digital Media Engineering
ECSAStudy Abroad (Engineering & Computing)
ECSAOStudy Abroad (Engineering & Computing)
EEBEng in Electronic Engineering
HMSAStudy Abroad (Humanities & Soc Science)
HMSAOStudy Abroad (Humanities & Soc Science)
ICEBEng Info and Communications Engineering
SHSAStudy Abroad (Science & Health)
SHSAOStudy Abroad (Science & Health)
Timetable this semester: Timetable for CA213
Date of Last Revision11-JAN-11
Archives: