Hot Topic Proposal
ChiliPlop 2006
Curriculum Design Using Pedagogical and
Apprenticeship
Patterns
Moderators: Pam Rostal,
Dave West
Possible
Attendees: Will provide email
address for attendees at Agile and OOPSLA
conferences last year as well as other potentially interested parties.
Why: Most of the
activity in the Patterns
community has been focused on discovery, documentation, and
dissemination of
patterns – including pedagogical and apprenticeship patterns. Some work has been done in the area of
creating
“pattern languages” – integrating and relating discrete patterns; e.g. Jim Coplien, in
Organizational Patterns of Agile Software Development, expands the
definition
of pattern, “a recurring structural configuration that solves a problem
in a
context, contributing to the wholeness of some whole or system, that
reflects
some aesthetic or cultural value.;” a
definition we
will utilize in our discussions. With
the exception of a relatively small number of experience reports there
is far
less information about using patterns
than there is about finding them.
With little or no
input from
the pedagogical patterns community, organizations like ACM/IEEE and
curriculum
committees in university departments everywhere have been developing
model
curricula. Individual faculty may or may
not use patterns as a foundation for the delivery of such curricula but
the
moderators for this proposed hot topic are unaware of any systematic
attempts
to create a patterns-driven (or at minimum patterns-informed) model
curriculum
for IT.
We believe that
such an
effort would be beneficial to the patterns community (and therefore a
worthy
hot topic) for several reasons - not the least of which is a shared
belief that
“patterned thinking can be powerful thinking.”
Some others:
Such an effort has
been
impeded in the past by the fact that patterns are generally related to
each
other via anonymous arcs that have different meanings, depending on
which
patterns they connect. There has been no
systematic way to represent how patterns complement or build on each
other.
The problem we pose
for
discussion is the reinvention of an entire curriculum – which is
essentially
equivalent to inventing a new paradigm for software education. We are therefore seeking patterns and
relationships among patterns that will support this new paradigm.
Pam Rostal
and her colleagues have developed and deployed (e.g. a project
management
office redesign, a
Business Architecture Practice at the nation’s leading grocery
retailer, and a
System Development Lifecycle redesign at a Fortune 500 insurance
company ) a
framework called Autochthony that we will
use to
frame our discussion of a new educational paradigm – the framework and
details
about its use will be included in the Hot Topic website.
The use of this
framework
will allow us to track the discussion and relate it to other issues and
aspects
of using patterns to reinvent software education even if we are unable
to cover
every aspect and issue presented by the problem.
In addition to the
numerous
pedagogical patterns and related discussions we will draw upon the
Apprenticeship
Pedagogical Patterns Workshop held at Agile 2005 in
How: Shortly after
acceptance of this proposal a
Web-site would be established with a description of the workshop,
useful and
necessary background (e.g. links to existing pedagogical patterns
sites,
documentation from the summer Apprenticeship Pedagogical Patterns
Workshop),
invitation to join the effort with a link to registration, and a Wiki
where
prospective participants would be expected to introduce themselves to
each
other as the foundation for creating a community around this effort. The goal of this pre-workshop communication
would be to frame the current state of affairs in software development
education and to identify where participants believe improvement is
necessary. The Autochthony
framework would also be presented in detail along with guidelines for
its use.
The
discussion will also be grounded in a
couple of philosophical presuppositions: 1) the curriculum is grounded
in the
goal of “nurturing better people” rather than compensating for human
failings
with better tools, algorithms, or methods; and 2) the work of software
development is not centered in the creation of artifacts but involves
holistic
involvement in living complex adaptive systems with profound impact on
human
beings that are part of those systems.
It will also be
necessary to
limn the knowledge, experience, and skill set expected of individuals
completing the curriculum (perhaps the competencies defined for our
cancelled
program at
During the
discussion around
the practical implementation of the curriculum, we would identify
academic
constraints and indicate how each might be ameliorated – e.g. an
academic
calendar cannot be altered, but it would be possible to offer multiple
1 credit
courses instead of a single 3-4 credit course during a semester,
identify new
or modified roles that would be necessary to support the new
curriculum, and
describe the types of tools and methods required.
At all times, the
patterns
identified this summer would be available as input to the discussion
and
grounding in what has actually been proven successful in other settings
–
Fearless Change in organizations, Active Learning and Experiential
Learning in
educational settings, and Reflection in both venues.
Conversely, the discussion itself may prompt
the identification of new patterns that have been applied previously.
The workshop
description and
agenda would be modified in response to Wiki postings but would begin
with the
following form.
Wednesday AM – Session one
Introductions
Outline,
discuss, modify the approach suggested above (also done via the Wiki
pre-conference)
Define specific
objectives for the time available at the workshop
Wednesday AM – Session two (assume a
model curriculum plan is desired)
Draft a charter for the new
curriculum/program that addresses its historical context
Wednesday PM – Session one
Define the curriculum/program
Wednesday PM – Session two
Define the mechanisms that stakeholders
can use to collaborate
Thursday AM – Session one
Define how the stakeholders involved in
the curriculum/program collaborate
Thursday PM – Session one
Define the processes required to deliver
the curriculum and the roles, tools and methods required to support
them.
Thursday PM – Session two
Consolidate and modify draft results
Friday AM – Session one
Publish model curriculum – footnotes to
informing/driving patterns
Friday AM – Session two
Retrospective – future efforts
Discussion Topics – any or all of the
following might prove fruitful:
History
What needs to be fixed in software
development education as it exists?
What needs to be retained from the
current curriculum options?
What are the limitations and
possibilities inherent in the current state?
Under what circumstances have the
greatest advances come?
What do we believe about how people
learn and develop?
Meaning
What values should underlie the new
curriculum (e.g.,
competitiveness, integrity, collaboration, self-motivation, etc.??)
What should the world/industry/civilization
have after
the new curriculum is instated that it doesn’t have now?
What forces should the new curriculum try to
balance –
e.g., preparation for a job, preparation for a life of learning,
involvement in
other activities, intensity of focus on software development, service
to the
school, community, etc.?
How will the curriculum be evaluated for
alignment
with the existing context, vision, mission, values on an ongoing basis?
Intent
What should the goals for the new curriculum
be?
To what scope should they extend – graduate,
undergraduate, professional education?
To what extent should the new curriculum
accommodate
existing academic constraints on scheduling, place of delivery,
integration
with other subject areas, etc.?
How will the goals be measured and adjusted
based on
experience?
Definition
What competencies or capabilities should be
required
of the students in the curriculum upon graduation?
What competencies or capabilities are
required by the
instructors and university administrators to support such a curriculum?
Center and periphery – given a module how is
it
organized in terms of primary, supporting, and expanding materials?
How will the curriculum be measured and
improved?
Collaboration
What types of collaboration are required of
instructors, visiting professionals or luminaries, and university staff
to
support the delivery of the new curriculum – e.g., labs, lectures,
projects,
field trips, etc. for students, other types for other roles?
What types of collaboration will be required
of those
taking the new curriculum - pair learning, team
organization/structuring/duration
What types of preparation will be required of
collaborators at each collaboration point?
How do
the curriculum and university schedules integrate?
How will collaborations be evaluated and
improved?
Management
What are the key decision points for the
program, the
supporting university, and the students themselves?
Are all students evaluated in lockstep,
cohort, or
individual learning sequences?
What type of information or assessment is
necessary to
support those decision points?
What types of conflict resolution avenues are
available when decisions are deadlocked?
What are the issue escalation options?
When a decision is made to change
significantly, how
do all stakeholders recommit to the new decision?
Process
Is learning delivered “Just-in-time”?
Does it require a “One room schoolhouse”, web
delivery, face-to-face contact?
What vehicles are appropriate - (tutorial,
seminar,
studio, apprenticeship, courses organized around isolated treatment of
algorithms, data, analysis and design, etc.)?
Who controls when group/individual/team
activities
will occur and for what reasons?
What happens during a typical day and where -
in
Classroom, Studio, office, building settings?
At what intervals are students evaluated --
semester
versus short intensive (e.g. three one credit classes or one three
credit
class)?
How are processes evaluated and improved?
Roles
What roles do the various collaborators play?
How do roles shift over time?
How do students develop in various roles?
How do bottlenecks get resolved across the
different
roles?
How are responsibilities distributed across
roles?
How are roles evaluated?
Tools
& Methods
What supporting tools and methods are
required at
university, program and student levels to deliver the content defined
during
DEFINITION?
How are they distributed among those who need
them?
How do people receive training in them?
How is their relevance measured?