• CMPU1017
  • Programming & Algorithms 2

  • Credits (ECTS): 10
  • Computing

Modules are delivered
as part of a programme.
To apply for the
programme,
see the DIT website

Module Description

This module is a continuation of the Programming and Algorithms 1 module and addresses the need of students to develop their understanding of procedural programming, algorithms and persistent data.

Module Aims

The aims of this module are to teach the more advanced aspects of procedural programming also teach the efficient storage and retrieval of persistent data and finally further teach the principles of good program design, implementation, documentation and testing.

Indicative Syllabus

1. Program data structures: Strings and arrays. Dynamic memory allocation, user-defined structures, abstract data types,enumerated data types.
2. Data Persistence: Text files, Binary files, serial, sequential and random access. Creation, deletion and tests for the existence of files. File input and output.
3. Testing: Objectives and principles of testing. Choosing appropriate test data. Testing and debugging strategies.
4. Advanced Data Structures: Lists, Stacks, Queues and Heaps.
5. Advanced Algorithms: Shell, Quick, Merge, Heap. Binsort and Radix sort. An Empirical Comparison of sorting algorithms. Searching Sorted Arrays. Binary Search. Binary Search Trees. Recursion. Hashing. Encryption. File sorting. File merging. File matching.
6. Data Integrity and Retention: Data quality, accuracy and timeliness. Retention. Backup and recovery: full and incremental backup and restore, planning and dry-runs.
7. Data Security: physical and system. Technical and regulatory requirements.

Total Contact Teaching Hours:39

Please note that the catalogue is provided as a guide to modules in DIT. Not all modules listed will necessarily be offered every year and new modules may also be added. Information subject to change. For detail on specific programmes/modules please contact the relevant School directly.