Skip to navigation | Skip to main content | Skip to footer

COMP27112 Introduction to Visual Computing syllabus 2021-2022

COMP27112 materials

COMP27112 Introduction to Visual Computing

Level 2
Credits: 10
Enrolled students: 238

Course leader: Tim Morris

Additional staff: view all staff

Additional requirements

  • Students who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.

Assessment methods

  • 70% Written exam
  • 30% Practical skills assessment
Sem 2 w20-27,31-33 Lecture Engineering Building A 2A.041 Lecture Theatre B Thu 13:00 - 14:00 -
Sem 2 w22,24,26,31,33 Lab 2.25 (A+B) Thu 09:00 - 11:00 -
Sem 2 w22,24,26,31,33 Lab 1.10 Fri 14:00 - 16:00 -
Sem 2 w22,24,26,31,33 Lab G23 Mon 14:00 - 16:00 -
Themes to which this unit belongs
  • Visual Computing


Visual Computing brings together two fundamentally important aspects of modern computing: Computer Graphics  - concerned with the synthesis of images from computer models - and Image Processing, which deals with analysis and understanding of images by computers. There are now considerable overlaps between these two, traditionally separate, fields of research and their applications.

The Visual Computing theme consists of the following course units:

  • Year 2: Computer Graphics and Image Processing (10 credits)
  • Year 3: Advanced Computer Graphics (10 credits)
  • Year 3: Computer Vision (10 credits)

This course unit detail provides the framework for delivery in 20/21 and may be subject to change due to any additional Covid-19 impact.  Please see Blackboard / course unit related emails for any further updates.


The importance of visual interfaces has never been greater. Graphical interfaces have become ubiquitous, from desk-top interaction, to games and three-dimensional virtual environments. In parallel, there has been an explosion in digital image processing and analysis. We take for granted digital photography and video, while our health services rely on digital X-ray systems, CT and MRI scanners for seeing inside our bodies. Meanwhile, the visualization of computer simulations is an essential aspect of product design and testing, genome exploration, drug design, and climate modelling. The demand for computer scientists with advanced knowledge of such areas has never been greater.

The theme will enhance your knowledge and understanding, answering such questions as:

  • How are three-dimensional environments represented in a computer, and how are interactive 3D worlds created?
  • How are 2D and 3D representations combined ? for example, how can we recover 3D geometry from 2D images?
  • How are the basic mathematical techniques and algorithms used to build useful applications?
  • How are images stored, processed and manipulated?
  • How can computers interpret images captured by cameras and other recording devices?


Fundamentals (1 week)
2 and 3 D Coordinate systems. Vectors, matrices and basic vector/matrix operations. 2 and 3D geometric transformations (translation, rotation, scaling, affine).
3D Modelling and Illumination (5 weeks)
The programmable graphics pipeline. 3D graphics primitives, meshes, models, and scene graphs. Rasterisation and hidden surface removal. The camera model, viewing and projection. Local illumination: ambient, diffuse, specular. Gouraud and Phong shading. Writing shaders with GLSL. Surface detail: textures, bump mapping.
Image Transformations (2 weeks)
Image representations: resolution, colour models. Image transformations: point transformations (windowing, histogram equalisation, colour transformations and colour spaces).
Image Enhancement (3 weeks)
Local processes, convolution, image smoothing (local averaging, weighted averaging), size of support, Gaussian mask. Edge enhancement (unsharp masking). Edge detection (Prewitt, Sobel, Canny, Marr-Hildreth, Hough), Thresholding, blob detection, simple measurement (geometric features).  Rank order filters (median, max-min

Teaching methods


24 hours spread over 12 weeks


10 hours in total, 5 2-hour sessions.

Three.js laboratory exercises. 
C Programming, manipulating images and finding objects using OpenCV.

Feedback methods

Face to face feedback and marking  in programming laboratories.

Three.js laboratory exercises. 
C Programming, manipulating images and finding objects using OpenCV.

Study hours

  • Assessment written exam (2 hours)
  • Lectures (24 hours)
  • Practical classes & workshops (10 hours)

Employability skills

  • Analytical skills
  • Innovation/creativity
  • Project management
  • Problem solving

Learning outcomes

On successful completion of this unit, a student will be able to:

  • Describe the principles of interactive computer graphics

  • Design systems using programmable-pipeline OpenGL

  • Apply the mathematics of 3D transformations and viewing

  • Describe the principles of the rendering pipeline

  • Describe the principles of image processing

  • Implement fundamental image processing algorithms

Reading list

Interactive computer graphics : a top-down approach with WebGL Angel, Edward, author.9781292019345Pearson2015

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.