• We follow the general philosophy behind experiential-based
learning: When what we experience differs from the expected or
intended, disequilibrium results
and our adaptive (learning) process
is triggered. Reflection on successful adaptive operations (reflective
abstracting) leads to new or modified concepts. The challenge is to
create learning environments that
are complex enough to lead to
unexpected experiences, but not
too complex to be inaccessible to
students.
• Unguided or minimally guided experience and reflection is not effective [ 7].
We must provide a structure and a
set of plans that support the development of informed exploration
and reflective inquiry without taking initiative or control away from
students.
• We need to create a personally
meaningful context for students. For
a problem to foster the learning of
powerful computing ideas, the students must accept it as their problem. We need to take noncontextu-alized computing ideas and embed
them in a meaningful context for
student investigation.
Our framework supports these
principles with a collection of soft-
ware tools, conceptual frameworks,
and guidelines, which we classify
into two groups (Figure 2):
• tools that facilitate the creation
of useful experiences for exploring
advanced computing technology, and
• tools that guide and support reflec-
tion on such experiences.
Creating experience. The key ele-
ment of our approach is empow-
ering students to have relevant
experiences with advanced com-
putational technologies, because
without such experiences, the stu-
dents do not have a basis to reflect
and learn. To support this goal, our
framework includes:
• a collection of software tools to
empower students to explore the
limitations and opportunities of
technologies without intensive pro-
gramming, and
• tools and spaces for creating the
contexts for such experiences.