Module Information

Module Identifier
CS23820
Module Title
C and C++
Academic Year
2018/2019
Co-ordinator
Semester
Semester 1
Pre-Requisite
Pre-Requisite
Reading List
External Examiners
  • Dr Dirk Sudholt (Senior Lecturer - University of Sheffield)
  • Dr Hong Wei (Associate Professor - University of Reading)
 
Other Staff

Course Delivery

Delivery Type Delivery length / details
Lecture 30 x 1 Hour Lectures
Practical 9 x 2 Hour Practicals
 

Assessment

Assessment Type Assessment length / details Proportion
Semester Exam 2 Hours   Written Exam  50%
Semester Assessment Practical Programming:  Weekly worksheets  10%
Semester Assessment Problem, Analysis, Design, Programming and Short Report:  One larger piece of practical programming work with report.  40%
Supplementary Assessment 2 Hours   Written Exam and Practical Work:  2 hour supplementary exam and/or resubmission of failed/non-submitted coursework components or ones of equivalent value  50%
Supplementary Exam 2 Hours   Resit exam and or failed coursework etc  50%

Learning Outcomes

On successful completion of this module students should be able to:

Write programs in C making use of dynamic data structures and file I/O

Write programs in C++ making use of classes and file I/O

Use tools to support development of stable and efficient software

Understand the typical traps and pitfalls associated with programs written in C and C++

Be able to describe which features of C or C++ would be suitable for use in typical programming scenarios.

Discuss the differences between programming in C and C++ and decide when a procedural or object-oriented approach is more appropriate

Brief description

The module starts by covering all major features of the C programming language, a procedural programming language used for both high level and low level programming.

The module continues by covering all major features of the C++ programming language, a language that adds object orientation as well as higher level constructs not available in C.

The manner in which the languages have, and are still evolving, will be considered at appropriate points.

The module will also consider interaction with facilities provided by external libraries and underlying operating systems (e.g. GUIs, memory management, inter-process communications).

Content

1. Basic Concepts of C and C++.

2. The C Language: basic issues; software support tools; programing style and portability; arrays, pointers and functions; dynamic data structures; further features; case studies.

3. The C++ Language: basic issues; parameter passing; class definitions; inheritance; polymorphism; templates; STL; multithreading; GUI libraries.


Module Skills

Skills Type Skills details
Application of Number
Communication
Improving own Learning and Performance
Information Technology Intrinsic to the whole module
Personal Development and Career planning
Problem solving Programming in C and C++ and deciding which of the two languages is more appropriate for a given problem
Research skills
Subject Specific Skills Programming.
Team work

Notes

This module is at CQFW Level 5