42,976 research outputs found
Adaptive development and maintenance of user-centric software systems
A software system cannot be developed without considering the various facets of its environment. Stakeholders â including the users that play a central role â have their needs, expectations, and perceptions of a system. Organisational and technical aspects of the environment are constantly changing. The ability to adapt a software system and its requirements to its environment throughout its
full lifecycle is of paramount importance in a constantly changing environment. The continuous involvement of users is as important as the constant evaluation of the system and the observation of evolving environments. We present a methodology for adaptive software systems development and
maintenance. We draw upon a diverse range of accepted methods including participatory design, software architecture, and evolutionary design. Our focus is on user-centred software systems
Teaching programming with computational and informational thinking
Computers are the dominant technology of the early 21st century: pretty well all aspects of economic, social and personal life are now unthinkable without them. In turn, computer hardware is controlled by software, that is, codes written in programming languages. Programming, the construction of software, is thus a fundamental activity, in which millions of people are engaged worldwide, and the teaching of programming is long established in international secondary and higher education. Yet, going on 70 years after the first computers were built, there is no well-established pedagogy for teaching programming.
There has certainly been no shortage of approaches. However, these have often been driven by fashion, an enthusiastic amateurism or a wish to follow best industrial practice, which, while appropriate for mature professionals, is poorly suited to novice programmers. Much of the difficulty lies in the very close relationship between problem solving and programming. Once a problem is well characterised it is relatively straightforward to realise a solution in software. However, teaching problem solving is, if anything, less well understood than teaching programming.
Problem solving seems to be a creative, holistic, dialectical, multi-dimensional, iterative process. While there are well established techniques for analysing problems, arbitrary problems cannot be solved by rote, by mechanically applying techniques in some prescribed linear order. Furthermore, historically, approaches to teaching programming have failed to account for this complexity in problem solving, focusing strongly on programming itself and, if at all, only partially and superficially exploring problem solving.
Recently, an integrated approach to problem solving and programming called Computational Thinking (CT) (Wing, 2006) has gained considerable currency. CT has the enormous advantage over prior approaches of strongly emphasising problem solving and of making explicit core techniques. Nonetheless, there is still a tendency to view CT as prescriptive rather than creative, engendering scholastic arguments about the nature and status of CT techniques. Programming at heart is concerned with processing information but many accounts of CT emphasise processing over information rather than seeing then as intimately related.
In this paper, while acknowledging and building on the strengths of CT, I argue that understanding the form and structure of information should be primary in any pedagogy of programming
Managing evolution and change in web-based teaching and learning environments
The state of the art in information technology and educational technologies is evolving constantly.
Courses taught are subject to constant change from organisational and subject-specific reasons. Evolution
and change affect educators and developers of computer-based teaching and learning environments alike â
both often being unprepared to respond effectively. A large number of educational systems are designed
and developed without change and evolution in mind. We will present our approach to the design and
maintenance of these systems in rapidly evolving environments and illustrate the consequences of evolution
and change for these systems and for the educators and developers responsible for their implementation and
deployment. We discuss various factors of change, illustrated by a Web-based virtual course, with the
objective of raising an awareness of this issue of evolution and change in computer-supported teaching and
learning environments. This discussion leads towards the establishment of a development and management
framework for teaching and learning systems
Developing digital literacy in construction management education: a design thinking led approach
Alongside the digital innovations in AEC (Architectural, Engineering and Construction) practice, are calls for a new type of digital literacy, including a new information-based literacy informed by creativity, critical analysis and the theoretical and practical knowledge of the construction profession. This paper explores the role of design thinking and the promotion of abductive problem situations when developing digital literacies in construction education. The impacts of advanced digital modelling technologies on construction management practices and education are investigated before an examination of design thinking, the role of abductive reasoning and the rise of normative models of design thinking workflows. The paper then explores the role that design thinking can play in the development of new digital literacies in contemporary construction studies. A three-part framework for the implementation of a design thinking approach to construction is presented. The paper closes with a discussion of the importance of models of design thinking for learning and knowledge production, emphasising how construction management education can benefit from them
Systematic development of courseware systems
Various difficulties have been reported in relation to the development of courseware systems. A central problem is to address the needs of not only the learner, but also instructor, developer, and other stakeholders, and to integrate these different needs. Another problem area is courseware architectures, to which much work has been dedicated recently. We present a systematic approach to courseware development â a methodology for courseware engineering â that addresses these problems. This methodology is rooted in the educational domain and is based on methods for software development in this context. We illustrate how this methodology can improve the quality of courseware systems and the development process
Evaluating system utility and conceptual fit using CASSM
There is a wealth of user-centred evaluation methods (UEMs) to support the analyst in assessing interactive systems. Many of these support detailed aspects of use â for example: Is the feedback helpful? Are labels appropriate? Is the task structure optimal? Few UEMs encourage the analyst to step back and consider how well a system supports usersâ conceptual understandings and system utility. In this paper, we present CASSM, a method which focuses on the quality of âfitâ between users and an interactive system. We describe the methodology of conducting a CASSM analysis and illustrate the approach with three contrasting worked examples (a robotic arm, a digital library system and a drawing tool) that demonstrate different depths of analysis. We show how CASSM can help identify re-design possibilities to improve system utility. CASSM complements established evaluation methods by focusing on conceptual structures rather than procedures. Prototype tool support for completing a CASSM analysis is provided by Cassata, an open source development
- âŚ