547 research outputs found
Animating the evolution of software
The use and development of open source software has increased significantly in the last decade. The high frequency of changes and releases across a distributed environment requires good project management tools in order to control the process adequately. However, even with these tools in place, the nature of the development and the fact that developers will often work on many other projects simultaneously, means that the developers are unlikely to have a clear picture of the current state of the project at any time. Furthermore, the poor documentation associated with many projects has a detrimental effect when encouraging new developers to contribute to the software. A typical version control repository contains a mine of information that is not always obvious and not easy to comprehend in its raw form. However, presenting this historical data in a suitable format by using software visualisation techniques allows the evolution of the software over a number of releases to be shown. This allows the changes that have been made to the software to be identified clearly, thus ensuring that the effect of those changes will also be emphasised. This then enables both managers and developers to gain a more detailed view of the current state of the project. The visualisation of evolving software introduces a number of new issues. This thesis investigates some of these issues in detail, and recommends a number of solutions in order to alleviate the problems that may otherwise arise. The solutions are then demonstrated in the definition of two new visualisations. These use historical data contained within version control repositories to show the evolution of the software at a number of levels of granularity. Additionally, animation is used as an integral part of both visualisations - not only to show the evolution by representing the progression of time, but also to highlight the changes that have occurred. Previously, the use of animation within software visualisation has been primarily restricted to small-scale, hand generated visualisations. However, this thesis shows the viability of using animation within software visualisation with automated visualisations on a large scale. In addition, evaluation of the visualisations has shown that they are suitable for showing the changes that have occurred in the software over a period of time, and subsequently how the software has evolved. These visualisations are therefore suitable for use by developers and managers involved with open source software. In addition, they also provide a basis for future research in evolutionary visualisations, software evolution and open source development
Automatic Identification of Assumptions from the Hibernate Developer Mailing List
During the software development life cycle, assumptions are an important type of software development knowledge that can be extracted from textual artifacts. Analyzing assumptions can help to, for example, comprehend software design and further facilitate software maintenance. Manual identification of assumptions by stakeholders is rather time-consuming, especially when analyzing a large dataset of textual artifacts. To address this problem, one promising way is to use automatic techniques for assumption identification. In this study, we conducted an experiment to evaluate the performance of existing machine learning classification algorithms for automatic assumption identification, through a dataset extracted from the Hibernate developer mailing list. The dataset is composed of 400 'Assumption' sentences and 400 'Non-Assumption' sentences. Seven classifiers using different machine learning algorithms were selected and evaluated. The experiment results show that the SVM algorithm achieved the best performance (with a precision of 0.829, a recall of 0.812, and an F1-score of 0.819). Additionally, according to the ROC curves and related AUC values, the SVM-based classifier comparatively performed better than other classifiers for the binary classification of assumptions.</p
Introductory programming: a systematic literature review
As computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been several reviews that focus on specific aspects of introductory programming, there has been no broad overview of the literature exploring recent trends across the breadth of introductory programming.
This paper is the report of an ITiCSE working group that conducted a systematic review in order to gain an overview of the introductory programming literature. Partitioning the literature into papers addressing the student, teaching, the curriculum, and assessment, we explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research
Biometric storyboards: a games user research approach for improving qualitative evaluations of player experience
Developing video games is an iterative and demanding process. It is difficult to achieve the goal of most video games — to be enjoyable, engaging and to create revenue for game developers — because of many hard-to-evaluate factors, such as the different ways players can interact with the game. Understanding how players behave during gameplay is of vital importance to developers and can be uncovered in user tests as part of game development. This can help developers to identify and resolve any potential problem areas before release, leading to a better player experience and possibly higher game review scores and sales. However, traditional user testing methods were developed for function and efficiency oriented applications. Hence, many traditional user testing methods cannot be applied in the same way for video game evaluation.
This thesis presents an investigation into the contributions of physiological measurements in user testing within games user research (GUR). GUR specifically studies the interaction between a game and users (players) with the aim to provide feedback for developers to help them to optimise the game design of their title. An evaluation technique called Biometric Storyboards is developed, which visualises the relationships between game events, player
feedback and changes in a player’s physiological state. Biometric Storyboards contributes to the field of human-computer interaction and GUR in three important areas: (1) visualising mixedmeasures of player experience, (2) deconstructing game design by analysing game events and pace, (3) incremental improvement of classic user research techniques (such as interviews and physiological measurements).
These contributions are described in practical case studies, interviews with game developers and laboratory experiments. The results show this evaluation approach can enable games user researchers to increase the plausibility and persuasiveness of their reports and facilitate developers to better deliver their design goals. Biometric Storyboards is not aimed at replacing existing methods, but to extend them with mixed methods visualisations, to provide powerful tools for games user researchers and developers to better understand and communicate player needs, interactions and experiences. The contributions of this thesis are directly applicable for user researchers and game developers, as well as for researchers in user experience evaluation in entertainment systems
Information Visualization (iV): Notes about the 9th IV ’05 International Conference, London, England
This review tells about the International Conference on Information Visualization that is held annually in London, England. Themes selected from the Conference Proceedings are focused on theoretical concepts, semantic approach to visualization, digital art, and involve 2D, 3D, interactive and virtual reality tools and applications. The focal point of the iV 05 Conference was the progress in information and knowledge visualization, visual data mining, multimodal interfaces, multimedia, web graphics, graph theory application, augmented and virtual reality, semantic web visualization, HCI, digital art, among many other areas such as information visualization in geology, medicine, industry and education
A biography of open source software: community participation and individuation of open source code in the context of microfinance NGOs in North Africa and the Middle East
For many, microfinance is about building inclusive financial systems to help the poor
gain direct access to financial services. Hundreds of grassroots have specialised in
the provision of microfinance services worldwide. Most of them are adhoc
organisations, which suffer severe organisational and informational deficiencies.
Over the past decades, policy makers and consortia of microfinance experts have
attempted to improve their capacity building through ICTs. In particular, there is
strong emphasis on open source software (OSS) initiatives, as it is commonly
believed that MFIs are uniquely positioned to benefit from the advantages of
openness and free access. Furthermore, OSS approaches have recently become
extremely popular. The OSS gurus are convinced there is a business case for a purely
open source approach, especially across international development spheres.
Nonetheless, getting people to agree on what is meant by OSS remains hard to
achieve. On the one hand scholarly software research shows a lack of consensus and
documents stories in which the OSS meaning is negotiated locally. On the other, the
growing literature on ICT-for-international development does not provide answers as
research, especially in the microfinance context, presents little empirical scrutiny.
This thesis therefore critically explores the OSS in the microfinance context in order
to understand itslong-term development and what might be some of the implications
for MFIs.
Theoretically I draw on the 3rd wave of research within the field of Science and
Technology Studies –studies of Expertise and Experience (SEE). I couple the
software ‘biography’ approach (Pollock and Williams 2009) with concepts from
Simondon’s thesis on the individuation of technical beings (1958) as an integrated
framework. I also design a single case study, which is supported by an extensive and
longitudinal collection of data and a three-stage approach, including the analysis of
sociograms, and email content. This case provides a rich empirical setting that
challenges the current understanding of the ontology of software and goes beyond
the instrumental views of design, building a comprehensive framework for
community participation and software sustainability in the context of the
microfinance global industry
Computer based writing support for dyslexic adults using language constraints
Computers have been used effectively to provide support for people with a variety of
special needs. One such group is adults with dyslexia. Dyslexia is commonly recognised
as a learning disorder characterised by reading, writing and spelling difficulties. It inhibits
recognition and processing of graphic symbols, particularly those pertaining to language.
Computers are a useful aid for dyslexic adults, especially word processors and their
associated spelling tools. However, there are still areas where improvements are needed.
Creating an environment, which minimises visual discomfort associated with proof
reading and making selections from lists would be of benefit. Furthermore providing the
correct type and level of support for spelling, grammar and sentence construction may
result in higher standards being achieved.
A survey of 250 dyslexic adults established their requirements and enabled the
development of a specialist word processing system and associated spelling support tools.
The hypothesis, that using a language with enforced structure and rigid constraints has a
positive affect for dyslexic adults, was also tested. A support tool, which provided a
controlled environment, to assist with sentence construction for dyslexic adults was
developed from this. Three environments were created using the word processing system:
environment 1 used the basic system with no support, environment 2 provided spelling
support suggested by the survey subjects and environment 3 used the sentence
constructing tool providing support and control. Using these environments in controlled
experiments indicated that although environment 2 achieved high academic standards,
environment 3 produced written work to an even higher standard and at the same time,
the subjects derived greater satisfaction in using it.
This research proves that working in a controlled, rigid environment, where structure is
enforced, substantially benefits dyslexic adults performing computer-based writing tasks
An evaluation of programming assistance tools to support the learning of IT programming: a case study in South African secondary schools
Worldwide, there is a decline in interest in the computer science profession and in the subject at secondary school level. Novice programmers struggle to understand introductory programming concepts and this difficulty of learning to program is contributing to the lack of interest in the field of computer science. Information Technology (IT) learners in South African secondary schools are novice programmers, introduced to introductory programming concepts in the subject which also includes topics on hardware and system software, e-communication, social and ethical issues, spreadsheets and databases. The difficulties faced by IT learners are worsened by the lack of suitably qualified teachers, a saturated learning programme that allocates very little time to the understanding of complex programming concepts and limited class time where practical examples can be implemented with the support of the IT teacher. This research proposes that IT learners could be supported by a programming assistance tool (PAT). A PAT is a software program that can be used by novice programmers to learn how to program and/or improve their understanding of programming concepts. PATs use different techniques to assist novice programmers. The main objective of this research was to determine whether the use of a PAT impacted IT learners’ understanding of programming concepts and motivation towards programming. The literature study and feedback from IT learners and teachers were used to identify novice programming difficulties and IT learner programming difficulties, respectively. Selection criteria were derived from the programming difficulties identified. The selection criteria were grouped into three categories, namely, programming concepts, programming knowledge and programming skills. Existing PATs were evaluated using the selection criteria and three PATs, namely, RoboMind, Scratch and B#, were selected as suitable for use by IT learners. RoboMind was adapted in this research study, allowing it to support the Delphi programming language. The three PATs were evaluated by participating IT learners at four schools. The findings of this research provided no conclusive evidence that IT learners who used a PAT had a significantly better understanding of programming concepts and motivation towards programming than learners who did not use a PAT. IT learner feedback was used to identify the strengths and shortcomings of the three PATs and to provide recommendations for the development of PATs specifically to support IT learners. This research study has provided several theoretical and practical contributions, including the research design, selection criteria, adaptations to RoboMind and the evaluation of the three PATs. In addition, IT teachers and learners have been made aware of PATs and the support that can be provided by these PATs. IT teachers have also been provided with a means of selecting PATs applicable to the IT curriculum. All the research contributions have formed the basis for future work, such as improving and extending RoboMind’s functionality and support of programming concepts, the refinement of the selection criteria and, ultimately, the development of a new PAT, specifically designed to support IT learner understanding of programming concepts and motivation towards programming
An evaluation of programming assistance tools to support the learning of IT programming: a case study in South African secondary schools
Worldwide, there is a decline in interest in the computer science profession and in the subject at secondary school level. Novice programmers struggle to understand introductory programming concepts and this difficulty of learning to program is contributing to the lack of interest in the field of computer science. Information Technology (IT) learners in South African secondary schools are novice programmers, introduced to introductory programming concepts in the subject which also includes topics on hardware and system software, e-communication, social and ethical issues, spreadsheets and databases. The difficulties faced by IT learners are worsened by the lack of suitably qualified teachers, a saturated learning programme that allocates very little time to the understanding of complex programming concepts and limited class time where practical examples can be implemented with the support of the IT teacher. This research proposes that IT learners could be supported by a programming assistance tool (PAT). A PAT is a software program that can be used by novice programmers to learn how to program and/or improve their understanding of programming concepts. PATs use different techniques to assist novice programmers. The main objective of this research was to determine whether the use of a PAT impacted IT learners’ understanding of programming concepts and motivation towards programming. The literature study and feedback from IT learners and teachers were used to identify novice programming difficulties and IT learner programming difficulties, respectively. Selection criteria were derived from the programming difficulties identified. The selection criteria were grouped into three categories, namely, programming concepts, programming knowledge and programming skills. Existing PATs were evaluated using the selection criteria and three PATs, namely, RoboMind, Scratch and B#, were selected as suitable for use by IT learners. RoboMind was adapted in this research study, allowing it to support the Delphi programming language. The three PATs were evaluated by participating IT learners at four schools. The findings of this research provided no conclusive evidence that IT learners who used a PAT had a significantly better understanding of programming concepts and motivation towards programming than learners who did not use a PAT. IT learner feedback was used to identify the strengths and shortcomings of the three PATs and to provide recommendations for the development of PATs specifically to support IT learners. This research study has provided several theoretical and practical contributions, including the research design, selection criteria, adaptations to RoboMind and the evaluation of the three PATs. In addition, IT teachers and learners have been made aware of PATs and the support that can be provided by these PATs. IT teachers have also been provided with a means of selecting PATs applicable to the IT curriculum. All the research contributions have formed the basis for future work, such as improving and extending RoboMind’s functionality and support of programming concepts, the refinement of the selection criteria and, ultimately, the development of a new PAT, specifically designed to support IT learner understanding of programming concepts and motivation towards programming
- …