Courses

This page contains a list of all courses taught by the Computer Graphics Group. We also recommend checking the recommended study plan.

Table of Contents

Introductory Courses

Our introductory courses are mainly intended for Bachelor students and older students who have not yet attended lectures on the given topics.

Elementary Computer Graphics

Basic course of 2D and 3D computer graphics - topics: human visual system, color systems, color reproduction, vector and raster graphics, halftoning, anti-aliasing, HDR graphics, basic drawing algorithms, raster image coding, 3D scene representation, linear 2D and 3D transformations, projections, algorithms for hidden line/surface removal, introduction to shading, OpenGL basics.
Advanced course in computer graphics focuses on 3D graphics and realistic rendering. Main topics: lighting models, smooth shading, ray tracing including acceleration techniques, anti-aliasing, distributed ray tracing, sampling methods, textures, Monte-Carlo methods in realistic rendering, radiosity methods.
This advanced course focuses on modern real-time 3D graphics. Main topics: mathematical foundations for 3D graphics, data structures, computer graphics pipeline, geometric transforms and lighting, visibility, transparency, texturing, stencil buffer, multipass rendering, etc. GPU programming: vertex-shaders and pixel-shaders, API for HW accelerated graphics programming.

Computer Vision and Image Processing

An introductory course on image processing and pattern recognition. Major attention is paid to image sampling and quantization, image preprocessing (noise removal, contrast stretching, sharpening, and de-blurring), edge detection, geometric transformations and warping, features for shape description and recognition, and to general pattern recognition techniques. Numerous applications and experimental results are presented in addition to the theory.
The subject introduces methods of digital image processing and focuses more in detail to computer vision, where seen images are interpreted, observed in the 3D world or in motion. The pattern recognition tools will be briefly mentioned too and tasks of intelligent robotics will be formulated.
The lecture is focused on the basics of computer vision. The graduate will master the techniques of computer vision, image processing and recognition, such as image segmentation, face detection and tracking, determining salient areas in images, etc.
Practicals are meant for beginners in Matlab environment. Attendants will learn how to use the environment efficiently while solving image processing tasks.

Computational Geometry

The course deals with methods and data structures from the algorithmic computational geometry, usable for geometrically formulated problems in computer graphics and its applications, but also pattern recognition, database systems, artificial intelligence, statistics etc. Examples of solved problems are as follows: geometric search, triangulation, mutual position of geometric objects. Examples of presented methods are as follows: sweeping, duality, divide and conquer, Voronoi diagrams.
In this course, we will investigate some of the geometry behind computer graphics and needed to generate computer images. This will involve a brief introduction to several areas in geometry, including analytic geometry in affine and euclidean space, kinematics and differential geometry and how these areas can be used in solving problems arising in geometric modelling.
In this course we will concentrate of the subdiscipline of geometric modelling known as computer aided geometric design, which was formed from the mathematical structures and methods used in CAD/CAM systems and subsequently exploited in computer graphics and computer animation. The goal in this course is to examine the basic underlying geometric structures that are used in solving some problems in geometric modelling.

Advanced Courses

Our advanced courses are mainly intended for Master and Ph.D. students.

Advanced course in computer graphics with the emphasis on image synthesis. Main topics are rendering equation, Monte-Carlo rendering methods, path tracing, photon mapping etc. Furthermore, the course gives a survey of selected methods from advanced computer graphics such as computational photography, HDR and tone mapping, sound simulation, inverse kinematics, skinning, motion capture, dynamics of rigid bodies and fluids.
The topic of this lecture is predictive image synthesis, and the technologies that are needed to accomplish it. The emphasis of the lecture is on those aspects of computer graphics that are unique to this particular application domain.
The aim of this course is to teach students the fundamentals of optics, which will help them to understand both the phenomena that control the appearance of physical objects in real world and function of instruments used for their imaging.
The course broadens topics of the course NPGR002. Main attention will be paid to several special functions and transformations (especially moment functions and wavelet transform) and their use in selected tasks of image processing - edge detection, noise removal, recognition of deformed objects, image registration, image compression, etc. Both the theory and practical applications will be discussed.
The course broadens topics of the image processing course NPGR002 and it is aimed for students eager to gain deeper knowledge in the field. The majority of image processing tasks can be formulated as a variational problem. We give an introduction to the calculus of variations and numerical methods solving optimization problems. Then we focus on problems from image processing, which one can formulate as an optimization problem and we illustrate possible solutions on a wide variety of practical applications.
The goal of the seminar is to imporve the participants' skills in scientific work. The topics include effective reading of scientific publications, critical interpretation of published results, scientific writing, presentation in the English language.