50.017 Graphics and Visualisation

Home / Education / Undergraduate / Courses / 50.017 Graphics and Visualisation

Course Description

Introduction to computer graphics algorithms, software and hardware. Topics include ray tracing, the graphics pipeline, transformations, texture mapping, shadows, sampling, global illumination, splines, animation, color, fundamentals of virtual and augmented reality (VR and AR).

In this course, we will concentrate on 3D, not 2D illustration or image processing. You will learn:

  • Fundamentals of computer graphics algorithms
  • Basics of real-time rendering and graphics hardware
  • Basic OpenGL
  • C/C++ programming experience
  • How to write efficient programs
  • Algorithms that can help in Machine Learning (e.g. KDTree)


50.003 Elements of Software Construction or knowledge of the following.

  • C/C++: All assignments are in C/C++
  • Calculus, Linear Algebra: Solving equations, derivatives, integral; vectors, matrices, basis, solving systems of equations.

Learning Objectives

Understand the fundamentals of computer graphics algorithms

  1. Implement graphics algorithms for a variety of applications: video games, movies, CAD, etc.
  2. Understand the different requirements of different applications.
  3. Understand the basics of real-time rendering and graphics hardware.
  4. Use C/C++ and OpenGL programming to build 3D graphics applications

Measurable Outcomes

Understand key topics related to computer graphics:

  1. Coordinate transformations
  2. Bezier curves and splines
  3. Representation and interpolation of rotations
  4. Computer animation
  5. Particle systems
  6. Collision detection
  7. Ray Tracing
  8. Rasterization and Shading
  9. Texture mapping
  10. Global illumination approaches

Image Credit