Computer Graphics
Faculteit  Science and Engineering 
Jaar  2021/22 
Vakcode  WBCS01905 
Vaknaam  Computer Graphics 
Niveau(s)  bachelor 
Voertaal  Engels 
Periode  semester II a 
ECTS  5 
Rooster  rooster.rug.nl 
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 twodimensional and threedimensional 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 raytracing, 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 objectoriented 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 


Entreevoorwaarden  The course unit assumes the following prior knowledge:  familiarity with a mainstream (objectbased) 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, matrixvector 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 halfinteger with the exception of 5.5, which is not considered a halfinteger 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 nonCS students. These places are filled on a firstcomefirstserved basis, with priority given to students with a strong CSrelated 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 
