The UC-WISE project
The UC-WISE project (University of California Web-based Instruction for Science and Engineering)
- 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 our courses;
- to allow instructors to customize courses,
prototype new course elements, and collect review comments
from experienced course developers.
The UC-WISE system includes a database of annotated learning objects,
served by linking to the WISE learning environment
developed in the School of Education,
plus portals into the database for students, instructors, and master curriculum developers.
Activities provided by WISE and used in a UC-WISE curriculum include online discussions,
programming exercises, reading of Web-delivered text, reflection notes, journal entries,
quizzes, scripted assessments, and "gated collaborations"
where students critique their peers' responses
to a seed topic.
Instructors may view some student work (e.g., quiz responses and collaboration activities)
in real time.
Initial support for the project came from CITRIS;
we have also received support from Hewlett-Packard.
In 2005 we were awarded an NSF grant (DUE-0443121) to design
and evaluate UC-WISE curricula for Java-based introductory and data structures courses.
In 2007, we were awarded an NSF CPATH grant (CISE-0722339) to form a community around lab-centric instruction.
In 2011, we received an NSF Cyberlearning grant (IIS-1124087)
to devise plugins for Eclipse and open-source learning management systems
that facilitate student online work in a lab-centric environment.
Our grant proposals—CCLI, CPATH,
Other documents describe
the history of the project
and pedagogical benefits
deriving from UC-WISE curricula and tools.
We welcome participation in the project by graduate and undergraduate students.
Read on for areas where you might be able to contribute.
*** The remainder of this document is somewhat obsolete.
Please contact Mike Clancy (clancy "at" cs.berkeley.edu)
for more up-to-date information.
Project goals — curriculum development and evaluation
We have UC-WISE versions of CS 3
and CS 61B;
the latter is being run again in spring 2008, having been thoroughly reviewed
by veterans of the fall 2005 and spring 2007 offerings.
We piloted a UC-WISE version of
in fall 2007.
Our revisions will take advantage of new resources accessible to UC-WISE.
One of these, WebJava,
has functionality similar to the WebScheme tool
in use in CS 3 since fall 2003.
It enables the development of exercises that require students to specify
actual Java code, and allows an instructor to receive compile-time and run-time
output of the code for the purposes of providing helpful feedback.
WebScheme exercises have been a valuable part of the CS 3 curriculum,
and we expect equal success with WebJava.
(WebJava was designed and implemented as a project in CS 169,
Berkeley's software engineering class.)
Another is a program visualization facility named JHAVÉ.
Using JHAVÉ, one can produce a sequence of snapshots that represent
successive stages of program execution,
together with questions that engage the user in active learning.
This will lead students, we hope,
to more comprehensive understanding of the visualized code.
Finally, the Weiner Lecture Archive project,
headed by Dan Garcia, has produced a library of webcast lectures of CS 3 and 61ABC.
The lecture library is designed to facilitate access to lecture snippets organized by topic.
We plan to include short targeted lecture segments in the various UC-WISE curricula
as optional resources.
We can make a convincing case
for the educational benefits of UC-WISE instruction, but we have not yet
conducted a comprehensive study comparing UC-WISE courses to their traditionally
Anticipating such a study, we have developed end-of-term surveys for CS 61ABC
and are gathering and analyzing survey data to uncover productive areas
We are also surveying UC-WISE students each semester to evaluate
the effectiveness of the various activities and tools in helping students learn.
Project goals — infrastructure
We have now had over three years experience with the Student Portal.
This interface was originally designed in 2002 and had accreted various clutter
in intervening years.
A group of undergrads in the fall 2005 offering of CS 160,
Berkeley's CS user interface course, redesigned the Student Portal interface,
changing its top-level content organizer from calendar to a task list.
It also provides user customizability, and simplifies navigation among curriculum elements.
We hope to be able to implement this design soon.
We have had an equal amount of experience with the Curriculum Builder.
This component received less attention over the years, as our concern was more
focused on students than on instructors.
Already, however, UC-WISE is used outside of Berkeley;
as the user community increases, a more polished authoring interface
will be essential.
Improvement of the Curriculum Builder interface is proceeding in two directions.
Implementation of the Student Portal interface redesign requires that each activity
be annotated with metadata. We are beginning this process.
Another class project, in the user interface course in Berkeley's Information School
this past semester, designed the interface for a
Lois Wei, the original implementor of UC-WISE and now a grad student in the I-School,
led the project group and will likely be involved in its implementation.
Andy Carle, a grad student of Berkeley CS Professor John Canny, has produced a
prototype of PACT,
"A Pattern-Annotated Course Tool". PACT allows the annotation
of course activities with
of which they are instances, as well as visualization of pattern use. PACT
promises to be an exciting component of the UC-WISE system, for several reasons.
We feel that the WISE learning activities from which a UC-WISE curriculum is
built are excellent "atoms" for pedagogical patterns. Annotation of UC-WISE
curricula with pedagogical patterns will provide invaluable information for
instructors seeking to reuse curriculum components. Moreover, the process of
annotating existing courses will reveal pattern violations, thereby pointing out
possible areas for curriculum improvement.
Integration of PACT with the Curriculum Builder is high on our priority list.
The only completely unimplemented UC-WISE component is the Course Builder,
which prospective instructors will use to build their
own courses out of our raw material.
The Course Builder we envision provides several kinds of support
for instructors and course administrators:
a "critical review" facility
that will provide the prospective instructor with advice on topic sequencing,
project and activity selection, and evaluation mechanisms;
access to previously developed course material, assignments, exam questions—this will
include several complete model courses—along with accompanying context and rationale;
access to model student work;
support for course activities involving search for Web resources, collaborative
work, and computer program development and analysis;
access to a community of instructors;
integration of tools and facilities developed by other CITRIS projects;
procedures for collecting course components and their rationale that are
required for course certification and articulation;
data collection of student performance and evaluation of course components
for accreditation purposes.
Even more than the redesigned Student Portal, the Course Builder will require
objects in the data base to be abundantly annotated with metadata.
We have put some thought into the design of this metadata,
but much more effort is required.
We plan to apply for help with this task next year to
NSF's National Science Digital Library initiative.
Finally, the WISE system on which UC-WISE is layered is being significantly
revised and reimplemented as part of the
effort (Technology-Enhanced Learning in Science).
We have hired a programmer and taken initial steps to prepare for the
necessary modifications to UC-WISE. However, plenty of work lies ahead
to implement the migration to the new learning environment architecture.
Opportunities for participation
The UC-WISE project aims to develop useful technologies for university course curricula.
Our main focus to date has been to rework CS 3 and CS 61B
with highly interactive web-based instruction.
These efforts have been quite successful;
we are looking to continue and extend our accomplishments inside and outside Berkeley.
We encourage motivated undergraduates to join in developing this frontier
of educational technology. Some research opportunities are listed below. For each of these:
- Your participation will earn credit in CS 99 or CS 199 as appropriate;
we expect a commitment of at least 2 units (around 8 hours per week).
- You'll be working with UCB researchers , faculty, and, in most cases,
teams of other students.
- It's possible to join the project either at the beginning of a semester
or during the summer.
To apply, send e-mail to "clancy at cs".
Your message should include your year in school,
some information about your interests,
the tasks you are interested in working on,
how much time you have available for work,
your programming/design experience, and your performance in relevant courses.
All these projects provide the opportunity to have significant impact
on the education of the hundreds of students who take UC-WISE courses each year.
Programming and system development opportunities
We are in the beginning stages of creating a new UC-WISE system (UC-WISE II)
that incorporates a new Java-based infrastructure.
As such, the majority of these opportunities will involve Java programming.
- Design and implement the core features of UC-WISE II.
The new UC-WISE system will be based on the new
for Interactive Learning (SAIL),
being developed in the School of Education.
Using this architecture, we will need to develop new features
to handle the demands of UC-WISE courses.
Participation in this project requires substantial experience with Java and Swing
and familiarity with the existing UC-WISE system.
- Design and implement the authoring environment for UC-WISE II.
We will be integrating and extending the
Pattern-Annotated Course Tool (PACT)
to provide content creation and curriculum sequencing features.
Projects include the following:
tying PACT to the content authoring and persistance in the core of UC-WISE II;
creating a "wizard" for new course creation;
and recreating functionality present in the original UC-WISE system.
Participation in these projects requires experience designing user interfaces
and working with Java, Swing, and MySQL, along with familiarity with the existing UC-WISE system.
- Design and implement new learning object types.
UC-WISE uses several different types of learning objects,
ranging from static text to interactive pages that can execute arbitrary Scheme code.
A few of these learning object types will need to be fully rewritten in the new system.
At the same time, there are many improvements that we will make along the way.
Participation in this project requires
background in education, psychology, or cognitive science,
along with experience working with Java,
Swing, and MySQL and familiarity with the existing UC-WISE system.
- Re-engineer our student portal.
The student portal in the existing UC-WISE system is showing its age,
and the time is ripe to update it for the new system.
Several student groups have already proposed interface additions
and changes to the portal for course projects.
The project will involve reviewing evaluating previous work,
and implementing and validating features of the new interface.
Participation in this project requires
experience designing user interfaces and working with Java, Swing, and MySQL,
along with familiarity with the existing UC-WISE system.
CS 160, 169, and 186 may provide useful background, depending on the project.
The UC-WISE system has been used in several CS courses:
- CS 3 continuously since spring 2003;
- CS 61B in fall 2004, fall 2005, and spring 2007;
- CS 4 in fall 2004 and spring 2005;
- and two introductory courses at U.C. Merced in 2005/6
Future offerings of CS 61A and CS 61C are being planned now.
We have invented a wealth of interactive and assessable curriculum components,
and have submitted several funding proposals to push UC-WISE into other disciplines
Several research questions have emerged from our experience thus far with UC-WISE curricula,
and we are collaborating with colleagues in the School of Education to find answers.
- Students in UC-WISE courses engage in a much wider variety of activities
than their counterparts, for instance, focused discussions and gated collaborations.
What roles do these activities play in student learning,
and what value added do they provide?
- UC-WISE provides a number of ways for students to get immediate feedback,
both from the lab instructor and from the learning environment
via a "scripted assessment" tool.
How do the two compare in their effects on student learning?
- The rich variety of activities in a UC-WISE course has revealed
student misconceptions that we had not known about before.
What other misconceptions are students encountering, and how can they be dealt with?
- What questions are best suited for use with online collaborations?
How do these collaborations compare to face-to-face
collaborative activities among students?
- There is some evidence that UC-WISE courses differentially benefit
some groups of students. Is this true? Why?
- What other tools or activities might be usefully added to the UC-WISE framework?
We welcome involvement of undergraduates and graduates who are interested in
the instruction of computer science or, more generally,
in on-line curriculum development and evaluation.
The curriculum/research group, composed of faculty, post-docs,
research scientists, and students, meets once a week
(for fall 2006, this will be Mondays 10am-noon, in 606 Soda).
Contacts: Mike Clancy, Nate Titterton.
"New Roles for Students, Instructors, and Computers
in a Lab-based Introductory Programming Course",
by Michael Clancy, Nate Titterton, Jim Slotta, Clint Ryan, and Marcia Linn,
was presented at the 2003 SIGCSE Technical Symposium on Computer Science Education.
It reports on the experience of the pilot version of the UC-WISE CS 3,
taught in summer 2002.
"Online curricula for monitored, closed-lab first-year CS courses"
was a partially funded proposal to the National Science Foundation
Course, Curriculum, and Laboratory Improvement (CCLI)
The funding supports the UC-WISE project through May 2008.
"Analogies Are Like Bowling Balls,
or Why Analogies to English Need Some Explanation to Help Students Learn Scheme"
,is Clint Ryan's M.S. thesis. Here's the abstract:
Many common misunderstandings among students learning to program in Scheme involve
lists, which are containers for data. In particular, students confuse the procedures
that assemble or disassemble lists. Every course deals with this problem in its own way.
For example, three of the most commonly used introductory Scheme books favor avoiding
or delaying some or all of the details of lists. Berkeley's CS 3 ("Introduction to Symbolic
Programming") class replaces lists with words and sentences during the first part of the
semester. This study sheds some light on what kinds of mistakes students in CS 3 make
with words and sentences, why they make them, and what can be done to avoid them in the
future. In particular, it focuses on how students understand the concept of "empty"
for words and sentences, as well as the difference between words and one-word sentences.
"PACT: A Pattern-Annotated Course Tool",
by Andy Carle, John Canny, and Mike Clancy, was presented at
the 2006 World Conference on Educational Multimedia, Hypermedia and Telecommunications.
It describes the PACT tool for annotating course components with information
about pedagogical patterns.
"Working with Pedagogical Patterns in PACT: Initial Applications and Observations",
by Andy Carle, Mike Clancy, and John Canny, was presented at
the 2007 SIGCSE Technical Symposium on Computer Science Education.
It describes several scenarios for use of PACT in developing and analyzing courses.
"Adding some lab time is good, adding more must be
better: the benefits and barriers to lab-centric courses",
by Nate Titterton and Mike Clancy,
was presented at the 2007 International Conference on Frontiers in Education:
Computer Science and Computer Engineering (FECS'07: June 25-28, 2007).
It summarizes experience up through 2006 with lab-centric instruction.
"A community for lab-centric computer science instruction"
is a funded proposal to the National Science Foundation
CISE Pathways to Revitalized Undergraduate Computing Education (CPATH)
The funding supported the UC-WISE project through August 2011.
"Experience with lab-centric instruction",
by Nate Titterton, Colleen Lewis, and Mike Clancy,
was published in Computer Science Education,
volume 20, number 2, June 2010.
It summarizes experience up through 2009.
"Using collaboration to overcome disparities in Java experience",
by Colleen Lewis, Nate Titterton, and Mike Clancy,
was presented at the 2012 International Computing Education Research workshop.
It describes the effects of a heavy emphasis on collaborative activities
on performance in Berkeley's "Data Structures and Programming Methodology"
"Enabling pedagogical communication between learning and programming environments"
is a funded proposal to the National Science Foundation
The funding will support project work through August 2014.