This module is a continuation of the Programming and Algorithms 1 module and it addresses the need of students to develop their understanding of programming and algorithms.
The aims of this module are to:
-
Teach the more advanced aspects of programming
-
Teach a range of advanced approaches to software development and data management.
-
Advanced programming using procedural and object-oriented paradigms as appropriate.
-
Advanced Data Structures: Lists, Stacks, Queues and Heaps.
-
Advanced Algorithms such as: Shell, Quick, Merge, Heap. Binsort and Radix sort.
-
Data Management: Text files, Binary files, serial, sequential and random access. Creation, deletion and tests for the existence of files. File input and output. Database manipulation, API interaction, basic network programming.
-
Testing: Objectives and principles of testing. Choosing appropriate test data. Testing and debugging strategies.
-
Architectural and design patterns: such as Model-View-Controller, Singleton, Observer, Decorator, Iterator
This module can be delivered either through standard delivery or blended delivery.
In standard delivery this module is delivered through a series of lectures with associated practical assignments.
In blended delivery this module is delivered through a series of live and recorded lectures with associated laboratory work and practical assignments.
Both blended and standard delivery have the same overall number of teaching and self-directed learning hours.
| Module Content & Assessment | |
|---|---|
| Assessment Breakdown | % |
| Formal Examination | 70 |
| Other Assessment(s) | 30 |