Computer Graphics
Faculteit  Science and Engineering 
Jaar  2019/20 
Vakcode  INBCG08 
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  4  
Onderwijsvorm 
Hoorcollege (LC), Practisch werk (PRC), Werkcollege (T)
(Attendance at practicals and tutorials 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  J. Kosinka, PhD.  
Docent(en)  J. Kosinka, PhD.  
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. PLEASE NOTE that as of December 17th 2019 enrolment for this course is closed, due to capacity limits. If you think it is absolutely critical for you to take this course and you are not enrolled yet, please contact the CS academic advisor. 

Opgenomen in 
