Aug 09 2006

Teaching

Published by matt

Allegheny College

2008-2009

[CMPSC580] Junior Seminar: This introduction to research methods helps students choose a topic of research and generally prepares them for their senior comprehensive exercise at Allegheny.

[CMPSC220] Programming Languages: In contrast to previous years, this course will explore languages through the implementation of interpreters using the programming language Scheme. The course closely followed Programming Languages: Application and Interpretation and the course it was developed for, CS173 at Brown University.

[INDS] A Collaborative RepRap: Led by Maja Sweeney, this project involved mobilizing students to collaborate on the construction and use of a RepRap, an open-source 3D printer.

[CMPSC190] Virtual Worlds and Real Robots: This experimental class introduced students to programming through StarLogo: The Next Generation and NetLogo, both programming environments designed for novices. From these microworlds, we transitioned to using ROBOLAB and the LEGO Mindstorms RCX to investigate how programming for real hardware is exciting, but adds its own kind of complexity.

[CMPSC111] Introduction to Java Programming: An introduction to object-oriented design in Java. Piloted the use of Greenfoot for introducing students to object-oriented programming.

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.

Comments Off

Comments are closed at this time.