Aug 09 2006
Teaching
Franklin W. Olin College of Engineering
2007-2008
[SCOPE] Senior Consulting Program for Engineering: Mentored the aPriori team during this intense, year-long senior consulting experience. scope.olin.edu
[ENGR 3390] Robotics: Co-taught with Dave Barrett. A project-based introduction to sensing, perception, cognition, and actuation, as well as parallel architectures for robotic control.
[ENGR 3220] Human Factors and Interface Design: An introduction to the user-centric, interface design process. hfid.olin.edu
[ENGR 2510] Software Design: An introduction to incremental development, modular design, and testing in Scheme. Reflections on student feedback in the context of how the course will evolve.
[INDS] Independent Study: Worked with Nikki Lee on interface design and development for supporting communities of OLPC software developers.
[INDS] Independent Study: Worked with Michael Hughes on analysis of novice programming behavior using data collected in collaboration with researchers at the Ateneo de Manila University.
[INDS] Independent Study: Worked with Kevin Brettney on the design and development of a UAV controller board and accompanying control software.
(This was a busy year, yes.)
University of Kent
2006-2007
[CO620] Research Project: Mentored J. Simpson on his project “A Native Transterpreter for the LEGO Mindstorms RCX.”
[CO631] Concurrency: Developed and delivered laboratory assignments on the theme of of concurrency and robotics using RoboDeb; laboratory materials available online.
[CO531] Software Engineering Practice : Delivered four guest lectures on practical aspects of software engineering, focusing on version control systems, source code management, and refactoring. Included practical examples in all cases (available online).
2005-2006
[INDS] Independent Study: Worked with J. Simpson (2nd year). His project culminated in the publication of Mobile Robot Control: The Subsumption Architecture and occam-pi (PDF), for presentation at CPA 2006.
[CO631] Concurrency: Developed materials and presented laboratories regarding concurrency and robotics. RoboDeb and support documentation were a direct outcome of this work.
[CSCS] Cool Stuff in Computer Science: LEGO robotics, systems administration, programming languages and art, Greenfoot, and other topics as per student interest.
2004-2005
[CSCS] Cool Stuff in Computer Science: LEGO robotics, scripting languages, RPC, and building a small PDA-based robotics platform from scratch.
[CO137] A Java Programming Primer: As previous year; developed BlueJ Trails (overview, PPT) to support the teaching of this and CO138. Also employed by other instructors in CO320.
[CO138] Further Java Programming: Continuation of CO137.
2003-2004
[CSCS] Cool Stuff in Computer Science: Extracurricular sessions on LEGO robotics; second semester, a large group project attempting to develop an IRC bot network. Students were challenged; project was too difficult.
[CO137] A Java Programming Primer: Intensive introductory programming course for continuing students. Used Objects First with Java for course material.
[CO138] Further Java Programming: Continuation of CO137.
[CO313] Information Systems: Laboratory sessions.
2002-2003
[CO313] Information Systems: Laboratory sessions.
Indiana University Bloomington
2001-2002
[SumSci] Summer Science: Mentored a high-school student in the IUB summer science research program for six weeks. Little Languages for Little Robots (PDF) was published as a direct outcome of this work.
[A290] Introduction to LEGO Robotics: Continued evolution; wrote Teamstorms as a Theory of Instruction (PDF) during the second year ItLR was offered.
2000-2001
[A290] Introduction to LEGO Robotics: A course of my own creation (fun!). An entirely lab-based course. Students, working in teams, developed solutions to increasingly challenging tasks using the LEGO Mindstorms RCX. Writing and reflection were critical parts of the evaluation process.
[A110] Intro to Computing: Continued Vincent development.
1999-2000
[INDS] Independent Study: Worked with T. Lawson (2nd year) and M. Riddle (3rd year); their project culminated in the near-publication of Webworms: Modeling emergent behaviors using LEGO robotics (PDF). They presented this work at SMC 2000.
[A110] Intro to Computing: Lab session leader. Continued Vincent development.
1998-1999
[A110] Intro to Computing: Lab session leader; developed teaching and support materials. Developed Vincent, a course handin system still widely used in the IUB CS department, to support A110. Ran a prototype of A290 in A110 labs during Spring semester.
[Q515] Learning with LEGO Robots: Co-taught this course for practicing science teachers in secondary education.