Module code: EEE2041

Module Overview

Expected prior learning:  Learning equivalent to Year 1, and Year 2 Semester 1, of EE Programmes.

Module purpose: This module provides an introduction to the process of digital image formation in real and computer-generated imagery and builds up EEE1035 Programming in C. Mathematical methods used to represent cameras, scene geometry and lighting in both computer vision and graphics are covered. The course introduces both the theoretical concepts and practical implementation of three-dimensional computer graphics used in visual effects, games, and scientific visualisation. Practical implementation of computer graphics will be introduced using the OpenGL libraries which are widely used in industry. Some of the concepts developed in this module will be useful in other computer vision modules such as EEE3032 Computer Vision and Pattern Recognition.



Module provider

Computer Science and Electronic Eng

Module Leader

VOLINO Marco (CS & EE)

Number of Credits: 15

ECTS Credits: 7.5

Framework: FHEQ Level 5

Module cap (Maximum number of students): N/A

Overall student workload

Independent Learning Hours: 66

Seminar Hours: 11

Tutorial Hours: 11

Laboratory Hours: 22

Guided Learning: 10

Captured Content: 30

Module Availability

Semester 2

Prerequisites / Co-requisites


Module content

Indicative content includes the following: 


  • Image Formation: Introduction to vision and graphics; physics of image formation; human visual system; visual perception; pin-hole cameras; real cameras; graphics pipeline; real- time and offline rendering. 

  • Geometric Camera Models: pin-hole camera; real cameras Homogeneous coordinates; rigid transforms; perspective transforms; intrinsic and extrinsic parameters; camera calibration; stereo. 

  • Geometric object representation: vector, affine and Euclidean spaces; Matrix operations; coordinate transforms; points, lines and polygons; meshes; rigid object transformations;  homogeneous transforms. 

  • Viewing: orthographic and perspective projection; viewing volume; projective normalisation;  homogeneous representation; viewing transforms. 

  • Illumination and Reflectance: colour; physical reflectance models; light-sources; normals;  Phong reflection model; shading flat, Goraud and Phong; bump, normal and texture maps. 

  • Rendering: 2D and 3D clipping; line drawing; scan conversion of polygons; hidden-surface removal; z-buffer.  

  • Animation: hierarchical structures; forward and inverse kinematics; surface deformation algorithms. 

  • Higher order curves and surfaces: interpolating; Hermite; B-spline; NURBS 



  • Introduction to OpenGL graphics and the graphics pipeline 

  • OpenGL Shading Language 

  • 3D Geometry and Shape Primitives 

  • 3D Viewing, View Transforms and Camera Models. 

  • Appearance Rendering Shading and Illumination Models, and Texture Mapping. 

Assessment pattern

Assessment type Unit of assessment Weighting
Coursework OpenGL Assignment 30
Examination 2hr Invigilated (open book) Examination 70

Alternative Assessment


Assessment Strategy

The assessment strategy for this module is designed to provide students with the opportunity to demonstrate the ability to apply mathematical methods used computer graphics and demonstrate the ability to implement interactive computer graphics applications using OpenGL.

The examination is used to assess the ability to explain and apply mathematical methods in computer graphics. Practical assignment evaluated through interactive demonstration and written report is used to assess ability to implement computer graphics applications using OpenGL.

Thus, the summative assessment for this module consists of the following.

Computer graphics assignment to implement an interactive computer graphics application assessed through in class demonstration and report [45 hours total]

The written examination assessing understanding of mathematical foundations of computer graphics, use of mathematical methods in solving computer graphics problems and practical implementation of computer graphics in OpenGL  

These deadlines are indicative. For confirmation of exact date and time, please check the Departmental assessment calendar issued to you.

 Formative assessment and feedback
For the module, students will receive formative assessment/feedback in the following ways.

Exercise sheets to practice problem solving using mathematical methods presented in lectures. Self-assessment solutions and problem classes are provided for summative assessment.

Computer graphics practical exercises for guided implemented of interactive computer graphics applications using OpenGL. Practical exercises provide immediate visual feedback on successful implementation.

Feedback on practical exercises from laboratory supervisors on progress and implementation.

Self-assessment of progress on assignment against required functionality.

Feedback on assignment demonstration and final report. 

Module aims

  • Introduce the concepts of two and three-dimensional computer vision and graphics.
  • Develop practical skills of implementing 3D graphics applications
  • The module also aims to provide opportunities for students to learn about the Surrey Pillars listed below.

Learning outcomes

Attributes Developed
001 Explain the process of digital image formation in real and computer generated images K C1
002 Perform the mathematical operations required to render images from graphical models including camera projection, lighting and shading calculation. KC C2
003 Apply geometric transformations to represent and animate objects. KCT C3
004 Explain the real-time processing pipeline used in interactive computer graphics applications K C5
005 Implement interactive computer graphics applications for 3D shape modelling, animation and rendering using the OpenGL graphics application interface with the C++ programming language. KC C6

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Methods of Teaching / Learning

The module learning and teaching strategy is designed to provide a mathematical foundations of computer graphics together with knowledge of the practical implementation in OpenGL through lecture material reinforced with a structured program of exercises, laboratory classes and an individual interactive graphics assignment.

Learning and teaching methods include the following:

  • Lectures covering both mathematical foundations and practical implementation 

  • Exercises sheets to practice mathematical methods presented in lectures 

  • Problem classes in lectures to review solutions to exercise sheets 

  • Computer graphics practical exercises using OpenGL (5 weeks x 2 hour per week supervised laboratory).

  • Computer graphics assignment (5 weeks x 2 hour per week supervised laboratory).

Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.

Reading list
Upon accessing the reading list, please search for the module using the module code: EEE2041

Other information

The School of Computer Science and Electronic Engineering is committed to developing graduates with strengths in Employability, Digital Capabilities, Global and Cultural Capabilities, Sustainability, and Resourcefulness and Resilience. This module is designed to allow students to develop knowledge, skills, and capabilities in the following areas:


Employability: this module allows students to obtain deep understanding of computer vision and graphics fundamentals that will enable graduates to work in diverse industrial sectors involving film industries, AR/VR development capabilities and digital content generation. Laboratory sessions guide students through the implementation of an interactive computer graphics application, allowing to obtain practical skills that will enable graduates to meet the technical requirements of the prospective employees and build a portfolio.

Digital Capabilities: This module is directly targeting improving students’ digital capabilities. In particular, it provides students with an experience of working with images, 3D shapes, and provides an experience of implementing interactive computer graphics application using OpenGL and C programming language. This knowledge and skill are applicable across a range of hardware devices and platform e.g. desktop, mobile, web.

Programmes this module appears in

Programme Semester Classification Qualifying conditions
Electronic Engineering with Computer Systems BEng (Hons) 2 Optional A weighted aggregate mark of 40% is required to pass the module
Electronic Engineering BEng (Hons) 2 Optional A weighted aggregate mark of 40% is required to pass the module
Electronic Engineering MEng 2 Optional A weighted aggregate mark of 40% is required to pass the module
Computer and Internet Engineering MEng 2 Compulsory A weighted aggregate mark of 40% is required to pass the module
Computer and Internet Engineering BEng (Hons) 2 Compulsory A weighted aggregate mark of 40% is required to pass the module
Electronic Engineering with Computer Systems MEng 2 Optional A weighted aggregate mark of 40% is required to pass the module

Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2025/6 academic year.