This course has two components. On the one hand, it is an introduction to digital image analysis presenting selected fundamental problems in medical image analysis, computer vision, photo/video editing, and graphics. We cover such basic concepts as image segmentation, registration, object recognition/matching, tracking, texture, etc. On the other hand, this is an applied course on standard computer science algorithms where students develop practical understanding of dynamic programming, graph based algorithms, computational geometry methods, etc. In fact, image analysis provides a stimulating environment for studying algorithms as their outputs can be intuitively visualized. Students with previous background in algorithms will be exposed to applications in image analysis, while students already familiar with problems in imaging will learn efficient methods based on standard CS algorithms. The course emphasizes the design, analysis, and implementation of algorithms in the context of 2D/3D medical images, photo and video data.