COMPUTER VISION & GRAPHICS - 2027/8

Module code: EEE2041

Module Overview

Module purpose:
This module provides an introduction to the process of digital image formation in real and computer-generated imagery and builds on EEE1035 Programming in C. The module covers mathematical methods used to represent cameras, scene geometry and lighting in computer vision and computer graphics. The course introduces both the theoretical concepts and practical implementation of three-dimensional computer graphics used in visual effects, games and scientific visualisation. The practical implementation of computer graphics is 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.
 

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

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: 78

Lecture Hours: 11

Tutorial Hours: 4

Laboratory Hours: 22

Guided Learning: 10

Captured Content: 25

Module Availability

Semester 2

Prerequisites / Co-requisites

None.

Module content

Indicative content includes the following:

Theory:

  • 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 vision.
  • Geometric Object Representation: Vectors, 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; surface normals; Phong reflection model; flat, Gouraud and Phong shading; bump, normal and texture mapping.
  • Rendering: 2D and 3D clipping; line drawing algorithms; polygon scan conversion; hidden-surface removal; z-buffer.
  • Animation: Hierarchical structures; forward and inverse kinematics; surface deformation algorithms.
  • Higher Order Curves and Surfaces: Interpolating curves; Hermite curves; B-splines; NURBS.

Implementation:

  • Introduction to OpenGL graphics and the graphics pipeline.
  • OpenGL Shading Language (GLSL).
  • 3D geometry and shape primitives.
  • 3D viewing, view transformations and camera models.
  • Appearance rendering, shading and illumination models, and texture mapping.

 

Assessment pattern

Assessment type Unit of assessment Weighting
School-timetabled exam/test 1hr Invigilated In Class Test 20
Coursework Computer Graphics Coursework 80

Alternative Assessment

N/A

Assessment Strategy

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

An in-class test is used to assess students' understanding of the mathematical foundations of computer graphics and their ability to apply mathematical methods to computer graphics problems. The coursework assignment, evaluated through a demonstration, written report, code and development logs are used to assess students¿ ability to design and implement an interactive computer graphics application using OpenGL.

  • 1hr Invigilated In Class Test (20%) - A timed in-class test assessing understanding of the mathematical foundations of computer graphics and the application of mathematical methods to graphics problems.
  • Computer graphics assignment (80%) - Implementation of an interactive computer graphics application assessed through an in-class demonstration and a written report. 

Formative Assessment and Feedback 

For this module, students will receive formative assessment and feedback in the following ways:

  • During lectures through question-and-answer sessions and group discussions.
  • During tutorial and revision sessions through worked examples and discussion of key concepts.
  • Through unassessed tutorial problems with model answers or solutions.
  • During supervised laboratory sessions through guidance and feedback on the development of the VR coursework project.
  • Through feedback on the submitted coursework, including both the implementation and the written report.

Module aims

  • Introduce the fundamental concepts of two- and three-dimensional computer vision and computer graphics, including image formation, geometric modelling and rendering.
  • Develop practical skills in the design and implementation of interactive 3D computer graphics applications using modern graphics programming tools.
  • The module also aims to provide opportunities for students to learn about the Surrey Pillars listed below.

Learning outcomes

Attributes Developed
Ref
001 Explain the principles of digital image formation in both real imaging systems and computer-generated images. K C1
002 Apply mathematical methods used in computer graphics, including camera projection, lighting and shading calculations, to render images from graphical models. KC C2
003 Apply geometric transformations to represent, manipulate and animate objects in three-dimensional space. KCT C3
004 Explain and analyse the stages of the real-time graphics processing pipeline used in interactive computer graphics applications. K C5
005 Design and implement interactive computer graphics applications for 3D shape modelling, animation and rendering using the OpenGL graphics API and 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 the mathematical foundations of computer graphics together with knowledge of practical implementation in OpenGL through lecture material reinforced with a structured programme 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.
  • Self-assessment sheets to practice the mathematical methods presented in lectures.
  • Problem classes in lectures to review solutions to exercise sheets.
  • Computer graphics practical exercises using OpenGL.

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

https://readinglists.surrey.ac.uk
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 enables students to develop a deep understanding of the fundamentals of computer vision and computer graphics, which will allow graduates to work in diverse industrial sectors such as the film industry, AR/VR development, and digital content generation. Laboratory sessions guide students through the implementation of an interactive computer graphics application, allowing them to develop practical skills that help meet the technical requirements of prospective employers and support the development of a professional portfolio.

Digital Capabilities: This module directly supports the development of students' digital capabilities. In particular, it provides students with experience of working with images and 3D shapes, and experience in implementing interactive computer graphics applications using OpenGL and the C++ programming language. This knowledge and these skills are applicable across a range of hardware devices and platforms, such as desktop, mobile, and web environments.

Programmes this module appears in

Programme Semester Classification Qualifying conditions
Computer and Internet Engineering MEng 2 Optional A weighted aggregate mark of 40% is required to pass the module
Computer Science and Artificial Intelligence BSc (Hons) 2 Optional A weighted aggregate mark of 40% is required to pass the module
Computer Science and Artificial Intelligence MEng 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 with Artificial Intelligence BEng (Hons) 2 Optional A weighted aggregate mark of 40% is required to pass the module
Electronic Engineering with Artificial Intelligence MEng 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 BEng (Hons) 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 2027/8 academic year.