Computer Graphics (fall semester)
     (Studygids computer graphics webpage)

(1) [After mid-August] Create a login on the LML Course Manager: https://LCM.liacs.nl and then
(2) Register for Course: Computer Graphics

Period: 11 sept - 11 dec

Time: Lectures at 15:15 and Workshops at (see MyTimeTable)

Place:
    - Workshops will be held at Snellius (see MyTimeTable),
    - Lectures and Student Presentations at multiple rooms (see MyTimeTable)

Organizers:

Miguel Blom, teacher, m.o.blom@liacs.leidenuniv.nl
- Graphics theory, ray tracing, radiosity, Phong, math, programming

Prof. dr. Michael Lew, teacher, lewmsk@gmail.com
- class structure, final projects, scientific presentations

Students: Please start class related emails with subject lines which start with CG: (e.g. CG: Help on lighting) In general I respond to emails within 2 workdays (Mon-Fri). If you do not get a response, please resend the email - Prof. Lew

Assistants (for programming help and advice on workshops and assignments):

Lennard Schaap, Senior Teaching Assistant, protonwortel@protonmail.com

Dominique Lawson, Teaching Assistant, d.r.lawson@umail.leidenuniv.nl

Bob van Schendel, Teaching Assistant, bwvanschendel@gmail.com

Kai He, Teaching Assistant, k.he@liacs.leidenuniv.nl

Questions: For general course questions and theory, email Prof. Lew. For programming advice, please email the teaching assistants.

Requirements: The student should be fluent in C/C++ programming on UNIX. (note: There is a large amount of programming in this course!)

Abstract:

The goal of this course is to create a foundation (theory and programming) for understanding the current and future technology underlying computer graphics. Our intention is to create a synergistic mixture of theory and practice.

The first part of the class begins with introductory lectures into the mathematical fundamentals of computer graphics and workshops in programming 3D graphics. In the early years that the course was given it was completely lectures and had a passing rate of 60%. Then we introduced the notion of problem session workshops and the passing rate increased to 90%. The fundamental philosophy is that students learn the material best by practicing it in the followup workshops where an expert is also there to give guidance and insight. The first half of the course is intended to combine theory (lectures) and practice (programming).

The problem session workshops are assignments which should be done in the computer room under the supervision of the teaching assistant. They are interactive learning sessions where the teaching assistant is on-hand to explain and give assistance to the students in computer graphics programming exercises.

In the second half of the semester, the class moves to current state of the art methods which are presented by the students. Part of the class will give presentations and part of the class will be given an advanced programming assignment (the individual preferences will be handled by the student assistant).

There is a final project (programming, no teams) expected at the end of the course worth 50% of the total grade - this is the culmination of your skills developed during the course instead of an exam (there is no final exam).

Examples of typical subjects which will be covered are:

    - 3D modelling
    - 3D lighting & effects
    - Real time rendering
    - Computational geometry and advanced applications

Textbook: No textbook is necessary. All educational materials are supplied as attachments on the LML Course Manager.
For additional, optional reading: Computer Graphics Using Open GL by F. S. Hill, Jr. (Prentice-Hall, 2001 or later, ISBN: 0-02-354856-8)
2006 - 3rd Edition: ISBN-13: 978-0131496705

Grading (6 EC):

    - Problem Session Workshops/Assignments/Student Presentations/Class Participation: 50%

    - Final Project: 50%

Assignments turned in late: grade penalty of -1 per 24 hours (1 day), maximum 3 days late

If you can not attend a class, you are responsible for finding out what material you missed including any assignments that were given out.

The themes for the projects are Fireworks or Interactive Creatures or Scenery. More information will be given on the LML Course Manager.

Note (an addition on consequences of absence requested by Bach. Educ. Comm.): Computer graphics is a course that builds upon itself, week by week. This means that the content in all of the sessions during the first 6 weeks is especially important (and necessary) - if you can not attend a session in the first 6 weeks, we would advise not taking this course. Note that class participation is a part of the grade.

From the official studygids webpage: "Attendance is mandatory (for special situations, please consult with the teacher). Absence (without permission beforehand) will result in not passing the course."

Syllabus (tentative)

Note that assignments, slides, and other information are on the LML course manager at LCM.liacs.nl

11-9.    Theory Lecture: Introduction to Computer Graphics and Matrix Math, Projections & Open_GL
        - Optional Reading in FS Hill 2001: Chapters 4, 5, and 7;
        - Optional Reading in FS Hill 2006: Chapters 4, 5, and 7;

18-9    Theory Lecture: Fundamentals of 3D Modeling: Lines, Aliasing, Curves, Surfaces, Hermite, Bezier
        - Optional Reading in FS Hill 2001: Chapters 6.1-6.2, 10, 11.1-11.6
        - Optional Reading in FS Hill 2006: Chapters 6, 10 -

25-9    Problem Session Workshop 1

2-10    No class (similar as the MyTimeTable entry)

9-10    Theory Lecture: 3D Illumination & Shading & OpenGL
        - Optional Reading in FS Hill 2001: Chapters 8, 13, 14.1-14.8
        - Optional Reading in FS Hill 2006: Chapters 8, 11, 12

16-10    Problem Session Workshop 2

23-10    No class (similar as the MyTimeTable entry)

30-10    Theory Lecture: Ray Tracing & Advanced Topics

6-11    Problem Session Workshop 3

13-11    Overview, Q&A Final Project and Q&A Student Presentations

20-11    Student Presentations

27-11    Student Presentations

4-12    Student Presentations

11-12    Projects Expo (two sessions)
        - Students show their projects in class on this day
        - Documentation and Source Code is due at 11:59pm - See lcm.liacs.nl - Final Project deadline