CSc 59866
Senior Capstone Course

Course Description

In this project-based course, students are grouped into teams to work on projects of practical importance in topics such as digital image processing, computer graphics, computer vision, and machine learning. The capstone course will last two semesters. In the first semester, we will study key principles in one of these selected fields. The second semester will focus on implementation of exciting real-world problems. Available project topics span the fields of image processing, computer vision, computer graphics, and machine learning. Projects will be selected based on the interests of the students and professor.

Two-Semester Course

In the first semester, after fundamental principles are introduced, each team chooses one topic and performs research and development to specify deliverables, milestones, and implementation considerations. Teams consist of up to three students per group. Each group must read a collection of papers on their chosen topic, present them to the class, demonstrate a deep understanding of the principles and algorithms, and outline a working plan to implement the software complete with milestones and deliverables. In the second semester, each team continues their project with detailed design, implementation, integration, testing, experiment evaluation. The project is finally delivered with full documentation at the end of the second semester.


Depending on the project, programming will be done in Python or C/C++. Machine learning projects will likely be done in Python with Scikit-Learn and Tensorflow. High-level C++ GUI toolkits such as Qt ( will be introduced to the students so that they can integrate their work directly into a professional graphical user interface. The OpenGL graphics API, including the GLSL shading language, will be introduced so that the student can implement high quality graphics rendering using the same tools that are currently in use by producers of video games and computer animations. Background in image processing, computer graphics, or computer vision is helpful but not necessary. The course material will be entirely self-contained.

Course Objectives

Through this large project of considerable technical depth, students are expected to expose themselves to the forefront of research and development in digital imaging with a concentration on image processing, graphics, and vision. Furthermore, students have a chance to apply their software engineering knowledge in a large project full of technical challenges.

The goals of the course are to:




Thursday 6:15-8:15PM, NAC 7/306 (Spring 2020)


Professor George Wolberg
Office Hours: Thursday, 3:30pm-4:30pm, Room NAC 8/202N
George Wolberg, January 30, 2020