Skip to main content

Unit information: Computer Graphics (Teaching Unit) in 2024/25

Please note: Programme and unit information may change as the relevant academic field develops. We may also make changes to the structure of programmes and assessments to improve the student experience.

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)

COMS10018 Object-Oriented Programming and Algorithms (or equivalent)

COMS20017 Algorithms and Data (or equivalent)

Key knowledge and experience:

  • Proficiency programming with C
  • Knowledge of linear algebra
  • Knowledge of matrices and vectors
Units you must take alongside this one (co-requisite units)

EITHER COMS30081 Topics in Computer Science (Examination assessment, 20 credits).

OR COMS30082 Computer Graphics (20 credits).

Please note: This unit is the Teaching only unit for the Computer Graphics option.

Students taking this unit choose to be assessed by EITHER the MAJOR 20 credit unit COMS30082 OR as part of the Topics in Computer Science MINOR 20 credit examination unit. Students select the form of assessment to be taken by enrolling on the appropriate co-requisite assessment unit.

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 various forms of 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 operations 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 introduce students to a range of interesting possible final year project topics, as well as opening up various longer-term career opportunities in the area of 3D rendering.

How does this unit fit into your programme of study?

This is an optional unit that can be taken during TB1 in Year 3 or 4. This positioning allows students to make use of fundamental skills and knowledge developed during the first 2 years of their study. This unit is also delivered around the time that students are selecting their final year project topics, so can have an influence on the nature of projects undertaken.

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)
  • Simple scripted/batch process animations as well as real-time interactive rendering
  • Real world applications in the areas of data visualisation, digital art, film 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)

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 approaches. 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, ALL students (both MAJOR and MINOR) will be able to:

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

When the unit is taken as the MAJOR 20 credit variant, students will also be able to:

4. Implement various rendering algorithms to achieve realistic and aesthetically appealing graphical output

5. Identify and apply appropriate optimisations to improve rendering performance

6. Make informed trade-offs between output image realism and rendering time

How you will learn

Teaching will take place over 7 weeks and will be delivered through a combination of synchronous lectures, asynchronous teaching materials (including written materials, slides, audio narrations, videos and graphical animations) and in-person practical labs.

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 include topics such as:

  • Drawing 2D graphics primitives (pixels, lines, triangles)
  • Rendering 3D scenes using rasterization
  • Rendering 3D scenes using ray tracing
  • Navigation around 3 dimensional space
  • Approximating the effects of light and shadow

The described approach reflects the characteristics of this subject which, by its very nature, requires a very practical, applied and hands-on mode of teaching and learning. For the MAJOR variant of this unit, weekly support sessions will be provided during weeks 9-11 to assist students with completing their coursework.

The examination and in-class tests provide an efficient mechanism to assess individual students’ theoretical knowledge of the fundamental mathematical principles, as well as the high-level operation of key rendering processes. The coursework assessment provides an opportunity assess students’ practical skills and abilities when applied to a longer-term rendering challenge of significant scale and complexity.

How you will be assessed

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

Teaching will take place over the first 8 weeks of the term (excluding the reading week), with coursework support sessions in weeks 9-11 and consolidation and revision sessions taking place in week 12. During the taught phase of the unit, 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 many 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 and knowledge required to pass the assessments. Additionally, the codebase developed over this period will provide students taking the 20CP MAJOR variant of this unit with the foundations required in order to tackle the final summative assessment.

Tasks which count towards your unit mark (summative):

For students taking this unit with the Topics in Computer Science (MINOR) examination unit, it will contribute 50% towards the 20cp Topics in Computer Science exam, (equivalent to 1 hour of exam time) that will be sat during the winter examination period. This closed-book exam will assess Learning Outcomes 1, 2, and 3.

For students taking this unit as a 20CP MAJOR choice, there will be two elements of assessment:

  • A mid-term in-class test that will assess Learning Outcomes 1, 2 and 3 (worth 30% of the unit)
  • An end-of-term programming assignment (taking place during weeks 9-11) that will assess Learning Outcomes 2, 4, 5, and 6 (worth 70% of the unit)

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