This course is probably unlike any CS course you've taken before. There are no lectures, no reading assignments, and no exams. Rather, you will work in groups to solve open-ended programming projects (including machine learning, simulation, optimization, etc.) for which there are no "correct" answers, and then discuss and analyze your solutions with the rest of the class. The goal is to develop problem solving skills using techniques that you have learned during your CS training, and to learn how to effectively analyze and communicate your solutions.
This class can be used as a seminar-level course by PhD students.