My duties as coordinator of the CS lower-division courses include the following.
I received my B.S. at University of Illinois (Urbana-Champaign), attended Stanford University as a graduate student, and was appointed Lecturer at U.C. Berkeley in 1977. I received security of employment in 1983, and was appointed Senior Lecturer in 1989. (Lecturers in the U.C. system are faculty whose job responsibilities include teaching and University service, but not research. More information on U.C. Berkeley lecturers and security of employment—the lecturer equivalent of tenure—is available here and here.)
I have won two CS Division awards: the Diane S. McEntyre Award for Excellence in Teaching in 1992 and the Information Technology Faculty Award for Excellence in Undergraduate Teaching in 2001. In 2004, I received a campus award for Outstanding Mentorship of Graduate Student Instructors.
In 1982, Marcia Linn contacted me. She explained that she headed a group that was studying novice programmers, noted that I was teaching large numbers of novice programmers, and invited me to join her group. We've collaborated ever since. Our work has spanned a spectrum from exploration of student misconceptions through development of curriculum components and programming environment features to support integration of programming knowledge. We have focused in particular on the use of case studies in programming instruction, on issues arising from teaching LISP in introductory courses, and on lab-based instruction. Among the results of our efforts are two successful NSF grant proposals, numerous research papers, and two textbooks of case studies. The WISE learning environment, developed under Marcia's direction, forms the foundation of the UC-WISE system described below.
My current research efforts, part of the UC-WISE project (University of California Web-based Instruction for Science and Engineering), focus on lab-based instruction, a technique that swaps lecture and discussion time for supervised hands-on computer lab work. Lab-based instruction potentially has numerous benefits. It substitutes active learning activities for the (at best) passive learning provided in most lectures and discussion sections. The increased number of online exercises permits smoother transition between exercises and a more gradual slope in complexity from activity to activity. Lab instructors observing their students' work can immediately clear up confusion or head off misconceptions if necessary.
The UC-WISE project as a whole aims
The project combines curricular design and improvement, system building, and educational research. Work so far has resulted in several lab-based courses (CS 3L, 4, and 61BL at Berkeley; CSE 20, 21, and 30 at U.C. Merced). Undergraduate students designed and built the UC-WISE system, and since then have played significant roles in the project. Student and staff feedback has produced continuous improvement in both the curricula and the UC-WISE system, and student experience in UC-WISE courses has highlighted numerous tantalizing research questions. We encoruage interested students to participate in the project; opportunities for contributions are listed here.
External professional activities
I am an active member both of the U.S. computer science education community and of the community of researchers into the psychology of programming. My activities in these areas have included the following.
I am a member of several professional societies: Association for Computing Machinery (ACM), Society for Industrial and Applied Mathematics (SIAM), Institute for Electrical and Electronics Engineers (IEEE), Mathematical Association of America (MAA), Cognitive Science Society, and American Association for Artificial Intelligence (AAAI).