University of Surrey - Guildford

Registry > Module Catalogue
View Module List by A.O.U. and Level  Alphabetical Module Code List  Alphabetical Module Title List  Alphabetical Old Short Name List  View Menu 
2010/1 Module Catalogue
 Module Code: EEE3013 Module Title: OBJECT-ORIENTED DESIGN AND C++
Module Provider: Electronic Engineering Short Name: EE3.OOD
Level: HE3 Module Co-ordinator: BOWDEN R Dr (Elec Eng)
Number of credits: 15 Number of ECTS credits: 7.5
Module Availability

Autumn Semester

Assessment Pattern

Unit(s) of Assessment
Weighting Towards Module Mark( %)
Exam paper: Written closed book
C++ Assignment: A C++ assignment will take about 20 hours to complete and will require access to a computer. Students may use departmental facilities or home PC's if they have a C++ compiler
15 credit. Final submission must compile on departmental facilities. I.e. ANSI compliant. (Compulsory)
Associated Lab Work: 12 x 1 hour practical within scheduled lecture time
Not marked

Module Overview

The module will provide students with the fundamentals of programming in the C++ language. Teaching will be 2 hours per week with an associated 2 hours of lab based material (starting in week 2) which will closely follow that taught in lectures. The purpose of the laboratories is to gain first hand experience of the concepts discussed in lectures. Assessment will be via a closed book exam at the end of the course (70%) and a programming assignment to be completed during autumn semester over a period of 5 weeks (30%).


A good working knowledge of procedural programming preferably in the C programming language. Good pass in

Module Aims

This module is aimed at students that have completed a first course in structured programming and intends to familiarise them with advanced software design and implementation.

Learning Outcomes

On successful completion of the course, students will be familiar with the concepts of object-orientated-design and they will be able to apply this in the C++ programming language.

Module Content

[1-2]        Introduction to Object-Oriented design - The case for object-oriented design. Abstraction, encapsulation, modularity, reuse of software.  Overview of the course.


[3-4]        A Refresher Course in C - Overview of C, Procedural Programming, Structures.


[5-8]        The C++ Class - Basics of the C++ class, constructors, destructors, memory allocation, operator overloading, friend operators.


[9-12]      Inheritance - Inheritance, public/private/protected, member functions/variables, casting, virtual and abstract.


[13-14]    Templates - templates and generic programming, design and use.


[15-16]    Standard Template Library - namespaces, streams, strings, vectors, lists, iterators, maps and algorithms


[17-18]    A Review of C+/strong> - general review of the key components of C++


[19–20]   Object Orientated Design Methodology - Design issues and planning


[21–22]   Revision

Methods of Teaching/Learning


Selected Texts/Journals

Mercer R
Computing Fundamentals with C+/span>
Lippman & Lajoie
C++ Primer
Addison Wesley
Deital & Deital
C++ How to program
Prentice Hall
Stroustrup B
The C++ Programming Language
Addison Wesley

Last Updated

12 August 2010