UCB Seal

Information about me

Courses I coordinate

Course staffing opportunities

The UC-WISE project

Programming case studies

My publications

Interesting links

Directions to campus and Soda Hall

Mike Clancy

Senior Lecturer
EECS Computer Science Division
UC Berkeley

Mike Clancy

Campus activities

My duties as coordinator of the CS lower-division courses include the following.

  • Teaching: I have taught all our mainstream lower-division courses (CS 3, CS 61ABC, and CS 70), along with our upper-division algorithms course, our course in teaching techniques for first-time t.a.s, and a course in designing one's own CS course (my evaluation ratings are here). I have taught several courses with Marcia Linn (School of Education) surveying research in computer science education. With Dan Garcia, I manage our self-paced courses. As part of the CS Division's institutional memory, I help orient instructors new to teaching in the lower division; I try to ensure that productive educational innovations in lower-division CS courses are continued in subsequent course offerings.
  • Advising: Besides serving as a faculty advisor both in the College of Letters and Sciences and the College of Engineering, I evaluate community college requests for course equivalence with our lower-division courses and approve placement of transfer students in the CS 61ABC sequence.
  • Administration: I serve on the EECS Undergraduate Study Committee and assist the Vice Chair for Scheduling in scheduling instructors for lower-division courses. I also assign t.a.s to courses each semester, and serve as CS Faculty Advisor for GSIs (Graduate Student Instructors). Finally, I represent the CS Division in many College and campus matters that relate to lower-division computer science instruction.

The other lecturers in EECS—Brian Harvey, Dan Garcia, and Babak Ayazifar—are also involved in activities listed above, and have their own pet projects as well.

Professional milestones

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

  • to provide technology and curricula for laboratory-based higher education courses that incorporate online facilities for collaboration, inquiry learning, and assessment, and to investigate the most effective ways of integrating this technology into courses;
  • to allow instructors to customize courses, prototype new course elements, and collect review comments from experienced course developers.

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.

  • Lecturer, Institute for Retraining in Computer Science (IFRICS) summers, 1984-1986, Clarkson University, Potsdam, NY), under the auspices of the Joint ACM/MAA Committee on Retraining for Computer Science.
  • Program committee, International Computing Education Research Workshops, Seattle WA, October 2005 and Kent, United Kingdom, September 2006.
  • Program committee, Thirtieth ACM SIGCSE Symposium on Computer Science Education, New Orleans, LA, March 1999.
  • Program committee, Seventh Workshop on Empirical Studies of Programmers, Alexandria, VA, October 1997.
  • Member, College Board Test Development Committee, Advanced Placement Computer Science Examination, 1986-1992 (committee chairman April 1987 to July 1992).
  • Member, Ad Hoc Advanced Placement Computer Science Committee (to advise the AP CS Test Development Committee on the introduction of C++), 1995-1996.
  • AP CS Examination Reader and Consultant, Educational Testing Service, 1989-2001.
  • Discussant, SIGCSE Doctoral Consortium, 2000 and 2005.
  • Member, SAT Review Board, 1993-1995, 1997.
  • Member, Advisory Board, Computer and Information Systems Department, Laney College, Oakland, CA, 1990-2002.
  • Consulting editor, John Wiley and Sons Publishing Company, 1989-1990.
  • Reviewer, various publishers, journals, proposals, and conferences, 1977-present.

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).

Last modified: $Date: 2005/08/30 08:52:21 $ by Mike Clancy