543 research outputs found
Spreadsheet-driven web applications
Creating and publishing read-write-compute web applications requires programming skills beyond what most end users possess. But many end users know how to make spreadsheets that act as simple information management applications, some even with computation. We present a system for creating basic web applications using such spreadsheets in place of a server and using HTML to describe the client UI. Authors connect the two by placing spreadsheet references inside HTML attributes. Data computation is provided by spreadsheet formulas. The result is a reactive read-write-compute web page without a single line of Javascript code. Nearly all of the fifteen HTML novices we studied were able to connect HTML to spreadsheets using our method with minimal instruction. We draw conclusions from their experience and discuss future extensions to this programming model
Recommended from our members
Lyceum: internet voice groupware for distance learning
This paper describes the design, implementation and deployment of Lyceum, a groupware system providing students and tutors with real time voice conferencing and visual workspace tools, over the standard internet. Lyceum uses a Java client/server architecture to tackle a formidable set of networking requirements: multi-way voice communication with synchronous shared displays, scalable to hundreds of simultaneous users, running over normal modem connections via unknown internet service providers, on home PCs. Additionally, the design had to support multiple courses with different requirements. We describe the interdisciplinary requirements analysis, and iterative design process, by which an academic course team was able to specify and evaluate prototypes. We present the systemĂs architecture, describe the technical successes and failures from LyceumĂs first large scale deployment, and summarise its affordances for interaction and learning
Recommended from our members
weHelp: A Reference Architecture for Social Recommender Systems
Recommender systems have become increasingly popular. Most of the research on recommender systems has focused on recommendation algorithms. There has been relatively little research, however, in the area of generalized system architectures for recommendation systems. In this paper, we introduce weHelp: a reference architecture for social recommender systems â systems where recommendations are derived automatically from the aggregate of logged activities conducted by the system's users. Our architecture is designed to be application and domain agnostic. We feel that a good reference architecture will make designing a recommendation system easier; in particular, weHelp aims to provide a practical design template to help developers design their own well-modularized systems
Understanding How Reverse Engineers Make Sense of Programs from Assembly Language Representations
This dissertation develops a theory of the conceptual and procedural aspects involved with how reverse engineers make sense of executable programs. Software reverse engineering is a complex set of tasks which require a person to understand the structure and functionality of a program from its assembly language representation, typically without having access to the program\u27s source code. This dissertation describes the reverse engineering process as a type of sensemaking, in which a person combines reasoning and information foraging behaviors to develop a mental model of the program. The structure of knowledge elements used in making sense of executable programs are elicited from a case study, interviews with subject matter experts, and observational studies with software reverse engineers. The results from this research can be used to improve reverse engineering tools, to develop training requirements for reverse engineers, and to develop robust computational models of human comprehension in complex tasks where sensemaking is required
A model for systematically investigating relationships between variables that affect the performance of novice programmers
This research was motivated by an interest in novices learning to program
and a desire to understand the factors that affect their learning. The
traditional approach to performing such an investigation has been to select
factors which may be important and then perform statistical tests on a few
potential relationships. A new research model is proposed and tested to
ensure that a thorough and systematic investigation of the data is performed.
This thesis describes the data, defines the model and explains the
application and validation of the model.
The research process is managed by a control algorithm that is the heart of
the model. This algorithm is seeded by a hypothesis that connects two
variables of interest and dictates the testing of a series of hypotheses; as it
does this, it also delves deeper into the data to identify additional
relationships.
In this research the model was applied to investigate the relationships
between: learning style and achievement; programming behaviour and
achievement; and learning style and programming behaviour. Learning style
was assessed using Kolbâs Learning Style Inventory, achievement was
based on exam score and programming behaviour was extracted from a log
of student activities using a programming tool. The largest number of
significant relationships was found between aspects of behaviour and
achievement.
The model was validated by classifying the significant hypotheses based on
the research modelâs tree structure, the section of the programming tool in
use and the literature. These three classification schemes provided a
structure to explore their similarities and differences. The model was thus
demonstrated to be robust and repeatable by comparing the results with
those from both using a programming tool, and expert opinion.
This research has revealed several attributes of the learning behaviour that
affected the studentsâ results within this group, including aspects of
timeliness and overall volume of activity. These are suitable targets for
future investigations.
The research model could be applied to other data sets where an in-depth
investigation into pairwise data is required.
Builtin types viewed as inductive families
This research was funded by the Engineering and Physical Sciences Research Council (grant number EP/T007265/1).State of the art optimisation passes for dependently typed languages can help erase the redundant information typical of invariant-rich data structures and programs. These automated processes do not dramatically change the structure of the data, even though more efficient representations could be available. Using Quantitative Type Theory, we demonstrate how to define an invariant-rich, typechecking time data structure packing an efficient runtime representation together with runtime irrelevant invariants. The compiler can then aggressively erase all such invariants during compilation. Unlike other approaches, the complexity of the resulting representation is entirely predictable, we do not require both representations to have the same structure, and yet we are able to seamlessly program as if we were using the high-level structure.Publisher PD
An empirical investigation of issues relating to software immigrants
This thesis focuses on the issue of people in software maintenance and, in particular, on software immigrants â developers who are joining maintenance teams to work with large unfamiliar software systems. By means of a structured literature review this thesis identifies a lack of empirical literature in Software Maintenance in general and an even more distinct lack of papers examining the role of People in Software Maintenance. Whilst there is existing work examining what maintenance programmers do the vast majority of it is from a managerial perspective, looking at the goals of maintenance programers rather than their day-to-day activities. To help remedy this gap in the research a series of interviews with maintenance programmers were undertaken across a variety of different companies. Four key results were identified: maintainers specialise; companies do not provide adequate system training; external sources of information about the system are not guaranteed to be available; even when they are available they are not considered trustworthy. These results combine together to form a very challenging picture for software immigrants. Software immigrants are maintainers who are new to working with a system, although they are not normally new to programming. Although there is literature on software immigrants and the activities they undertake, there is no comparative literature. That is, literature that examines and compares different ways for software immigrants to learn about the system they have to maintain. Furthermore, a common feature of software immigrants learning patterns is the existence and use of mentors to impart system knowledge. However, as the interviews show, often mentors are not available which makes examining alternative ways of building a software immigrants level-of-understanding about the system they must maintain all the more important. As a result the final piece of work in this thesis is the design, running and results of a controlled laboratory experiment comparing different, work based, approaches to developing a level-of-understanding about a system. Two approaches were compared, one where subjects actively worked and altered the code while a second group took a passive âhands-offâ approach. The end result showed no difference in the level-of-understanding gained between the subjects who performed the active task and those that performed the passive task. This means that there is no benefit to taking a hands-off approach to building a level-of-understanding about new code in the hostile environment identified from the literature and interviews and software immigrants should start working with the code, fulfilling maintenance requests as soon as possible
Analyzing Digital Literacy Demands, Practices, and Discourses within a Library Computer Programming Club for Children
abstract: Among researchers, educators, and other stakeholders in literacy education, there has been a growing emphasis on developing literacy pedagogies that are more responsive to the ways young people experience literacy in their everyday lives, which often make use of digital media and other technologies for exchanging meaning. This dissertation project sought to explore the nature of these digital-age literacies in the context of children learning through and about new technologies. Conducting a year-long, multimethod observational study of an out-of-school library-based program designed to engage students in self-directed learning around the domain of computer programming, this project was framed around an analysis of digital-age literacies in design, discourse, and practice. To address each of these areas, the project developed a methodology grounded in interpretive, naturalistic, and participant-observation methodologies in collaboration with a local library Code Club in a metropolitan area of the Southwestern U.S between September 2016 and December 2017. Participants in the project included a total of 47 students aged 8-14, 3 librarians, and 3 parents. Data sources for the project included (1) artifactual data, such as the designed interfaces of the online platforms students regularly engaged with, (2) observational data such as protocol-based field notes taken during and after each Code Club meeting, and (3) interview data, collected during qualitative interviews with students, parents, and library facilitators outside the program. These data sources were analyzed through a multi-method interpretive framework, including the multimodal analysis of digital artifacts, qualitative coding, and discourse analysis. The findings of the project illustrate the multidimensional nature of digital-age literacy experiences as they are rendered âon the screenâ at the content level, âbehind the screenâ at the procedural level, and âbeyond the screenâ at the contextual level. The project contributes to the literature on literacy education by taking an multi-method, interdisciplinary approach to expand analytical perspectives on digital media and literacy in a digital age, while also providing an empirical account of this approach in a community-embedded context of implementation.Dissertation/ThesisDoctoral Dissertation Learning, Literacies and Technologies 201
- âŠ