2019 Augmented Reality

Font size  SML

Register update notification mail Add to favorite lecture list
Academic unit or major
Graduate major in Computer Science
Itoh Yuta 
Course component(s)
Mode of instruction
Day/Period(Room No.)
Mon1-2(W833)  Thr1-2(W833)  
Course number
Academic year
Offered quarter
Syllabus updated
Lecture notes updated
Language used
Access Index

Course description and aims

This unit is a practical course. Students will learn about the foundation of augmented reality (AR) including sensing technologies, human visual system, display technology, graphics rendering, and AR applications.
In this unit, we will alternate between lectures and exercises. In the lectures, we introduce the basics of AR together with other relevant technologies. In parallel with the learning of this basic knowledge, you learn AR in a hands-on manner through exercises. Through the exercises, you will implement a vision-based AR program from scratch (each exercise is a small piece for it). Each student or a small team of students must present a small AR project using the program in the final lecture. You also need to write a final report on the project.

Student learning outcomes

1) You can master the understanding of research background, design philosophy and composition principle of modern AR systems and advanced AR systems.
2) You can master the design and realization method of a typical AR system.


Augmented reality, mixed reality, virtual reality, human visual system, tracking, head mounted display

Competencies that will be developed

Specialist skills Intercultural skills Communication skills Critical thinking skills Practical and/or problem-solving skills

Class flow

We alternate lectures and project exercises. In the lectures, you learn the basic knowledge of AR. In the exercises, you implement a basic AR program and conduct the final project to develop your own small AR application. At the end of the course, you are expected to present the results of the project.

Course schedule/Required learning

  Course schedule Required learning
Class 1 [Basics 1] Introduction Outline and aim of the lecture
Class 2 [Hands-on 1] Image Processing 1 The basics of image processing using OpenCV
Class 3 [Basics 2] Human Visual System The basics of the human visual system
Class 4 [Hands-on 2] Image Processing 2 Understand AR marker detection
Class 5 [Basics 3] AR Displays Display technology
Class 6 [Hands-on 3] Image Processing 3 AR marker identification
Class 7 [Basics 4] Sensing The position tracking technology in real space
Class 8 [Hands-on 4] Image Processing 4 AR marker coordinate calculation
Class 9 [Basics 5] Visual Coherence The technology to enhance the reality of AR images
Class 10 [Hands-on 5] Graphics Rendering 1 The basics of CG rendering using OpenGL
Class 11 [Basics 6] Interaction Interaction technology in AR space
Class 12 [Hands-on 6] Graphics Rendering 2 The basics of AR rendering
Class 13 [Basics 7] AR Application Typical application areas in AR
Class 14 [Hands-on 7] Project progress Check the progress of projects
Class 15 [Hands-on 8] Project presentation Perform project presentation


No need to buy textbooks

Reference books, course materials, etc.

Materials for the course will be provided online.
The lecture slides will mainly be based on:
- Dieter Schmalstieg, Tobias Hollerer, "Augmented Reality: Principles and Practice" Addison-Wesley, 2018

The exercise parts of this class are based on OpenCV and OpenGL (with GLFW). It is really important for students to go through tutorials on their own, such as these:

Assessment criteria and methods

Project report (50%) and final presentation (50%)

Related courses

  • CSC.T421 : Human Computer Interaction
  • ART.T463 : Computer Graphics

Prerequisites (i.e., required knowledge, skills, courses, etc.)

- Coding Experience (especially C/C++) | All exercises use C/C++ with OpenGL and OpenCV
- Linear Algebra | We will use matrix transpose, inverse, and other operations to do algebra with matrix expressions. We will also solve some linear equations. We’ll use transformation matrices to rotate/transform 3D models. These topics are important for the project.
- Basics of Computer Graphics and/or Computer Vision | We use model and viewpoint matrices for graphics rendering using OpenGL. We also use basic image operations such as edge detections though OpenCV. If you are a quick learner, you should be able to learn them during the class if you haven’t yet.


You need a webcam. A camera on a laptop is sufficient.

Page Top