CSC-30067 - Advanced Programming and Software Design
Coordinator: Marco Ortolani Room: CR102 Tel: +44 1782 7 33264
Lecture Time: See Timetable...
Level: Level 6
Credits: 15
Study Hours: 150
School Office: 01782 733075

Programme/Approved Electives for 2026/27

None

Available as a Free Standing Elective

No

Co-requisites

None

Prerequisites

CSC-20041 Software Engineering
CSC-10074 Object-Oriented Programming

Barred Combinations

None

Description for 2026/27

This module provides a deeper understanding of object-oriented programming, and to the concept of concurrent programming, using Java as a working language. You will learn more advanced design patterns which can be applied in a range of real world application areas.

Aims
To provide a deeper understanding of object-oriented programming and design, and to the concept of parallelism and concurrent programming and their usage in real-world examples. Coverage will be given of Software Design Patterns.

Intended Learning Outcomes

analyse object-oriented concepts in Java making use of reference-based data structures and Java Collections: 1
create software solutions using design patterns in Java: 1,2
evaluate different approaches to software design for advanced applications in Java: 2

Study hours

20 hours lectures (2h per week for 10 weeks)
20 hours practicals (2h per week for 10 weeks)
40 hours assessment preparation
70 hours private study

School Rules

None

Description of Module Assessment

1: Coursework weighted 50%
Programming assignment - structuring sequential code


2: Coursework weighted 50%
Programming assignment - structuring concurrent code