Computer Graphics

Faculteit Science and Engineering
Jaar 2021/22
Vakcode WBCS019-05
Vaknaam Computer Graphics
Niveau(s) bachelor
Voertaal Engels
Periode semester II a

Uitgebreide vaknaam Computer Graphics
Leerdoelen Students are able to
1) use basic concepts for the design, implementation, and applications of graphics systems and algorithms
2) describe how graphics systems work
3) employ the mathematical models behind graphics system operations
Omschrijving This course introduces the main concepts behind two-dimensional and three-dimensional computer graphics such as scanconversion, transformations including the necessary linear algebra, the rendering pipeline with its stages, local and global illumination models, and shape representations. Lectures are accompanied by tutorials and practicals on OpenGL and ray-tracing, and the relevant theory and algorithms. These tutorials and practicals deepen the understanding of the presented material through discussions and implementation. The course is closely related to image processing, computer vision, scientific visualisation, linear algebra, and object-oriented techniques, and is a prerequisite for the Intelligent Systems and Visual Computing MSc specialisation at the RUG.
Uren per week
Onderwijsvorm Hoorcollege (LC), Practisch werk (PRC), Werkcollege (T)
(Attendance at practicals is mandatory.)
Toetsvorm Practisch werk (PR), Schriftelijk tentamen (WE)
(The final grade of the course is derived as follows: 50% for participation in practicals and completing mandatory weekly programming assignments, and 50% for a final written exam. If the grade for practicals or written exam is below 5, the maximum final grade is 5. Additional information can be found in the remarks section.)
Vaksoort bachelor
Coördinator prof. dr. J. Kosinka
Docent(en) prof. dr. J. Kosinka
Verplichte literatuur
Titel Auteur ISBN Prijs
"Fundamentals of Computer Graphics", fourth edition, 2016. A K Peters Ltd. Peter Shirley and Steve Marschner 978-1-4822-2939-4
Lecture and practical slides and comprehensive Nestor pages. Jiri Kosinka; teaching assistants
Entreevoorwaarden The course unit assumes the following prior knowledge:
- familiarity with a mainstream (object-based) programming language, ideally C++;
- having developed a small application in a mainstream programming language (over 500 lines of code);
- basic calculus and linear algebra notions (univariate and bivariate functions, derivatives, gradients, matrix-vector products, inner/cross products, matrix inverse);
- familiarity with basic programming data structures and algorithms (arrays, trees, lists, graphs, sorting algorithms, traversal algorithms).
Opmerkingen The subgrades are not rounded, but the final average, and thus grade, is rounded to the nearest half-integer with the exception of 5.5, which is not considered a half-integer and is itself rounded up to 6.


All CS bachelor courses have limited enrollment:
- CS students can always enter each course, regardless of whether the course is mandatory for them or not.
- A maximum of only 20 places per course is available for non-CS students. These places are filled on a first-come-first-served basis, with priority given to students with a strong CS-related background (e.g., CS exchange students, AI students, etc.). These students need to meet the course prerequisite requirements as mentioned on Ocasys.
- Six weeks before the course starts, the 20 students that can join are selected and added to the course. If you enroll after this date, you will be placed on the waiting list.
See here for more info about the enrollment procedure.
Opgenomen in
Opleiding Jaar Periode Type
BSc Artificial Intelligence  (Keuzevakken) 2 semester II a keuze
BSc Artificial Intelligence  (Keuzevakken) 3 semester II a keuze
BSc Computing Science  (Compulsory course units) 3 semester II a verplicht
BSc Courses for Exchange Students: AI - Computing Science - Mathematics - semester II a
Pre-master/Fast-track for MSc AI - CCS – CS - Math  (Computing Science) - semester II a -