Ideas for Discussion Topics:
Informal programming Then
and Now
There were always end-user programmers and blended-user programmers:
scientists learned machine language or FORTRAN to get their research done,
and some moved into software jobs. How are today's end-user and blended-user
programmers different? Similarly schoolchildren using LOGO and BASIC,
and untrained business users with spreadsheets and databases, are old news.
What have new tools and business conditions changed? What are useful
boundaries of "programming" in an environment of check-box customization,
wizards, and purchased components?
Software Engineering
meets los informales [1]
Are untrained programmers bad programmers, or different programmers, operating
in regimes where a lack of theoretical software training is a minor handicap?
How does software produced by end-user and blended-user programmers compare
with professionally-written software in its fitness to purpose, design
quality, bugs, and responsiveness to evolving customer requirements,
and changes in computer platforms and the software marketplace? Where
do informal programmers hit limits? How do they compensate for their
lack of training? What can be done to improve the quality of software
produced by users and untrained "blended-user" programmers?
The Social Contexts
of User Programming
Investigations of end-user programming [2]
[3]
[4]
have revealed effective, mostly informal networks of cooperation and assistance
between users with different levels of programming sophistication.
The existance of these networks has a powerful impact on the overall effectiveness
of software environments that allow end-user and/or blended-user programming.
How do tool features (e.g. the ability to share macros between systems),
organizational structures, and the type of people using the tools impact
the development of these networks? What can be done to encourage
them? What technical and social interactions develop when "real"
programmers with computer science degrees work with blended-user programmers?
Tools versus Talents
End-user/blended-user programming environments use strategies to reduce
the cognitive and skill demands of traditional programming. Yet these
all have costs in generality, flexibility, expressiveness, and software
engineering features. What do we know about the capabilities of casual
and serious end-users, "blended-user" professionals, and trained career
programmers? What do we know -- theoretically and from successful
products -- about appropriate strategies at each level?
What does
Informal Programming say about Software Education?
How should we educate people to operate at different points on the continuum
of programming environments, now and in the future? Should schoolchildren
and nontechnical college students learn a text or graphical programming
language, end-user programming tools of 1999, and/or general principles
we hope will also help them with the programming environments of 2009 and
2019? What topics and degree options should universities offer to
meet the most pressing needs of "blended user" programming professionals?
Do today's license preparation courses primarily expand blended-user programmers'
repertoire of
tinkering, or make them more analytical?
[1] I make
an analogy between untrained, unapproved programmers and the unauthorized
"informal" workers and businesses described in The Other Path
: The Invisible Revolution in the Third World by Hernando De Soto.
[2] Nardi, B. and
Miller J. (1990). An ethnographic study of distributed problem solving
in spreadsheet development. Proceedings
CSCW'90. 7--10 October, Los Angeles, CA. Pp. 197--208.
[3] Nardi,
B. and Miller, J. (1991). Twinkling lights and nested loops: Distributed
problem solving and spreadsheet development.
International Journal of Man-Machine Studies 34, 161--184.
[4]
Gantt, M. and Nardi, B. (1992). Gardeners and gurus: Patterns of collaboration
among CAD users. Proceedings CHI'92. 3--7
May, Monterey, CA. Pp. 107--117.
Home
Call
Agenda
Position
Papers Organizers
Discussions End-User
Programming
Last update 5/7/1999 Maintained by Howie
Goodell
All trademarks property of their respective owners.