vuduc:teaching 178212 + 184112 = 192212 —As seen on “The Simpsons” T HE DISCOVERY of how classroom or research concepts solve real-world problems has consistently most excited my students. I will focus my teaching efforts on making such connections concrete through collaborative course projects, support of undergraduate research, encouragement of entrepreneurship and industrial networking, and by actively pursuing opportunities to teach interdisciplinary courses. I served as a teaching assistant for 5 semesters for computer science, math, and physics undergraduate courses, and I have directly mentored nine undergraduate research assistants. For my teaching in computer science, I received an Outstanding Graduate Student Instructor (GSI) Award at Berkeley.1 My students cited enthusiasm, approachability and accessibility, and the willingness to devote extra time outside of class as the qualities they most appreciated in their evaluations.2 In research, I have co-authored papers with 7 of my undergraduate research assistants. I am committed to supporting undergraduate teaching and research programs. 1 The Outstanding GSI award is presented to fewer than 10% of GSIs campus-wide. 2 For a summary, see http://hkn.eecs.berkeley.edu/student/nsurvey/courses/CS61B/Fa97.html. One student’s suggestion—“Pay him more and buy him a car”—sadly has yet to come to fruition. Collaborative course projects and exercises I witnessed the kind of excitement students can feel about significant course projects while I was a teaching assistant for Prof. Katherine Yelick at Berkeley for an introductory undergraduate core course in data structures, basic algorithms, and Java programming. The final project, which I helped design, required students to implement a simplified mock urban planning tool in Java, in the spirit of the classic video game, SimCity. Students worked in teams of 3 or 4 people. I provided students with a graphical front-end and well-defined internal interfaces for which students would implement various graph data structures and algorithms. Overall, the project served as a small-scale exercise in practical team-oriented software engineering. Students cited this project among the most valuable learning aspects of the course. I also regularly designed and used exercises intended specifically for group problem-solving in calculus and physics discussion sections while I was an undergraduate teaching assistant at Cornell. Students solved these problems in teams of 2 or 3 during discussion, and at the end, each group shared its solution techniques with the whole class. I would construct these problems with several solutions in mind and offer different hints to each group to elicit different solutions. This approach gave everyone a chance to see different problem-solving strategies in action. Richard Vuduc: Teaching Statement • T +1 404.385.3355 • B richie at cc.gatech.edu • www.cc.gatech.edu/ richie Supporting undergraduate research I am a strong advocate of undergraduate research, having had the privilege of working with nine undergraduate research assistants throughout my own graduate research career. These students initially varied widely in their academic backgrounds, learning styles, and goals and motivations for pursuing research. By the end of their undergraduate careers, most were co-authors with me on published papers. Two of these individuals took the initiative of being primary authors on papers, one of which received a best paper award; at least six are now in graduate school at Berkeley, UCLA, Harvard, and Caltech. I find their demonstrations of growth and maturation as researchers to be among the most rewarding results of the mentorship process. I found the most valuable service I could provide as a mentor was to be available for one-on-one weekly meetings. These meetings would typically take place just before weekly group meetings, giving students a chance to prepare data for presentation in front of the group, receive detailed feedback and advice on writing or presentations, or resolve nagging technical problems. I found the ease of communication and rapport that developed over the course of these meetings to be among the most fun and important aspect of mentorship. Encouraging entrepreneurship One of the most unusual experiences I had as a teacher and mentor during graduate school was being approached by two former students to serve as Chief Technical Officer for their startup, Snailgram.com, an on-line paper greeting card and printing store. I took part in various stages of the company, from its inception as an idea for one of their business courses, to the development and implementation of the technology, to interactions with the first investors, to its first year of operation once these students had graduated. The most striking aspect of this experience was seeing the concept and early legwork for the business evolve while these students were still undergraduates. They planned pieces of the business as projects in their business classes, with the technology built directly around ideas they were just learning in their CS courses. These former students have gone on to successful independent consulting careers and placement at places like Google. The whole experience convinced me that a school curriculum can indeed foster excitement about learning by helping to connect student ideas to real-world implementation. I would gladly help mentor for a curriculum that provided students such an opportunity. Courses I can teach Undergraduate I can teach core courses in programming, compilers, algorithms, computer architecture, and numerical analysis/ scientific computing, or offer upper-level seminars in my research areas. I would enthusiastically co-sponsor undergraduate research and and co-teach courses in technology entrepreneurship. Graduate I envision teaching both core and topics courses in parallel and high-performance computing, scientific computing, and compiler construction and optimization. I would be particularly interested in developing new interdisciplinary seminars in domain-specific code generation and rewriting, and the application of machine learning to software engineering, in collaboration with other faculty. Richard Vuduc: Teaching Statement • T +1 404.385.3355 • B richie at cc.gatech.edu • www.cc.gatech.edu/ richie