Teaching
At University of Copenhagen, I have been involved in co-teaching Advanced Algorithms, Topics in Algorithms and Data Structures, and Approximation Algorithms.
At KTH (2015-2020), I have been teaching DD2440 Advanced Algorithms which is a required course for CS master students. The aim is to familiarize students with approximation and randomization techniques, which are key tools for modern algorithms, and show how they can be used to achieve efficient algorithms under different resource constraints (e.g. time, space, and communication). There are about 200 participants in Autumn 2015. The details of this course can be found at KTH social (KTH account required). Below are some selected feedbacks from the course participants (the selection is biased towards positive feedbacks, of course).
The best aspect of the course is introducing concepts like randomization. It was not something I had thought about previously and it is really something I will bring with me.
I discovered that algorithms can be more fun than I remembered
I really liked the lecturers way of having his lectures. I like that we got to discuss a bit and that he really checked if we were lost or not
The best part of the course is the lecturer (Danupon). He presents the topics in a clear way and he has a very contagious positive energy which makes the lectures fun to follow. Also, he is very friendly to students and listens to their comments and feedback. In summary, Danupon is one of the best lecturers I've had at KTH.
The projects were fun and I realized stuff when I did these. I felt like I came to insights about some course theorems while I reasoned about the projects. The TA who examined our oral presentation of the projects asked very good questions and I learnt even more from these sessions.
The organization of this course is the best I have ever seen. This should set an example for all courses.
What would you suggest to improve? This one is tough, the course is ridiculously good.
At NTU Singapore, I have co-taught (with Gopal Pandurangan) the class "MH1402: Algorithms and Computing II" for about 350 first-year undergraduate students from several departments, from January - May, 2013. This class involves a one-hour lecture and several two-hour labs per week (proctored by the lecturers and 9 other TAs).
Earlier in 2011-2012, at the University of Vienna, I have co-taught two master-level classes in Winter 2011/12: Advanced Algorithms (co-taught with Monika Henzinger, cross-listed at TU Vienna) and Parallel Architectures and Programming Models (co-taught with Siegfried Benkner and Eduard Mehofer).
I have also taught and assisted several classes while I was a PhD student at Georgia Tech (e.g. discrete mathematics, algorithms, databases, pattern matching, and theory of computation) and a lecturer at Kasetsart University, Si Racha Campus (e.g. discrete mathematics, theory of computation and C++ and Pascal programming).
Papers Exposition
Among different project options in my DD2440 course is writing an exposition of a paper (or papers). Below are some reports from projects of this kind. I put them here in case someone might find them useful while reading the original papers.
An Approximation Algorithm for the K-means Problem by Moein Sorkhei (2018)
Original paper: Amit Kumar, Yogish Sabharwal, Sandeep Sen: A Simple Linear Time (1+έ)-Approximation Algorithm for k-Means Clustering in Any Dimensions. FOCS 2004: 454-462
Pseudopolynomial Time Algorithms for Subset Sum by Wai Lok Yeung (2018)
Original paper (1): Konstantinos Koiliaris, Chao Xu: A Faster Pseudopolynomial Time Algorithm for Subset Sum. SODA 2017: 1062-1072
Original paper (2): Karl Bringmann: A Near-Linear Pseudopolynomial Time Algorithm for Subset Sum. SODA 2017: 1073-1084
Master Theses
Near-linear time expander decomposition in practice, Isaac Arvestad (KTH, 2022)
Parallel Minimum Cuts: An improved CREW PRAM algorithm, Andrés López Martínez (KTH, 2020). The improved version appears in SPAA'21 (pdf)
Prediction Assisted Fully Dynamic All-Pairs Effective Resistance, Felix Broberg (KTH, 2020)
Evolving Chemical Reaction Networks, Elisabeth Therese Marie Degrand (KTH & Inria Saclay, 2019)
Distributed Dominant Resource Fairness using Gradient Overlay, Alexander Östman (KTH, 2017)
Approximating multi-commodity max-flow in practice, Kristoffer Emanuelsson (KTH, 2015)