context-oriented learning, like what
informal learners do, is that the resulting knowledge can become context-bound and make it difficult to transfer to or from other similar settings. 2
Thus, there is a great opportunity for
computing educators to explore how
to foster conceptual knowledge growth
in such communities while at the same
time recognizing existing practices favoring example-driven learning.
In our work, we sought to balance
these two issues by creating collections
of annotated scripting examples. Each
example project presents a solution to
a realistic programming task for graphic designers (that is, using the same
tools and language). For example, one
project creates a script that manipulates image layers in a Photoshop document. The project outlines multiple
versions of the script, moving from an
iterative solution to a recursive one as a
natural response to unexpected results
discovered when the script is used on
various images.
A key component of our projects
distinguishing them from other materials a user might find on the Web is
that each project includes a narrative
description of the code’s development,
explaining relevant programming concepts (for example, recursion) as they
are used in context. This narrative interleaves explanations with progressively more complete example code,
and failure drives the narrative forward.
Essentially, each project serves as a
case study that learners can review to
access example code as well as instruction. Our evaluation of this resource
has shown that these explicit connections to conceptual content can in fact
lead to measurable learning gains for
end-user programmers. 3 We were able
to promote learning by briefly articulating details about concepts as they
were used in the code while not negatively impacting the overall usability
of the examples for those that did not
need the explanations.
Roles for educators
Our work over the past several years
has further convinced us of the importance of educators and others involved in formal educational or training institutions to actively consider
the role informal learning is playing
in the computing landscape. We see
We see several
ways to increase
involvement in efforts
to support the vast
population of adults
engaging in informal
computing education.
several ways to increase involvement
in efforts to support the vast population of adults engaging in informal
computing education.
First, educators can provide access
to the curricular resources already being generated for our classes. Informal
learners are often concerned with the
reliability and credibility of examples,
so our respected, well-known institutions have the opportunity to disseminate high-quality information about
computing. MIT’s OpenCourseWare
initiative ( http://ocw.mit.edu/cours-es/) is an excellent example. However,
given the diversity of the professional
domains engaged in end-user programming and their respective differences and contextual needs, it is unlikely that providing online materials
alone will be adequate.
We should also actively lead the
development of non-traditional educational opportunities offering con-text-specific courses or seminars that
include conceptual instruction in computing. Rather than developing these
in isolation, we must reach out and
collaborate with groups of informal
learners. Many end-user programming
activities make use of scripting or programming affordances within commercial software packages, and most
cities have active user groups for such
software tools. Building collaborative
partnerships with these groups to develop, distribute, and disseminate contextualized computing education has
the potential to impact many of these
previously underserved adult learners.
There remain many open opportunities in this space for computing education and human-computer interaction researchers alike. Among them:
˲ ˲ We need a better understanding of
the information ecologies upon which
various end-user programmers rely, so
that we can provide useful information
in ways that merge with their existing
informal learning strategies.
˲ ˲ New programming environments
should be designed that recognize the
role of Web search and example code
(like Blueprint1). Furthermore, they
should be evaluated not only for whether they enable users to complete a
script, but also for the degree to which
they can promote learning of computing concepts.
˲ ˲ We can build on the roles that
Web-based forums, online communities, and other forms of social media
(for example, Twitter, Facebook) play
in knowledge exchange among informal learners.
A final charge for educators pertains
to the future generation of young professionals. We must rethink the design of
our computer science courses to invite
students from other disciplines across
campus to gain a solid foundation in
computing as it pertains to their fields
of study. A fundamental aspect of this
should be increased interdisciplinary
and collaborative educational offerings
with other STEM and non-STEM departments. By broadening our own definitions of computing education both on
and off campus we might ensure that
the next generation has the computational skills and general knowledge
needed to succeed in their professions,
whatever those professions might be.
References
1. Brandt, J. et al. example-centric programming:
Integrating Web search into the development
environment. In Proceedings of the 28th International
Conference on Human Factors in Computing Systems
(CHI ‘ 10). aCM, new york, 2010, 513–522; http://doi.
acm.org/10.1145/1753326.1753402
2. Bransford, J. et al. How People Learn: Brain, Mind,
Experience, and School. national academy Press,
Washington, D. C., 2000.
3. Dorn, B. a case-based approach for supporting
the informal computing education of end-user
programmers. Doctoral dissertation, Georgia Institute
of Technology, 2010.
4. Dorn, B. and Guzdial, M. Discovering computing:
Perspectives of Web designers. In Proceedings of the
Sixth International Workshop on Computing Education
Research (ICER ‘ 10). aCM, new york, ny, 2010,
23–30; http://doi.acm.org/10.1145/1839594.1839600
5. Scaffidi, C. et al. estimating the numbers of end users
and end user programmers. IEEE Symposium on
Visual Languages and Human-Centric Computing,
2005, 207–214.
Brian Dorn ( bdorn@hartford.edu) is an assistant
professor of computer science and multimedia Web design
and development at the university of Hartford in West
Hartford, CT.
Copyright held by author.