C and C++

Module Identifier
CS23820
Module Title
C and C++
Academic Year
2026/2027
Semester
Semester 1
Co-ordinator
Dr Neal Snooke
Reading List
View on Aspire
Pre-Requisite
CC12020 or CS12020
Pre-Requisite
CS10720 or CS12320
Other Staff
Dr David Jones

Assessment

Assessment Type

Assessment details

Proportion

Semester Assessment Weekly blackboard tests.: 4 Hours Best 6/8 online multiple choice style tests. 40%
Semester Assessment Problem, Analysis, Design, Programming and Report:: 30 Hours One larger piece of practical programming work with report. 60%
Supplementary Assessment Problem, Analysis, Design, Programming and Report:: 30 Hours One larger piece of practical programming work with report. 60%
Supplementary Exam Blackboard test.: 1.5 Hours Online multiple choice style exam. 40%

Learning Outcomes

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

  1. Write programs in C making use of dynamic data structures and file I/O
  2. Write programs in C++ making use of classes and file I/O
  3. Use tools to support development of stable and efficient software
  4. Understand the typical traps and pitfalls associated with programs written in C and C++
  5. Be able to describe which features of C or C++ would be suitable for use in typical programming scenarios.
  6. 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 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 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).

Content

1. Basic Concepts of C and C++.

2. The C Language: basic issues; software support tools; programming 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; GUI libraries.

Module skills

Skills type

Skills details

Information Technology Intrinsic to the whole module
Problem solving Programming in C and C++ and deciding which of the two languages is more appropriate for a given problem
Subject Specific Skills Programming.

Notes

This module is at CQFW Level 5