Register now for our CAO Open Day.

Module Overview

Programming Paradigms and Data Structures

The aim of this module is to introduce the student to a number of intermediate issues in the design and development of algorithms. The student will be given an introduction to a range of programming paradigms and prototypical languages associated with each paradigm. Common programming language issues such as memory allocation, and parameter passing will be examined. The module assumes the student has a preliminary understanding of programming design.

Module Code

PROG 1001

ECTS Credits

10

*Curricular information is subject to change

Programming Paradigms
•    The Programming Language & Paradigm Spectrum: Assembly Language; Imperative Language; Object Oriented Programming; Logical Languages; Scripting; Functional Languages.
•    Pros and Cons of Programming Language Types.
•    Role of different Programming Paradigm Types across technology infrastructure and applications
•    Compilation versus interpretation of computer code

•    Imperative Programming
•    Compiled language design and execution
•    Parameter passing in compiled languages
•    Explicit memory allocation and deallocation in programming languages
•    Pointers and memory addressing in programmes
•    Relationship between explicit memory deallocation and garbage collection in high level programming languages

Data Structures 
•    The role of the data structure
•    Data structures for information aggregation
•    Simple data structures: lists, stacks and queues with linked lists

Practical Programme Development
•    The programming tool chain
•    Command Line Environments
•    Integrated Development Evnvironments

The course delivery involves a combination of lectures and labs which may incorporate the use of blended learning techniques as appropriate throughout the delivery.
 

Module Content & Assessment
Assessment Breakdown %
Formal Examination60
Other Assessment(s)40