You need to activate javascript for this site.
Menu Conteúdo Rodapé
  1. Home
  2. Courses
  3. Mathematics and Applications
  4. Interactive Computing and Visualization

Interactive Computing and Visualization

Code 15634
Year 1
Semester S1
ECTS Credits 6
Workload PL(30H)/T(30H)
Scientific area Informatics
Entry requirements Programming skills.
Learning outcomes General Objectives
To provide students with:
- a comprehensive overview of computer graphics, interactive computing, and information visualization;
- skills in shader programming;
- skills in GPU parallel computing models;
- visual representation methods and techniques that enhance the understanding of complex data.

Learning Objectives
The student should:
- Be able to reprogram the graphics system using shaders (e.g., geometry shader);
- Be able to design and develop a compute shader to perform general-purpose computing tasks in parallel;
- Be able to design and develop a numerical algorithm on a GPU;
- Be able to design and develop a scientific visualization application that leverages shader programming and/or CUDA programming.
Syllabus Part I: Modern OpenGL and GLSL Programming
01. Fundamentals of graphics programming in GLSL.
02. Topics on "Vertex shaders" and "Fragment shaders."
03. Topics on "Geometry shaders" and "Tessellation shaders."
04. Topics on "Compute shaders."
05. Topics on "Ray casting" and "Ray tracing."

Part II: Data Visualization
06. Scalar fields.
07. Volume rendering.
08. Vector fields.
09. Tensor fields.
10. Topological data analysis.
Main Bibliography - Graham Sellers, Richard Wright, and Nicolas Haemel. OpenGL SuperBible: Comprehensive Tutorial and Reference (6th Edition). Addison-Wesley Professional, 2013.
- David Wolff. OpenGL 4 Shading Language Cookbook (2nd Edition). Packt Publishing, 2013.
- Shane Cook. CUDA Programming: A Developer's Guide to Parallel Computing with GPUs. Morgan Kaufmann, 2013.
- J. Foley, A. van Dam, S. Feiner, J. Hughes. Computer Graphics: Principles and Practice (2nd edition in C). Addison-Wesley Publ. Company, 1996.
- Abel J. P. Gomes, Irina Voiculescu, Joaquim Jorge, Brian Wyvill and Callum Galbraith. Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms. Springer-Verlag, 2009.
- Jason Sanders and Edward Kandrot. CUDA by Example: An Introduction to General-Purpose GPU Programming. Addison-Wesley Professional, 2011.
- Tomas Akenine-Moeller, Eric Haines, and Natty Hoffman. Real-Time Rendering (3rd. ed.). AK Peters, 2008.
Teaching Methodologies and Assessment Criteria To allow the student to acquire the skills required in the course, the following activities are planned:
- theoretical (T) lectures on theoretical concepts, methods, and algorithms, using overhead projection, white-board writing, and discussing ideas with students;
- practical and laboratory classes (PL), in which students apply and test concepts and algorithms introduced in lectures by solving programming exercises proposed by the instructor;
- tutoring for answering questions, solving problems, as well as to help the students in developing their individual projects;
Language Portuguese. Tutorial support is available in English.
Last updated on: 2025-09-30

The cookies used in this website do not collect personal information that helps to identify you. By continuing you agree to the cookie policy.