Classes

Automated Synthesis of Computing Systems

Semester: 

Fall

Offered: 

2018

The independent study provides a self-contained introduction to recent advances in automated synthesis of computing systems. We will focus both on classical application of automated synthesis to software engineering and on relatively recent advances in algorithmic synthesis of hardware systems. The course will enable students to be prepared for conducting their own research into automated synthesis of computing systems. 

Deductive program synthesis (Zohar Manna’s approach), automated synthesis of synchronization in parallel programs (Clarke’s model checking approach), Modern… Read more about Automated Synthesis of Computing Systems

Design and Analysis of Algorithms

Semester: 

Fall

Offered: 

2018

 

This course explores algorithms for problem solving in the real world. Emphasis is provided on extending known results by employing computational thinking to solve new problems. Formal techniques for proving correctness and analyzing the performance of algorithms will also be discussed. Hardness results, approximation and randomized algorithms will also be briefly surveyed in the course. The course will emphasize on parallel thinking and implementation of algorithms on existing and emerging parallel computer architectures. 

Read more about Design and Analysis of Algorithms