Course Description


CENG 477 Introduction to Computer Graphics introduces the basic concepts of computer graphics and raster based methods.
It also provides the necessary theoretical background for introductory computer graphics and demonstrates the application of computer science to graphics.
It also offers an opportunity for students to formulate and implement applications of computer graphics.
This course further allows students to develop programming skills in computer graphics by programming assignments.
Syllabus in PDF form


Assoc. Prof. Dr. Ahmet Oguz Akyuz Assoc. Prof. Dr. Yusuf Sahillioglu

  • Section 1: Assoc. Prof. Dr. Ahmet Oğuz Akyüz,, Office B210
  • Section 2: Assoc. Prof. Dr. Yusuf Sahillioğlu,, Office B107

Teaching Assistants

Ercan Selçuk Bölükbaşı Yusuf Mücahit Çetinkaya Kadir Cenk Alpay Serhat Şahin Serhat Şahin

  • Ercan Selçuk Bölükbaşı,, Office A302
  • Yusuf Mücahit Çetinkaya,
  • Kadir Cenk Alpay,, Office A410
  • Serhat Şahin,
  • Mustafa Işık,


  • Section 1: Tuesday 08:40-10:30 BMB1, Thursday 08:40-09:30 BMB1
  • Section 2: Tuesday 15:40-17:30 BMB1, Thursday 11:40-12:30 BMB1



Peter Shirley and Steve Marschner, "Fundamentals of Computer Graphics", 3rd Edition, A K Peters, 2009, ISBN 978-1568814698

- Available at the METU Bookstore

Reference Books

  • Donald D. Hearn and M. Pauline Baker, "Computer Graphics with OpenGL", 3rd Edition, Prentice Hall, 2004, ISBN 978-0130153906
  • James D. Foley, Andries van Dam, Steven K. Feiner, and John F. Hughes, "Computer Graphics: Principles and Practice", 2nd Edition, Addison Wesley, 1995, ISBN 978-0201848403
  • Mike Bailey and Steve Cunningham, "Graphics Shaders", A K Peters, 2009, ISBN 978-1568813349
  • Peter Shirley and R. Keith Morley, "Realistic Ray Tracing", 2nd Edition, A K Peters, 2003, ISBN 978-1568814612
  • Kevin Suffern, "Ray Tracing from the Ground Up", A K Peters, 2007, ISBN 978-1568812724


Programming Assignment Policies

  • Programming assignments can be made in teams of 2 students.
  • We have a flexible late submission policy. You have a credit of 7 late days. You can distribute this to your assignments without exceeding 3 days per assignment. No late submission is possible after 3 days or if you have used up your credit.
  • Programming assignment will not be postponed except for a system failure in the department computers.

Collaboration and Cheating

  • No code sharing allowed between different teams.
  • Using code from the internet is only allowed if explicitly specified in the assignment text.
  • Cheaters will be punished according to the university regulations.

Remember that cheating may have serious consequences for your academic career. So please refrain from it. If you are having difficulties talk to your instructors and the assistants. We are here to help!