CGRA151 (2019) - Introduction to Computer Graphics

Prescription

Introduces necessary background, fundamental concepts, and basic algorithms of Computer Graphics, including human visual perception, representation of colour and images, representation of 2D and 3D spaces, manipulation, movement and drawing of 2D and 3D objects. Students will use an appropriate modern programming language to investigate many of the ideas presented in the lectured material.

Course learning objectives

Students who pass this course should be able to:

  1. Write simple programs in the Processing programming language
  2. Understand, be able to explain and reproduce a range of fundamental computer graphics algorithms, including line drawing, triangle drawing, clipping, and curve drawing.
  3. Understand and use the vector and matrix representations in homogenous co-ordinate systems, to perform geometric transformations.
  4. Understand and explain the human visual system, its limitations, and the implications these limitations have on epresentations of colour, display resolution, and quantisation. Describe a number of colour spaces and their relative merits. Explain the basics of the key display technologies in current use.

Course content

The course has four components:
1. Programming: To teach you how to use a Java-based graphics language, Processing, to consolidate what you learnt in COMP 102, COMP 112 or DSDN 142. To teach you something about algorithm design, especially about ways to optimise an algorithm.
2. Behind the scenes: Detailed consideration of a numbe of fundamental computer graphics algorithms that allow you to understand what a graphics card does when it draws.
3. Underlying mathematics. Algebraic representations of lines and curves. Vectors, matrices, representation of transforms using matrices. Algebra for line-line intersection and closest-point-to-a-line calculation.
4. Fundamental concepts in human vision, colour representation and display design: so that you know the limitations of what we do and why those limitations exist.

Required Academic Background

At least one first-year programming course (COMP 102, COMP 112, DSDN 142). Basic linear algebra provided by, for example, ENGR 121 or equivalent standards in NCEA level 3 mathematics.

Withdrawal from Course

Withdrawal dates and process:
https://www.wgtn.ac.nz/students/study/course-additions-withdrawals

Lecturers

Neil Dodgson (Coordinator)

Teaching Format

During the trimester there will be three lectures and one laboratory per week.

Student feedback

Student feedback on University courses may be found at: www.cad.vuw.ac.nz/feedback/feedback_display.php

Dates (trimester, teaching & break dates)

  • Teaching: 08 July 2019 - 13 October 2019
  • Break: 19 August 2019 - 01 September 2019
  • Study period: 14 October 2019 - 17 October 2019
  • Exam period: 18 October 2019 - 09 November 2019

Class Times and Room Numbers

08 July 2019 - 18 August 2019

  • Tuesday 09:00 - 09:50 – LT101, Maclaurin, Kelburn
  • Thursday 09:00 - 09:50 – LT101, Maclaurin, Kelburn
  • Friday 09:00 - 09:50 – LT101, Maclaurin, Kelburn
02 September 2019 - 13 October 2019

  • Tuesday 09:00 - 09:50 – LT101, Maclaurin, Kelburn
  • Thursday 09:00 - 09:50 – LT101, Maclaurin, Kelburn
  • Friday 09:00 - 09:50 – LT101, Maclaurin, Kelburn

Other Classes

Students must sign up in myAllocator for a regular one-hour laboratory session each week. In some weeks the laboratory is a tutorial session; in other weeks it is a marking session. Students should plan to attend all weeks. Session times will be announced in the week before lectures start.

Required

There are no required texts for this offering.

Mandatory Course Requirements

In addition to achieving an overall pass mark of at least 50%, students must:

  • Achieve at least 40% on the final examination
  • Achieve at least 40% across the assignments ("assignments" include the three programming assignments, mathematics worksheet, project proposal and final project)

If you believe that exceptional circumstances may prevent you from meeting the mandatory course requirements, contact the Course Coordinator for advice as soon as possible.

Assessment

This course will be assessed through assignments, a project, a test, and a final examination.

Assessment ItemDue Date or Test DateCLO(s)Percentage
Programming Assignment 1Week 2CLO: 13%
Programming Assignment 2Week 4CLO: 17%
Mathematics worksheetWeek 6CLO: 32%
Mid-term testWeek 6CLO: 1,2,310%
Plan for final programming projectWeek 7CLO: 12%
Programming Assignment 3Week 9CLO: 1,27%
Final programming projectWeek 11CLO: 114%
Final Examination (2 hours)Exam periodCLO: 1,2,3,455%

Penalties

Late submissions will receive a penalty of 25% for each day late, rounded up to the nearest whole day.
We specify that certain programming assignments, including the project proposal and the final project, must be marked in person. Students who do not get these assignments marked in person will receive zero marks for that assignment.

Extensions

Students receive two free "late days" for which no penalty will be applied and which are applied automatically by the ECS marking system. You do not need to apply for these. Late days are used in fractions, for example, using 0.1 of a late day leaves you with 1.9 late days. Late days are provided to cope with unexpected problems. Do not use late days to cover procrastination. Extensions to assignments beyond the late days should only be sought in cases of serious personal difficulty (e.g., significant illness) and are considered on their merits. We reserve the right to ask for documentation to support your case.

Submission & Return

All work is submitted through the ECS submission system. The project proposal, final project and three of the programming assignments are marked in person by tutors during the student's allocated laboratory sessions. One of the programming assignments and the maths worksheet are marked by tutors independently,with feedback through the ECS submission system.

Marking Criteria

The programming assignments and the final project are marked in person. They are assessed on whether they produce the expected result, on code quality, and on how well the student can explain the program to the marker.
All other assessment is done by tutors or lecturers, marking to a scheme produced by the lecturers.

Required Equipment

You are able to use the ECS computers for all the exercises but may find it more convenient to use your own, in which case you will need to install the Processing programming environment, available free from http://www.processing.org

Workload

In order to maintain satisfactory progress in CGRA 151, you should plan to spend an average of 10 hours per week on this paper. A plausible and approximate breakdown for these hours would be:

  • Lectures, laboratories, and marking sessions: 4 hours per week
  • Consolidating lectured material, through readings, exercises, worksheets: 3 hours per week
  • Assignments: 3 hours per week

Teaching Plan

See https://ecs.victoria.ac.nz/Courses/CGRA151_2019T2/LectureSchedule

Communication of Additional Information

All online material for this course can be accessed at https://ecs.victoria.ac.nz/Courses/CGRA151_2019T2/

Offering CRN: 28221

Points: 15
Prerequisites: COMP 102 or 112 or DSDN 142; 15 pts from (ENGR 121, MATH 100-199) or 16 AS credits NCEA Level 3 mathematics (or equivalent)
Duration: 08 July 2019 - 10 November 2019
Starts: Trimester 2
Campus: Kelburn