![]() |
![]() |
![]() |
|||||
![]() |
||
keynotes and discussions |
KeynotesExpert strategies for dealing with complex and intractable problems
Marian Petre
Software design is a realm of messy problems that are often too big,
too ill-defined, too complex for easy comprehension and solution.
Such problems are rarely amenable to solution by "brute force"
methods -- even at the coding level such problems entail a
significant cognitive load. This talk reports on strategies observed
in expert behaviour in dealing with complex and intractable problems.
The strategies arise from a series of in situ observations and
interviews with 10 expert software engineers in the US and UK over 2
years. It appears that experts manage intractable problems by
transforming them: abstracting, simplifying, deferring parts of the
problem, translating them into a different representation, and so on.
A range of such strategies is identified and described, and
implications of expert reasoning about intractable problems are
discussed.
A multidimensional framework for analysing collaborative design: emergence and balance of roles
Françoise Détienne In this talk we will present and discuss a framework based on forms of participation in collaborative design through the concept of role, that considers the participants activities on a collective level. We consider roles as phenomena that emerge from the interaction between design stakeholders rather than institutionally given. In our various studies we have examined roles along several dimensions: epistemic and cognitive, discursive and interactional, social and institutional. We have analysed role emergence in the dynamic of design. We will illustrate our framework by studies in architectural design and software design conducted in various spatio-temporal settings (co-located meetings and distant asynchronous technology-mediated situations) and in various socio-organisational settings (traditional software organisation and open-source software communities).
We will discuss our framework of "role emerging design" with respect
to the more traditional framework of "participatory design", and with
respect to the quality and efficiency of collaboration. We will also
discuss about socio-technical environments enabling role emergence
and role balance, constituting this way enabling environments for
participants.
DiscussionsDiscussion: Children's mental/operational models of programming—Do children's programming tools miss something?
Children who are active on the internet are performing significant
(and occasionally sophisticated) design and programming activity
without realising it, in the course of hacking little applications
for discussion fora and websites, composing simulations from
components gathered from diverse sites, using authoring tools and
other applications, and so on. What are the implications for the
future of software engineering? What sorts of mental models of
programming do these children develop? What can children who learn
effortlessly to program implicitly as part of their social activity
teach us about how to teach and how to support end-user activity?
|
|
||||
| last updated: 8.6.2007 |