EN3085: Object Oriented Engineering Computing

School Cardiff School of Engineering
Department Code ENGIN
Module Code EN3085
External Subject Code 100366
Number of Credits 10
Level L6
Language of Delivery English
Module Leader Dr Yulia Hicks
Semester Spring Semester
Academic Year 2025/6

Outline Description of Module

Object-oriented (OO) programming languages make it easier to understand how a program works by bringing together data and its behaviour in a single bundle called an “object.” Three main features of OO programming are data abstraction through creation of classes, reuse of code through inheritance and flexibility through polymorphism. C++ is one of the most popular OO languages with a wide variety of applications. Most often, C++ is used to build large software infrastructure and applications that can run even with few resources. The efficiency of the C++ code makes it perfect as a base for engineering applications and software. 

This module develops the students’ knowledge and understanding of and ability to apply a modern practical programming language such as C++ to solve engineering problems and to address the issues that arise in its use.  

On completion of the module a student should be able to

  • Understand and implement good object-oriented design practices. 

  • Design, develop and test OO C++ programs. 

  • Apply C++ and OO programming paradigm to solve engineering problems. 

  • Critically evaluate programming solutions. 

  • Explain and reflect on the effectiveness of the solutions. 

How the module will be delivered

The module will be delivered through on-campus face-to-face classes (tutorials, labs, feedback sessions) and additional online learning materials to teach C/C++ as a vehicle for explaining fundamental programming concepts. The sequence of topics covers a firm grounding in OO programming languages concepts. 

Skills that will be practised and developed

In addition to developing your problem solving, critical thinking, reflection and communication skills, the module will support you in developing skills in: 

  • Applying the OO programming paradigm to solve engineering problems. 

  • Constructing C/C++ programs using OO programming techniques. 

  • C++ and generic programming skills.  

  • Use of compilers and linkers.  

  • Use of modern integrated programming environment.  

  • Program testing and debugging. 

  • Critical evaluation of programming solutions 

How the module will be assessed

This module is assessed using two summative assessments, which are weighted as follows: 

 
1. A summative C++ programming test 1, 50% in week 6 of the semester (LO 1(p), 2 (p), 3 (p), 4 (p) and 5 (p)). The students will need to write, test and debug a program solving a given problem in the lab using C++ techniques studied in the module in the first five weeks.  Individual written feedback will be provided to the students. 

 

2. A summative C++ programming test 2, 50% in week 12 of the semester (LO 1 (p), 2 (p), 3 (p), 4 (p) and 5 (p)). The students will need to write, test and debug a program solving a given problem in the lab focusing on the C++ topics studied in the module in the weeks 7-11. Individual written feedback will be provided to the students. 

 

In order to pass the module and obtain 10 credits, the minimum overall pass mark of 40% must be achieved in all assessments combined.  

 

The students will be supported in achieving their LOs by a set of formative assignments in the supervised lab sessions through the weeks 1-5 and 7-11 of the semester, where oral formative feedback will be provided. 

 

Note (p) denotes partial coverage of LO. 

THE OPPORTUNITY FOR REASSESSMENT IN THIS MODULE:  

There is a potential for re-assessment in this module which will result in a 100% c++ programming test during the August Resit period (LO 1-5). 

Opportunities for re-assessment is only permitted provided you have not failed more credit than in the resit rule adopted by your programme.  If the amount of credit you have failed is more than permitted by the relevant resit rule, you may be permitted to repeat study if you are within the threshold set for the Repeat rule adopted by your programme.  You will be notified of your eligibility to resit/repeat any modules after the Examining Board in the Summer period.  

All resit assessments will be held in the Resit Examination period, prior to the start of the following academic session

Assessment Breakdown

Type % Title Duration(hrs)
Class Test 50 Programming Test 1  N/A
Class Test 50 Programming Test 2  N/A

Syllabus content

Design and development of an object-oriented program with engineering applications, UML language basics, C++ declarations and constants, classes, derived classes, exception handling, operator overloading, file handling, templates, C++ standard library, design patterns. 


Copyright Cardiff University. Registered charity no. 1136855