Skip to main content

Graphics Programming (5 cr)

Code: TTC8830-3003

General information


Enrollment

01.08.2023 - 24.08.2023

Timing

28.08.2023 - 19.12.2023

Number of ECTS credits allocated

5 op

Virtual portion

5 op

Mode of delivery

Online learning

Unit

School of Technology

Teaching languages

  • English

Seats

0 - 35

Degree programmes

  • Bachelor's Degree Programme in Information and Communications Technology

Teachers

  • Jani Immonen

Groups

  • TTV21S3
    Tieto- ja viestintätekniikka (AMK)
  • TTV21S5
    Tieto- ja viestintätekniikka (AMK)
  • TTV21SM
    Tieto- ja viestintätekniikka (AMK)
  • TTV21S2
    Tieto- ja viestintätekniikka (AMK)
  • TTV21S1
    Tieto- ja viestintätekniikka (AMK)
  • 24.11.2023 08:45 - 11:15, Graphics Programming TTC8830-3003
  • 01.12.2023 08:45 - 11:15, Graphics Programming TTC8830-3003
  • 08.12.2023 08:45 - 11:15, Graphics Programming TTC8830-3003
  • 15.12.2023 08:45 - 11:15, Graphics Programming TTC8830-3003

Objectives

Purpose:
In the Graphics Programming Course, you will learn the basics of real-time 3D graphics and programmable pipeline programming. The course aims to provide students with a comprehensive understanding of computer graphics, including how to develop and implement 3D graphics applications that are both visually appealing and interactive.

Throughout the course, you will learn about the key concepts of computer graphics, such as geometric transformations, shading models, and rasterization. You will also learn how to program graphics pipelines using modern, high-level graphics APIs such as OpenGL and Vulkan, and how to utilize modern graphics hardware to render 3D scenes in real-time.

In addition, the course will cover fundamental topics such as lighting, texturing, and object-oriented graphics programming, enabling you to develop complex, visually rich 3D applications. You will also gain an understanding of how to use graphics frameworks and libraries to accelerate the development of your 3D graphics applications.

EUR-ACE Competences:
Knowledge and Understanding
Engineering practice
Communication and team-working
Multidisciplinary competences
Engineering practice
Investigations and information retrieval

Learning outcomes:
Throughout the course, you will work on hands-on programming assignments, creating your own 3D graphics applications and learning to debug and optimize your code. By the end of the course, you will have a deep understanding of real-time 3D graphics and the skills needed to develop and deploy high-performance graphics applications.

Content

The course covers modern graphics programming using OpenGL. The course discusses topics such OpenGL Shading Language (GLSL) and modern OpenGL programming pipeline.

Learning materials and recommended literature

Materials in the e-learning environment.

Teaching methods

- lectures
- independent study
- distance learning
- small group learning
- exercises
- learning tasks

Exam dates and retake possibilities

The possible date and method of the exam will be announced in the course opening.

Alternative completion methods

The admission procedures are described in the degree rule and the study guide. The teacher of the course will give you more information on possible specific course practices.

Student workload

One credit (1 Cr) corresponds to an average of 27 hours of work.

- lectures 50 h
- assignment 55 h
- independent study 30 h
Total 135 h

Evaluation scale

0-5

Evaluation criteria, satisfactory (1-2)

Fail 0: The student does not meet the minimum criteria set for the course.

Sufficient (1): The student is familiar with the basic topics discussed during the course. The student is able to write programs using OpenGL with assistance and use existing shaders written in GLSL.

Satisfactory (2): The student understands the most basic topics discussed during the course, however, they struggle to utilize this knowledge. The student is not able to search for relevant information independently. The student is able to write programs using OpenGL, but uses mostly existing shaders written in GLSL.

Evaluation criteria, good (3-4)

Good (3): The student understands the most important topics discussed during the course and is able to utilize this knowledge in the most basic cases. The student is able to utilize information about the discussed topics. The student is able to write simple programs using OpenGL and simple shaders using GLSL.

Very good (4): The student understands the most important topics discussed during the course and is able to utilize this knowledge in most common cases. The student is able to search and understand information about the discussed topics. The student is able to write using OpenGL and shaders using GLSL.

Evaluation criteria, excellent (5)

Excellent (5): The student understands all topics discussed during the course and is able to use them in an innovative manner even in challenging situations. The student is able to search and utilize information about the discussed topics independently. The student is able to write programs using OpenGL and complex shaders using GLSL.

Prerequisites

Basics in programming, Data structures and algorithms, Object-oriented programming.