This is an archived handbook for a previous year. The current undergraduate and postgraduate handbooks can be viewed using the links above.
Postgraduate Handbook 2012-2013 (archived)
Module COMP40915: Advanced C/C++ for Graphics Programming
Department: Computer Science
COMP40915: Advanced C/C++ for Graphics Programming
| Type | Level | Credits | Availability | Module Cap | Location |
|---|---|---|---|---|---|
| Tied | 4 | 15 | Available in 2012/2013 | None. | Durham |
Tied To
Pre-requisites
- None.
Corequisites
- None.
Excluded Combinations
- None.
Aims
- The purpose of this module is to study advanced C/C++ programming with exercises using a graphics library, such as OpenGL.
Content
- 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 | Attendance Monitored |
|---|---|---|---|---|---|
| Lectures | 6 | First 2 weeks | 2 hours | 12 | Yes |
| Tutorials | 4 | Second two weeks | 2 hour | 8 | Yes |
| Preparation and Reading | 130 | ||||
| 0 | |||||
| 0 | |||||
| 0 | |||||
| Total | 150 |
Summative Assessment
| Component | Component Weighting | Element | Length/Duration | Element Weighting | Resit Opportunity |
|---|---|---|---|---|---|
| Laboratory Report | 100% | 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.
Students who do not attend monitored activities shown under Teaching Methods
and Learning Hours, or who fail to complete the summative or formative
assessment(s) specified above, may be subject to the Academic Progress
procedures defined in the University's General Regulation V, and may be
required to leave the University.