Durham University
Programme and Module Handbook

Postgraduate Programme and Module Handbook 2010-2011 (archived)

Module COMP40915: Advanced C/C++ for Graphics Programming

Department: Computer Science

COMP40915: Advanced C/C++ for Graphics Programming

Type Tied Level 4 Credits 15 Availability Available in 2010/11 Module Cap None.
Tied to G5K509


  • None.


  • None.

Excluded Combination of Modules

  • None.


  • The purpose of this module is to study advanced C/C++ programming with exercises using a graphics library, such as OpenGL.


  • Revision of C/C++ programming.
  • Advanced C/C++ programming.
  • Efficient programming with C/C++, such as optimisation and compression.
  • The graphics pipeline in the context of bandwidth and efficiency issues.
  • 3D graphics techniques such as hidden surface removal, steroscopic imaging and shading.
  • Graphics programming in C/C++, such as in DirectX and OpenGL.

Learning Outcomes

Subject-specific Knowledge:
  • An advanced understanding of C/C++ programming.
  • To understand the API of a graphics library, and the process of writing C/C++ programs for graphics applications.
  • An understanding of how to evaluate a range of designs for a computing system, and how to analyse such a system and be able to suggest appropriate implementation methods.
  • An understanding of how to implement such a system using advanced implementation techniques, in particular those used in large scale applications.
Subject-specific Skills:
  • The ability to utilise advanced graphics techniques for advanced applications, such as supporting the process using OpenGL for software development.
  • The technical process and industry-standard software lifecycle-based approach to designing and constructing large scale gaming systems.
  • Advanced theoretical and practical appreciations of modern approaches to the software engineering required for gaming applications, including process technologies.
Key Skills:
  • Improving own learning and performance in C/C++ programming.
  • Achieve a practical solution through the integration of a number of technologies, many of which may be very rapidly changing.

Modes of Teaching, Learning and Assessment and how these contribute to the learning outcomes of the module

  • Teaching will be a combination of lectures, tutorials (including peer review), individual development work in tutorials and laboratory exercises. All these activities will be customised to support the requirements of the summative report.
  • Summative report demonstrating the mastery of (i) C/C++ programming, (ii) API of a graphics library and (iii) C/C++ programs for graphics applications.

Teaching Methods and Learning Hours

Activity Number Frequency Duration Total/Hours
Lectures 6 First 2 weeks 2 hours 12
Tutorials 4 Second two weeks 2 hour 8
Preparation and Reading 130
Total 150

Summative Assessment

Component: Laboratory Report Component Weighting: 100%
Element Length / duration Element Weighting Resit Opportunity
Report and code 100%

Formative Assessment:

Staged written feedback of practical work and/or formative exercises. Level of success in practical programming exercises, using written feedback.

Attendance at all activities marked with this symbol will be monitored. Students who fail to attend these activities, or to complete the summative or formative assessment specified above, will be subject to the procedures defined in the University's General Regulation V, and may be required to leave the University