CS 6475: Computational Photography

Course Creator and Instructor

Irfan Essa 
Creator, Instructor

Teaching Assistant

Daniel Castro
Lead Teaching Assistant


Students should be familiar with college-level mathematics (knowledge of matrices, vectors, differentiation and integration), physics (vectors, optics) and probability (probability density functions). In addition to this, students should have working knowledge of computer programming, the course will focus on using Python for its programming assignments.


Please review the following questions, if you answer “no” to any of them you may want to refresh your knowledge of the area prior to taking CS 6475:  

  • Have you taken a programming course in the past or had experience in computer programming (preferably Python)?
  • Are you familiar with basic linear algebra concepts such as matrices, vectors, differentiation and integration?
  • Do you have basic knowledge of the functioning of a camera and exposure (shutter speed, ISO, and aperture)?
  • Are you comfortable with the representation of an image on a computer (a matrix of pixel values, generally in three dimensions (R, G, B))?

Course Preview


We will be using Piazza as a forum for this course. Please submit all course-related questions to Piazza and we (or other students) will respond as soon as possible. We require that you read all Piazza posts in order to not miss out on important information about the course.

  • Course Assignments - You will be given a number of assignments to complete throughout the duration of the course.
  • Quizzes - There will be a number of quizzes for you to complete to test your knowledge of the material taught in the course.
  • Final Project - You will be assigned a final project to complete (on your own or in groups) by the end of the course. We strongly suggest you share ideas with your peers through Piazza in order to receive guidance on the project.

Required Course Readings

No textbook is required for this course; however, specific textbooks, readings, and resources are identified during the on-line lecture videos.

Minimum Technical Requirements

  • Browser and connection speed: An up-to-date version of Google Chrome, Mozilla Firefox, or Internet Explorer is strongly recommended. 2+ Mbps is recommended; at minimum 1Mbps download speed is ideal.

Operating System:

  • Windows XP or higher with latest updates.
  • Mac OS X 10.6 or higher with latest updates.
  • Linux - Any recent distribution will work so long as you can install Python and OpenCV bindings, we provide instructions for recent Ubuntu distros.
  • The ability to install Python, numpy, scipy and OpenCV from instructions we provide.

Other Info

Office Hours

Additional Information about the course, including office hours, late-assignment policy and assignment information will be posted by the instructor on Piazza on or before the first day of class. You may see more information about previous offerings of the course on the course website, compphotography.wordpress.com.

Academic Honesty 

All Georgia Tech students are expected to uphold the Georgia Tech Academic Honor Code