Computational photography is an emerging research area at the intersection of computer graphics, image processing, and computer vision. As digital cameras become more popular and collections of images continue to grow, we've seen a surge in interest in effective ways to enhance photography and produce more realistic images through the use of computational techniques. Computational photography overcomes the limitations of conventional photography by analyzing, manipulating, combining, searching, and synthesizing images to produce more compelling, rich, and vivid visual representations of the world. This course will introduce the fundamental concepts of image processing, computer vision, and computer graphics, as well as their applications to photography. Topics include image formation, filtering, blending, and completion techniques. In addition, the course will discuss different image analysis and rendering techniques including texture analysis, morphing, and non-photorealistic rendering.