Skip to content

Advanced Programming

UCLan Cyprus Logo

MODULE CODE

CO2402 (L5)

CREDIT VALUE

20 UK CREDITS / 10 ECTS
Advanced Programming

Module Aims

Aim 1


To enhance the student’s programming competence and ability to use a range of programming techniques necessary for the development of effective and quality software.

Aim 2


To show how to select and apply appropriate data structures and algorithms to implement a software solution to a complex problem.

Aim 3


To improve the student’s software development skills using case studies and assignments to enable them to develop readable, maintainable and robust software.

Aim 4


To provide a practical introduction to the object-oriented and event-driven programming paradigms.

Advanced Programming

Module Content

This module could be delivered using any modern object-oriented language such as C++, C# or Java. The following list is indicative using C++ as an example of an appropriate programming language:
The Language (C++):
Operator precedence
Pointers
Dynamic memory allocation
Memory leak detection and avoidance
Array and pointer relationship
Functions (pass parameters by address, default parameters, overloading)
In-line functions
Classes
Inheritance and virtual methods
Polymorphism
Operator overloading
Exceptions
Templates
The Standard Template Library
Deep and shallow copy
Recent revisions to the language, e.g. C11 and C14
Programming Paradigm
Object-oriented
Data Structures and Algorithms:
For example:
Linked lists
Stacks
Recursion
Dynamic arrays
Advanced sorting (e.g. quicksort)
Advanced Searching (e.g. hashing and chaining)

PROGRAMME SPECIFICATIONS

Learning Outcomes

On successful completion of this module, a student will be able to:


Evaluate critically the features of the studied computer programming language.


Implement and document a structured program to meet a given specification.


Select and apply appropriate data structures and algorithms to a given problem.


Critically evaluate a computer program with regard to robustness, usability, maintainability, readability and efficiency.

Advanced Programming

Teaching Methods

Practical skills are emphasised. Lectures disseminate information and enable student feedback and interaction. Laboratory sessions develop students’ practical skills as they implement topics discussed in the lectures. Tutorials focus on and discuss the more complex lecture material to provide help and feedback with laboratory and assignment problems. Tutorials also act as a general technical forum for any related technological issues. Questions arising from the students’ private research are discussed and application of the taught concepts is related to real industrial applications. Tutorials in the latter part of the year are dedicated to examination revision.
Coursework measures the students’ practical skills and competence by assessing their achievements in learning outcomes 2 to 4.

Advanced Programming

Assessment Methods

This module is assessed through a coursework (software development problem solving) and an examination.

Explore them all

View The Other Course’s Modules

Compulsory

Optional

Register your Interest

Register Now
Scroll to Top
Date
DRAG