University of Surrey - Guildford
Registry
  
 

  
 
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 
2007/8 Module Catalogue
 Module Code: ENG2042 Module Title: OBJECT-ORIENTED PROGRAMMING
Module Provider: Engineering Teaching Group Short Name: SE5203 Previous Short Name: SE5203
Level: HE2 Module Co-ordinator: WOODS RI Dr (Eng Teach Gp)
Number of credits: 10 Number of ECTS credits: 5
 
Module Delivery
Spring Semester
Assessment Requirements

Units of Assessment
Method(s)
Weighting towards Module Mark (%)
Examination
2-hour paper
50%
Class test
Timed assessment at the keyboard
17%
Coursework
1 assignment
17%
Continuous assessment
Attendance at the supervised practicals
16%

Module Overview
Prerequisites/Co-requisites
Completion of the progress requirements of Level HE1 and Module SE5102 or equivalent
Module Aims

To build on the knowledge of computer programming gained in module SE5102, providing students with a solid understanding and experience in object-oriented programming in C++.

Learning Outcomes

Upon successful completion of the module, students should be able to:

  • Implement the process of object-oriented program development from problem definition to final program.
  • Design reliable and maintainable C++ applications, define and implement classes to produce reliable and reusable code, implement object-oriented designs using encapsulation, inheritance and polymorphism, and use international standard libraries.
Module Content

Course bootstrap
Create an application, build the user interface, add functionality (continuous assessment: names)

Brush up your syntax
Variables, statements, functions (cont. ass: temperature)

Flow of control
Basic constructs, loops and jumps, functions revisited (cont. ass: quadratic solver)

Data encapsulation
Creating a new type, using the new type, refactoring (cont. ass: traffic control)

Relationships
Associations, aggregation, composition (cont. ass: railroads)

Inheritance
Class hierarchies, derived methods, separating responsibilities (timed assessment)

Polymorphism
Overriding methods, virtual functions, polymorphism in action (cont. ass: Grands Prix)

Compile-time polymorphism
Function overloading, function templates, class templates (coursework: Las Vegas )

Libraries
Containers, iterators, algorithms

Error handling
Basic error handling, C-style error handling, C++ exceptions

Rival languages
C++, Java, C#

Methods of Teaching/Learning

12 hours lectures, 24 hours supervised programming sessions, and 64 hours independent learning.

Total student learning time 100 hours.

Selected Texts/Journals

Required reading 

None

Recommended background reading 

The module is supported by extensive printed notes and on-line materials. Further recommended reading includes:

Lipman S and Lajoie J, C++ Primer, 3rd ed, Addison-Wesley, 1998. (ISBN 02018 24701)

Glassborow F (with Allen R), You Can Do It! A Beginner's Introduction to Computer Programming, Wiley. (ISBN 04708 63986)

Andrew Koenig and Barbara E. Moo, Accelerated C++. Practical Programming by Example, Addison-Wesley. (ISBN 02017 0353X)

Last Updated

15th August 2006