Module Overview

Programming and Paradigms: Principles and Practices

Module Description:  

This module introduces the concepts that serve as a basis for different programming languages and provides them with a basic understanding and appreciation of the various programming paradigms, evaluation criteria and language implementation issues. It covers concepts from imperative, object-oriented, functional and logic programming, which illustrated with examples from varieties of languages. 

It also introduces general programming issues such as memory management and complexity, good programming practices, refactoring and design patterns. 

Module aim  

The aim of this module is to provide students with the knowledge and skill to develop efficient effective programmes with understanding of the basic principles underlying the design of the main types of programming languages and to enable them to critically evaluate and compare different paradigms. 

 

Module Code

PROG 9810

ECTS Credits

5

*Curricular information is subject to change

Best Practice 

Programming standards. Refactoring. Memory management. Complexity. Coupling and cohesion. Programming for efficiency. Programming for correctness. 

Comparative Programming paradigms 

Imperative Paradigm, Declarative Paradigm, Logical Paradigm, Functional paradigm, Object-Oriented paradigm 

Event driven programming. Concurrent programming 

Design 

Test-driven programming, Design by Contract, Design Patterns: basic principles, common patterns. 

The module is designed to be delivered within a blended learning model, employing mixed modes (online and face to face) of learning, teaching and assessment.

TU059 will be delivered primarily in a face-to-face mode while TU060 will be delivered in a blended mode.

 

The approach taken to teach this module will be through studio classroom based interactive sessions involving lectures and practical work all in a lab environment. Students will also be required to independently complete software projects requiring research, design, and implementation as part of the continuous assessment for this module. 

Students will be presented with material in the form of lecture notes, tutorial sheets and example. There will be a large emphasis on practical work with regular exercises to complete both in the classroom and independently through self study. Students will be expected to spend considerable time outside scheduled class hours conducting self-study and research to contribute to their overall knowledge. 

Module Content & Assessment
Assessment Breakdown %
Formal Examination50
Other Assessment(s)50