Professor Michael Shah
Professor Michael Shah, a Senior Lecturer at Yale University at the School of Engineering & Applied Science, shares his thoughts on his summer course, “Applied Computational Geometry Programming”
Q. What unique skills do you think students will develop from this course and their hands-on projects?
Applied Computational Geometry Programming is a practical math class where students 'apply' (program and visualize) the algorithms and data structures in specific domains that they learn about. Being able to write code that 'visually' shows what the algorithm is doing very useful for debugging non-trivial algorithms. This course will also reinforce algorithmic thinking students learn in algorithms (divide and conquer, partitioning, algorithmic complexity, etc.), but also expand out to other ways of thinking ('sweeping', 'pruning', 'intervals', etc.) when writing code, and working with actual structured data. My goal is that students leave with more 'tools' on the 'toolbelt' that will be timeless for any computer scientist.
Q. What might be an example of a final project that a student might explore developing in this course?
Final projects are relatively wide-open, so long as they have to do with geometry. We've had past student projects implementing algorithms to simulate water, visualizing algorithms for learning, physics engines for games, and other projects leading to research in 3D mesh topology in medical domains.
Q. How do the knowledge and skills that students will learn in this course connect to the types of projects that they may encounter as professionals?
The algorithms and mathematics taught in this course touch a wide variety of domains: computer graphics, robotics, computer-aided design, machine learning, circuit design, and even computational biology. This course otherwise teaches or reinforces fundamental skills computer scientists need to have: 1.) How to analyze an algorithm 2.) How to design an algorithm 3.) and how to apply the algorithm in code for a specific domain. These are timeless skills to enhance both critical thinking and practical knowledge.
Q. What aspects of teaching this summer are you most excited about?
Reflecting on my own time as a student, summer courses were my favorite term to take courses, because I was able to focus deeply on fewer subjects to really absorb and apply the knowledge I was learning. And as a professor, the same thing applies — I get to think about one course that I'm really excited about! Being able to dedicate all of my work time on this single course and meet new students is exactly how I want to spend my summer!
Q. What advice would you give students to succeed in a summer course?
Don't overload yourself too much, take the summer to really focus on 1 or 2 topics deeply and give yourself time otherwise for leisure, light exercise, and making some memories with new & old friends. Summer can be a great time to build good habits/systems (whether personal or professional) that you carry into the upcoming academic year.