Skip to main content

Unit information: Computer Graphics (Teaching Unit) in 2023/24

Unit name Computer Graphics (Teaching Unit)
Unit code COMS30020
Credit points 0
Level of study H/6
Teaching block(s) Teaching Block 1 (weeks 1 - 12)
Unit director Dr. Lock
Open unit status Not open
Units you must take before you take this one (pre-requisite units)

COMS10016 Imperative and Functional Programming or equivalent

COMS10017 Object-Oriented Programming and Algorithms I or equivalent.

COMS20010 Algorithms II or equivalent.

Proficiency programming with C

Knowledge of linear algebra

Knowledge of matrices and vectors

Units you must take alongside this one (co-requisite units)

EITHER COMS30018 Computer Graphics (Examination assessment, 10 credits)

OR COMS30073 Computer Graphics (Examination and Coursework assessment, 20 credits).

Please note:

COMS30020 is the Teaching Unit for the Computer Graphics option.

Single Honours Computer Science and some Joint Honours students can choose to be assessed by either examination (10 credits, COMS30018) or examination and coursework (20 credits, COMS30073) by selecting the appropriate co-requisite assessment unit.

Any other students that are permitted to take the Computer Graphics option are assessed by examination (10 credits) and should be enrolled on the co-requisite exam assessment unit (COMS30018).

Units you may not take alongside this one

None.

School/department School of Computer Science
Faculty Faculty of Engineering

Unit Information

Why is this unit important?

The general area of Computer Graphics encapsulates many different topics such as animation, interaction, physics, geometry, and optimisation. This particular unit will focus primarily on rendering - the process of creating “realistic” images from geometry data. This unit does not intend to teach specific graphics APIs (such as OpenGL or DirectX), but rather will explore the fundamental principles and practices that underlie such libraries. The nature of the unit is such that the understanding gained from investigating these fundamental principles and practices will give students deep insight of how such APIs operate. As a result of this, students will have the knowledge and understanding that will enable them to gain an appreciation of (and rapidly become proficient in) any relevant graphics framework.

The unit will first introduce the basic foundations of computer graphics (pixels, colours, coordinate systems etc.) before going on to consider alternative fundamental approaches to rendering (such as Raytracing and Rasterising). This unit provides students with an opportunity to practically apply various tools and techniques that they will already have encountered during their programme of study (including interpolation, matrix transformation and linear algebra). Students will have the opportunity to explore different approaches to lighting and shadow as well as advanced techniques for improving rendering performance and realism. These will open a range of interesting opportunities for possible final major project topics. How does this unit fit into your programme of study? This is an optional unit that can be taken in Year 3.

Your learning on this unit

An overview of content

This unit focuses on the following topics:

  • Learning fundamental principles of 2D and 3D rendering
  • Implementing rending engines from the ground up (using only the minimum of existing libraries)
  • Batch/offline rendering as well as real-time interactive rendering
  • Real world applications in the area of data visualisation, digital art, movies and games

This unit will however not cover the following related issues:

  • GPUs or hardware pipelines
  • Specific graphics APIs such as OpenGL or DirectX
  • Model creation (3D scanning, or Blender/Maya modelling)

This is not a game development unit!

How will students, personally, be different as a result of the unit

This unit will “open the box” on 3D rendering and give students a deep understanding of the organisation and operation of graphical rendering pipelines. This will not only give students a fundamental understanding of the behaviours of major graphics frameworks, but will also allow them to devise and develop optimisations to improve the efficiency and aesthetics of such frameworks.

Learning Outcomes

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

  1. Describe the operation of different approaches to rendering
  2. Apply formulae to calculate specific aspects of rendering algorithms
  3. Differentiate between the outputs produced by different rendering approaches

When the unit is taken with the associated 20 credit option that includes coursework, students will also be able to:

  1. Implement rendering algorithms appropriate to a given context of use
  2. Identify appropriate optimisations to improve rendering performance
  3. Employ tools and techniques to create realistic and aesthetically appealing graphical representations
  4. Make informed trade-offs between output image realism and rendering time

How you will learn

Teaching will take place over 7 weeks, with a coursework assignment in weeks 9-11. Teaching will be delivered through a combination of synchronous briefing sessions, asynchronous teaching materials (including written materials, slides, audio narrations, videos and graphical animations) and in-person practical lab sessions.

Delivery of the unit takes a problem-based approach, with all teaching activities designed to support students in developing solutions to the challenges set in the weekly workbooks. Students are set clearly defined objectives and must select and apply a range of approaches in order to successfully achieve each objective. These practical objectives will include:

- Drawing 2D graphics primitives (pixels, lines, triangles) - Rendering 3D scenes (rasterising and ray tracing) - Approximating the effects of light - Rendering of advanced materials (reflective and transparent)

The described approach reflects the characteristics of the topic which, by its very nature, requires a very practical, applied and hands-on mode of teaching and learning. If taken with coursework, the unit provides weekly coursework support sessions.

How you will be assessed

Tasks which help you learn and prepare you for summative tasks (formative):

Teaching will take place over the first weeks of the term, with coursework support sessions in weeks 9-11 and consolidation and revision sessions in Weeks 12. Students will progress through a series of weekly workbooks that consist of structure practical tasks, each with specific outputs and objectives. Reference images are provided for each of these tasks, so that students may assess their own progress and determine when they have successfully achieved the objectives of a workbook. Completion of these formative tasks will provide students with the skills, knowledge and codebase required in order to tackle the final summative assessment.

Tasks which count towards your unit mark (summative):

2 hour exam (COMS30018 - 100%; COMS30073 – 50%)

In addition, students taking COMS30073 will also take a coursework in weeks 9-11 (50%)

The two different forms of assessment allow the whole range of intended learning outcomes to be assessed. The use of two elements of assessment also mitigates the risk of students failing the unit, should they perform poorly in a single one of them.

Coursework

The skills, knowledge and codebase developed over the course of the 7 weekly workbooks will provide students with the fundamental foundations required to attempt the summative coursework assignment. The assessed coursework will require students to apply their own rendering pipeline to a particular graphical rendering challenge. In order to attain marks in the higher grade boundaries, students have the opportunity to demonstrate depth and extent of their knowledge and ability by developing extensions to the basic rendering framework. It is important to note that such “extensions” are taken from a predefined set of enhancements, and as such are not open-ended, unbounded activities. This coursework will take place in weeks 9-11 of TB2 (during a programme-wide coursework period).

Exam

A closed-book exam will assess students’ knowledge of the operation and characteristics of different rendering techniques as well as their ability to identify and describe appropriate optimisations to improve rendering performance. This exam will take place during the January examination period.

When assessment does not go to plan

Students will retake relevant assessments in a like-for-like fashion in accordance with the University rules and regulations.

Resources

If this unit has a Resource List, you will normally find a link to it in the Blackboard area for the unit. Sometimes there will be a separate link for each weekly topic.

If you are unable to access a list through Blackboard, you can also find it via the Resource Lists homepage. Search for the list by the unit name or code (e.g. COMS30020).

How much time the unit requires
Each credit equates to 10 hours of total student input. For example a 20 credit unit will take you 200 hours of study to complete. Your total learning time is made up of contact time, directed learning tasks, independent learning and assessment activity.

See the University Workload statement relating to this unit for more information.

Assessment
The Board of Examiners will consider all cases where students have failed or not completed the assessments required for credit. The Board considers each student's outcomes across all the units which contribute to each year's programme of study. For appropriate assessments, if you have self-certificated your absence, you will normally be required to complete it the next time it runs (for assessments at the end of TB1 and TB2 this is usually in the next re-assessment period).
The Board of Examiners will take into account any exceptional circumstances and operates within the Regulations and Code of Practice for Taught Programmes.

Feedback