Teaching Style of Sven Koenig
(click here for teaching scores)
I enjoy interacting with students and believe that they are the most important asset of a university. My main objective is to ignite a passion for Artificial Intelligence (AI) and robotics in my students. All my educational activities build on the following beliefs: First, I believe that it is important that teachers promote excellence while helping every student to achieve their full potential (since a chain is only as strong as its weakest link), which includes motivating, supporting and challenging students. Second, I believe that it is important that teachers provide students with a firm foundation of the basic material in a field but also expose them to recent research results and encourage them to do research early in their careers. Third, I believe that it is important that education encompasses more than teaching in the classroom. Finally, I believe that it is important to interest young people early in technical subjects, remove actual and perceived entry barriers to (computer) science and identify and nurture talent broadly.
I have taught different AI classes over time and have modernized the topics taught in them. In Fall 2014, I transformed CS460 (an "Introduction to AI" class intended for seniors) to CS360 (an "Introduction to AI" class intended for juniors) by developing new slides and an extensive set of assignments with sample solutions (to help younger students understand the material) and have taught CS360 every year since then. I teach interactively, building on techniques that I learned in a CRA workshop on "Effective Teaching in Computer Science and Engineering." For example, I tend to go back and forth between prepared slides, the whiteboard and discussions with students (even with more than 100 students). This teaching style allows me to show my enthusiasm for the material and, at the same time, test to which degree the students understand the material. I also tend to experiment with different ways of teaching the material when I teach a class, including recently with an attendance requirement. Two of my teaching assistants won best teaching assistant awards for CSCI 460, and two of my teaching assistants won best teaching assistant awards for CSCI 360. I received the Dean's Award for Innovation in Teaching and Education and co-authored two chapters in Edelkamp and Schroeder's textbook on Heuristic Search: Theory and Applications.
I consider class projects to be a cornerstone for learning, which led me to start the "Computer Games in the Classroom" project. The idea is to use video games to motivate students to learn both traditional concepts from computer science and recent research results. I decided to use video games as motivation since students typically find video games fun to play and are thus curious about how to create them. The project resulted in three complete open-source project texts (plus data sets and helper programs), each of which teaches a concept from AI on about 10 (or more) pages in the style of a textbook and contains a variety of project questions, including easy questions, hard questions and open-ended research questions. These projects have been used not only in my own classes but at other universities as well and were chosen as "Model AI Assignments" by the Symposium on Educational Advances in AI. A project on our multi-agent path-finding research was also chosen as "Model AI Assignment."
I believe that it is important for teachers to allow students to continue their learning experience outside of the classroom. For example, I encourage students to participate in contests, such as the NeurIPS Flatland railway scheduling challenge in 2020 (where my Ph.D. students plus a Ph.D. student from Monash University made use of some of our MAPF technologies to win overall first place among 700 participants from 51 countries), and was the faculty advisor of the USC Student AAAI chapter for many years. I also started, with a colleague, the USC Programming Contests for undergraduate and first-year graduate students from all disciplines to provide them with additional education opportunities in computational problem solving, an important skill that is difficult to teach in the classroom. I co-organized and raised funds for many USC Programming Contests and coached several USC Teams during evenings and weekends for the International Collegiate Programming Contest, where USC students quickly became top performers among the about 70 participating regional teams, for example, came in 1st in 2012 and went on to the world finals (where, according to the official results, USC placed directly behind CMU and tied with MIT and Stanford among all North American teams) - against a strong competition that included California Institute of Technology, UC San Diego, UC Los Angeles, UC Santa Barbara, UC Irvine, UC Riverside and many others. I received a Mellon Award for "Faculty Mentoring Undergraduate Students" for this effort. Others have taken over since about 2013 and make sure that USC students continue to be top performers in the contests, but I continue to maintain the contest web pages.
I also provide research opportunities for interested undergraduate and graduate students. I start out as a close collaborator and then allow students to become more and more independent, until I only give advice and provide quality assurance. I believe that it is important for them to choose their own research topics and for me to find funding for these topics. I encourage them to learn about related work in other disciplines and not to be afraid of making unusual connections. To further these objectives, I involve them in my interdisciplinary research collaborations as much as possible.
I enjoy advising undergraduate students and writing research publications with them. I have done research with undergraduate students from both USC and, via summer research programs, elsewhere. My "Programming Pinball Machines" project investigated how to teach concepts from computer science and robotics in a fun way to undergraduate students by letting students develop games on (actual) pinball machines. This project involved several undergraduate and Master's students and one Ph.D. student. We developed a pinball machine interface between a PC and a recent pinball machine (that controls all aspects of an existing solid-state pinball machine without having to modify its hardware) and demonstrated that it is easy to innovate pinball games by designing and implementing Pinhorse, a novel pinball game with an unusual multi-player mode. Our first feasibility study resulted in a YouTube video that has been viewed about 10,000 times and in me teaching a small pilot class on "Designing and Implementing Games on Pinball Machines" despite me not being able to receive teaching credit for it. Several of the undergraduate students were co-authors of the three publications that resulted from the project, and one of them became first a Ph.D. student at USC and then an assistant professor at UC Riverside. Our hardware and software have subsequently been used for research at the University of Alberta. I received the Computer Science and Engineering Undergraduate Teaching Award from the IEEE Computer Society "for his commitment to engaging students through project-based learning and mentoring that cultivates a passion for AI."
I also enjoy advising graduate students. My graduate students got rewarded with several awards (including best paper, best dissertation, best research assistant and best teaching assistant awards), and I received an SAIC Advisement Award for my efforts. Three of my Ph.D. students are professors at US or Canadian universities, one of them was selected by IEEE Intelligent Systems as one of the "AI's 10 to Watch" ("10 young stars in the field of AI," chosen every two years from researchers around the world), and my long-term collaborator Maxim Likhachev (with more than 15 joint publications since I started working with him when he was a graduate student) is now an Associate Professor at Carnegie Mellon University.
I am also passionate about helping students and young researchers to get a good start in their careers outside of USC. I thus frequently serve as external member on non-USC dissertation committees (17 times), participate in student mentoring activities such as doctoral consortia and lunches with a fellow (45 times), present tutorials on my research at summer schools and conferences (27 times) and was co-chair of the student abstract and poster program of AAAI (3 times) and the doctoral consortium at ICAPS in 2015, that both allow graduate students to get feedback on their research from experienced researchers in the field. I recently wrote up what I wish I had known early in graduate school, as advice for starting Ph.D. students in AI. During my two years as program director at the National Science Foundation (NSF), I helped to manage the Research Experiences for Undergraduates (REU) Sites program and helped to initiate the NSF European Extended Lab Visit Program for Graduate Students in AI and Robotics. During my three years as chair of the ACM Special Interest Group on AI (SIGAI), I helped to initiate the AAAI/ACM Dissertation Award and the ACM SIGAI Student Essay Contest on the Responsible Use of AI Technologies (and oversaw the second edition as well), where students could win not only cash prizes but also skype conversations with famous AI researchers (including the Director of Research at Google and the Chief Scientific Officer of Microsoft). In general, I have recently become interested in AI Ethics, including how to get students to think about ethical issues when building AI systems. I added an AI ethics lecture to CS360, moderated an EAAI Panel on AI Ethics Education, and co-authored an article in AI Magazine on "Ethical Considerations in AI Courses."
I have worked with a diverse set of undergraduate students and often include REU supplements in my grant applications but also believe that outreach needs to go beyond the university. I therefore represented the Association for the Advancement of AI (AAAI) three times as a judge at the International Science and Engineering Fair (ISEF), which brings together more than one thousand high-school students from around the world. I also volunteered for two terms as ACM Distinguished Speaker and, in this context, gave also talks to non-university ACM chapters and the public. I have found that AI and robotics are ideal topics for outreach to all communities since they tackle cool but important problems and stimulate the imagination of people. They can thus be used to arouse interest in computer science among young people and their parents, no matter which demographic groups they are from, and thus increase the diversity among future students of computer science.
Finally, I co-chaired the Symposium on Educational Advances in AI (EAAI) twice, helping to initiate the Future AI Educator Fellowship Program. I also co-organized the first and second edition of the International Workshop on Education in AI K-12 (EDUAI).
Representative Teaching Publications
Americas School on Agents and Multiagent Systems 2005
Home Page of Sven Koenig