Module Indicative Content
This module has been designed to build upon the knowledge and experience gained whilst studying the 30 credit module COSE40577
Introduction to Software Development (or equivalent) and the ‘C’ programming covered within the L4 module COCS40681 Hardware & Computer Systems and will initially cover advanced topics of ‘C’ programming before leading into object orientated programming with C++.
The advanced ‘C’ programming will include such topics as: advanced data structures; command line input manipulation; bitwise manipulation; inter process communications; process cloning and shared memory.
The C++ programming will include such topics as: classes; objects; attributes; methods; constructors; destructors; inheritance; function overloading; operator overloading; polymorphism; memory management; abstract data types; template methods; template classes; file and stream handling; string classes; threads and data sockets.
Module Additional Assessment Details
A COURSEWORK (Coursework 1) weighted at 50% covering the C programming aspects of the module.
A COURSEWORK (Coursework 2) weighted at 50% covering the C++ programming aspects of the module (as the final submission).
Module Texts
C++ How to Program, Deitel, H.M. & Deitel, P.J. , 2011, Prentice Hall, ISBN 978-0273752766
Kelly, A. & Pohl, I. A, Book on C: 4th ed. Addison Wesley Pearson, 1998 ISBN 0-202-18399-4
(also available as a free e-book)
Harbison, S.P. & Steel, G.L., C, A Reference Manual: 5th ed. Prentice Hall, 2002 ISBN 0-13-0895592-X
(also available as a free e-book)
Also, many online facilities available including 'Think in C++' by Bruce Eckel
Module Resources
Laboratory facilities with suitable development environments and operating systems (Windows and UNIX/Linux)
Module Special Admissions Requirements
Prior study of the L4 module COSE40577 Introduction to Software Development (or equivalent) and COCS40681 Hardware and Computer Systems (or equivalent)
Module Learning Strategies
26 hours of lectures and 52 hours of practicals
The module will be delivered utilising a combination of lectures and lab practical sessions where the more the theoretical aspects of the ‘C’ and C++ programming languages are explained together with examples of how these aspects can be utilised within working programs. The lab based practical sessions will be utilised so that the students are able to apply the theory delivered during the lectures whilst having tutors available to offer help as and when required.