Unit name | Software Engineering in C++ |
---|---|
Unit code | EENG19010 |
Credit points | 10 |
Level of study | C/4 |
Teaching block(s) |
Teaching Block 2 (weeks 13 - 24) |
Unit director | Dr. Kaleshi |
Open unit status | Not open |
Pre-requisites |
EENG19000 |
Co-requisites |
None |
School/department | Department of Electrical & Electronic Engineering |
Faculty | Faculty of Engineering |
This unit consists of two elements: an introduction to the theory and techniques of Software Engineering (lectures) and the object-oriented programming using C++ programming language (lectures and laboratories). In the laboratories, students will carry out exercises using C++. Each exercise is designed to familiarise them with the topics covered in the lectures. Students, working in groups of 2, will be assessed in the lab and receive a mark for their laboratory work.
The lecturing component of the unit introduces object-oriented design and programming using C++, starting with an introduction of the concept of object and classes, inheritance and polymorphism. C++ programming language is introduced: class definitions, notation, private and public access, member and friend functions, working with file I/O (streams), and working with structured data (strings, arrays, vectors, etc.). The concepts are introduced through real examples (e.g. Complex number calculator). Particular attention goes into linking this with the programming concepts introduced in the Computing unit (EENG19000), specifically in terms of memory manipulation and pointers, in order to address needs and abilities of the students undertaking a program of study in the Department of Electrical and Electronic Engineering. The latter part of the lectures (4) introduces Software Engineering as a structured approach to the design and implementation of medium-to-large scale software systems. Similar to any engineering projects, it is essential that you are able to specify what you want to achieve, to design how you are going to achieve that, and that you can implement the design using appropriate software technology. Topics covered by the unit include:
Aims:
On completion of this unit students will be able to:
Students will also become familiar with two industry leading Integrated Development Environments (IDEs):
1. C++ coursework. It consists of two parts: a project using C++ and an accompanying technical report documenting and supporting the computing tasks, and a Software Engineering essay, consisting of questions covering material from the Software Engineering component of the lectures. The weight of this mark is 70%.
2. Laboratory work students learning is assessed in the ultimate or penultimate lab session, depending on their progress. Weight is 30%.