Module Special Admissions Requirement
Pre-requisites Prior study of the L4 module COSE40577 Introduction to Software Development (or equivalent) and COCS40681 Hardware and Computer Systems (or equivalent)
Co-requisites
Admissions requirements No special Admissions Requirements
Disqualified combinations
Module Learning Outcomes
1. DEMONSTRATE A CRITICAL UNDERSTANDING OF THE FEATURES OF THE C/C++ PROGRAMMING LANGUAGE WITHIN BOTH A WINDOWS AND UNIX LIKE ENVIRONMENT.
Application
Communication
Knowledge & Understanding
2. ANALYSE A GIVEN TASK SCENARIO AND APPLY THE FEATURES OF THE C/C++ PROGRAMMING LANGUAGE TO IMPLEMENT A VIABLE SOLUTION.
Analysis
Application
Learning
Problem Solving
Module Assessment Details
A COURSEWORK (Coursework 1) weighted at 100% covering the C programming aspects of the module.
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 Learning Strategies
12 hours of lectures and 24 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.
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).