next up previous
Next: MC206 Software Engineering and Up: Year 2 Previous: MC204 Design and Analysis

MC205 Object-Oriented Programming Using C++


MC205 Object-Oriented Programming Using C++

Credits: 10 Convenor: Dr. G. Laycock Semester: 2


Prerequisites: essential: MC103, MC104, MC206
Assessment: Continuous assessment: 50% 1.5 hour exam: 50%

Lectures: 18 Classes: 12
Tutorials: none Private Study: 21
Labs: 24 Seminars: none
Project: none Other: none
Total: 75

Explanation of Pre-requisites

It is essential that students should have a thorough grasp of imperative programming before attempting this module. It is assumed that all students have a good working knowledge of Pascal, up to and including the use of dynamic data structures using pointers.

It is assumed that students taking this module have an understanding of the object-oriented design philosophy, and are familiar with the fundamental concepts of the object-oriented paradigm.

Course Description

Through the 1990's C++ has become one of the world's most popular programming languages, due to its potential for producing efficient and compact code taking direct advantage of the powerful object-oriented philosophy. As such today's computer scientists and software engineers should be familiar with the use of its central features. This module is intended to give the student a basic grasp of its use for straight-forward imperative and especially object-oriented programming.

Aims

To present C++ as an alternative imperative programming language to Pascal.

To build on the students' knowledge of object-oriented design, data abstraction and algorithms by introducing the language support in C++ for these ideas.

Objectives

By the end of this module, students should be able to:
1.
convert Pascal programs (to the level encountered in first year programming modules) to equivalent C++ code;
2.
understand the object-oriented features of C++ and how they relate to concepts from object-oriented design;
3.
use the object-oriented features of C++ to efficiently implement abstract data-structures with clean and simple interfaces;
4.
use the facilities provided by C++ to divide source code logically between multiple files, and to take advantage of this with partial compilation;
5.
use the object-oriented features of C++ to implement object-oriented designs of reasonable size and complexity (such as those encountered in the second year software engineering module).

Transferable Skills

Syllabus

Converting Pascal to C++. Overview of C++ and comparison with Pascal. Program structures, functions, data-types. Control structures, I/O, arrays pointers, strings.

Object-oriented programming. Classes and methods, constructors, assignment and destructors. Inheritance, templates, exception handling, operator overloading. Generic abstract data types, iterators. The standard C++ class library and the standard template library.

Reading list

Essential:

Ira Pohl, C++ for Pascal Programmers, 2nd edition, Benjamin Cummings, 1995.

Background:

Bjarne Stroustrup, The C++ Programming Language, 3rd edition, Addison-Wesley, 1997.

Details of Assessment

The assessed coursework for this module is divided between several programming exercises.

The first two exercise consist of problem sheets requiring a number of relatively simple programs to be written to illustrate basic understanding of the basic features of C++. These will be assessed by demonstrators during the practical laboratory sessions.

The later exercises will require the student to write larger pieces of code to implement various object-oriented classes suitable for incorporation in larger object-oriented designs. Generally, a framework of code will be provided and the student has to implement some missing sections to produce a complete working program. These exercise will be submitted electronically.


next up previous
Next: MC206 Software Engineering and Up: Year 2 Previous: MC204 Design and Analysis
S. J. Ambler
11/20/1999