CS32415 Computer Graphics
Introductory description
This course is a solid introduction to computer graphics, from how we see, display devices, and how computer graphics are generated by modern graphics processing units (GPUs).
With plenty of visual examples and demos, the lectures covers, stepbystep:
the graphic generation process and viewing geometry
threedimensional objects,
parametric representations such as spline curves and surfaces,
display lists and drawing primitives
rasterisation onto a twodimensional framebuffer
On the way, we look at how realism is achieved by the clever use of texturemapping and the approximation of lighting and shading, including shadow generation. We also look at raycasting techniques, global illumination and volume rendering.
The course will assume you have some background in vector and linear algebra.
Module aims
Graphical presentation of models of the physical world is an important aspect of current and future applications of computers. Students are introduced to the basic concepts of manipulating and modelling objects in 2D, 3D and 4D.
Techniques are introduced for realistically visualising models of objects in ways that exploit our visual senses.
Outline syllabus
This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.
Topics covered include:
 Graphics hardware
 Rendering processes
 Computational geometry of 2 and 3 dimensions
 Modelling and projection of 3 dimensional structures
 Spatial data structures
 Colour and texture
 Ray tracing
 'Fractal' processes in graphics
 Demonstrations of graphics features will be given during the module.
Learning outcomes
By the end of the module, students should be able to:
 At the end of this module, a successful student will:  Understand the mathematics behind geometric transformations and techniques for modelling objects; .
  Understand the techniques used to approximate the physical process of image generation.
  Have an understanding of how these techniques are made available through graphical programming standards.
Indicative reading list
Please see Talis Aspire link for most up to date list.
View reading list on Talis Aspire
Subject specific skills
Understanding of human perception and digital display devices.
Knowledge of terminologies and concepts of basic algorithms behind graphics kernels for drawing 2D, 3D primitives, transformations, clipping, modeling and rendering.
Expertise in designing, modelling and manipulating graphics objects using OpenGL.
Transferable skills
Students will learn about displaying graphics objects and interaction on digital display devices. Computer graphics is multidisciplinary subject. The students will study skills for developing graphics user interfaces, engineering designs, data visualization, photo realism, computer generated imagery (CGI).
Study time
Type  Required 

Lectures  30 sessions of 1 hour (20%) 
Practical classes  8 sessions of 1 hour (5%) 
Private study  112 hours (75%) 
Total  150 hours 
Private study description
 Matrix algebra, vectors, linear transformations and rules of differentiation.
 In addition to reading list for the module, additional reading materials suggested during class lectures. These materials will be uploaded to online materials for the module.
 Lecture slides will be available online as the module progress.
Costs
No further costs have been identified for this module.
You do not need to pass all assessment components to pass the module.
Students can register for this module without taking any assessment.
Assessment group D1
Weighting  Study time  

Unsupervised practical assignments  20%  
Inperson Examination  80%  
CS324 Exam

Assessment group R
Weighting  Study time  

Inperson Examination  Resit  100%  
CS324 Resit Exam

Feedback on assessment
Written feedback on coursework.
Courses
This module is Optional for:

UCSAG4G1 Undergraduate Discrete Mathematics
 Year 3 of G4G1 Discrete Mathematics
 Year 3 of G4G1 Discrete Mathematics
 Year 3 of UCSAG4G3 Undergraduate Discrete Mathematics
 Year 4 of UCSAG4G2 Undergraduate Discrete Mathematics with Intercalated Year
This module is Option list A for:
 Year 4 of UCSAG504 MEng Computer Science (with intercalated year)

UCSAG500 Undergraduate Computer Science
 Year 3 of G500 Computer Science
 Year 3 of G500 Computer Science

UCSAG502 Undergraduate Computer Science (with Intercalated Year)
 Year 4 of G502 Computer Science with Intercalated Year
 Year 4 of G502 Computer Science with Intercalated Year

UCSAG503 Undergraduate Computer Science MEng
 Year 3 of G500 Computer Science
 Year 3 of G503 Computer Science MEng
 Year 3 of G503 Computer Science MEng
 Year 3 of UCSAG406 Undergraduate Computer Systems Engineering
 Year 3 of UCSAG408 Undergraduate Computer Systems Engineering
 Year 4 of UCSAG407 Undergraduate Computer Systems Engineering (with Intercalated Year)
 Year 4 of UCSAG409 Undergraduate Computer Systems Engineering (with Intercalated Year)
This module is Option list B for:

USTAG302 Undergraduate Data Science
 Year 3 of G302 Data Science
 Year 3 of G302 Data Science
 Year 3 of USTAG304 Undergraduate Data Science (MSci)
 Year 4 of USTAG303 Undergraduate Data Science (with Intercalated Year)

UMAAG105 Undergraduate Master of Mathematics (with Intercalated Year)
 Year 3 of G105 Mathematics (MMath) with Intercalated Year
 Year 5 of G105 Mathematics (MMath) with Intercalated Year

UMAAG100 Undergraduate Mathematics (BSc)
 Year 3 of G100 Mathematics
 Year 3 of G100 Mathematics
 Year 3 of G100 Mathematics

UMAAG103 Undergraduate Mathematics (MMath)
 Year 3 of G100 Mathematics
 Year 3 of G103 Mathematics (MMath)
 Year 3 of G103 Mathematics (MMath)
 Year 4 of G103 Mathematics (MMath)
 Year 4 of G103 Mathematics (MMath)

UMAAG106 Undergraduate Mathematics (MMath) with Study in Europe
 Year 3 of G106 Mathematics (MMath) with Study in Europe
 Year 4 of G106 Mathematics (MMath) with Study in Europe
 Year 4 of UMAAG101 Undergraduate Mathematics with Intercalated Year