## MTAT.03.015 Computer Graphics

**Lectures**: Wednesdays 12:15, Liivi 2 - 405**Practice sessions**:- Mondays 12:15, Liivi 2 - 003.
**(Sep 02 - Free)** - Mondays 14:15, Liivi 2 - 003.
**(Sep 02 - Free)**

- Mondays 12:15, Liivi 2 - 003.
**Questions**:- Konstantin Tretyakov (kt@ut.ee)
- Ilya Kuzovkin (ilya.kuzovkin@gmail.com)

**Mailing list**: aine.ati.arvutigraafika@lists.ut.ee**GitHub**: ComputerGraphics2013

The course presents an introduction to the basic methods of computer graphics. The primary focus is on three-dimensional graphics (projection, lighting, shadows, texturing, raytracing). On the practice sessions students will implement or test the algorithms discussed during the lectures, and get acquainted with the basics of 3D modeling. By the end of the course the students should have a solid understanding of the architecture and use of a contemporary graphics system, be capable of implementing a simple OpenGL-based application as well as a custom 3D-engine. The course requires some previous experience with linear algebra and basic programming skills. Most of the programming in the course will be done in C (however, no advanced C knowledge is expected).

### Grading

To successfully complete the course the student will need to:

**Attend the lectures**.

We do not check or force attendance of the lectures. It's an elective course, after all, and we hope you'll enjoy attending them.**Solve practice session exercises**.

Each practice session contains several exercises, some of which will be solved in class, and some may remain for homework. Each week's solutions must be uploaded for grading. Solving each exercise gives you some points. There is an average of 3 points you can get per practice session / homework (some may give more, some less). In the end you should aim at having 40 practice session points. The deadline for each practice submission is Sunday the same week. Late submissions cost 1 point per delayed day.**Complete a programming project**.

To try applying and extending the knowledge you gain in the course the students are required to complete a small-scale programming project of their own choice in teams of 2-3 (up to 4 in exceptional cases) people. Successful completion will result in 30 points. You lose points by missing deadlines.**Pass a written exam.**The exam will consist of about 20 short questions, aiming to test the overall understanding of the theoretical material covered during the course (example in Estonian). For those who attend the lectures it will hopefully be trivial to solve. The maximum score for the exam is 30 points.

The final score is obtained as the sum of all points (i.e., the nominal amount is 40 practice + 30 project + 30 exam. There will be plenty of opportunities for bonus points as well). Point score is then mapped to the F-A scale in the traditional manner (91+ = A, 81-90 = B, etc)