85,831 research outputs found
Design approaches in technology enhanced learning
Design is a critical to the successful development of any interactive learning environment (ILE). Moreover, in technology enhanced learning (TEL), the design process requires input from many diverse areas of expertise. As such, anyone undertaking tool development is required to directly address the design challenge from multiple perspectives. We provide a motivation and rationale for design approaches for learning technologies that draws upon Simon's seminal proposition of Design Science (Simon, 1969). We then review the application of Design Experiments (Brown, 1992) and Design Patterns (Alexander et al., 1977) and argue that a patterns approach has the potential to address many of the critical challenges faced by learning technologists
Dealing with abstraction: Case study generalisation as a method for eliciting design patterns
Developing a pattern language is a non-trivial problem. A critical requirement is a method to support pattern writers with abstraction, so as they can produce generalised patterns. In this paper, we address this issue by developing a structured process of generalisation. It is important that this process is initiated through engaging participants in identifying initial patterns, i.e. directly dealing with the 'cold-start' problem. We have found that short case study descriptions provide a productive 'way into' the process for participants. We reflect on a 1-year interdisciplinary pan-European research project involving the development of almost 30 cases and over 150 patterns. We provide example cases, detailing the process by which their associated patterns emerged. This was based on a foundation for generalisation from cases with common attributes. We discuss the merits of this approach and its implications for pattern development
Static Computation and Reflection
Thesis (PhD) - Indiana University, Computer Sciences, 2008Most programming languages do not allow programs to inspect their
static type information or perform computations on it. C++, however,
lets programmers write template metaprograms, which enable programs to
encode static information, perform compile-time computations,
and make static decisions about run-time behavior. Many C++ libraries
and applications use template metaprogramming to build specialized
abstraction mechanisms, implement domain-specific safety checks, and
improve run-time performance.
Template metaprogramming is an emergent capability of the C++ type
system, and the C++ language specification is informal and imprecise.
As a result, template metaprogramming often involves heroic
programming feats and often leads to code that is difficult to read and
maintain. Furthermore, many template-based code generation and
optimization techniques rely on particular compiler implementations,
rather than language semantics, for performance gains.
Motivated by the capabilities and techniques of C++ template
metaprogramming, this thesis documents some common programming patterns,
including static computation, type analysis, generative programming, and the
encoding of domain-specific static checks. It also documents notable
shortcomings to current practice, including limited support for reflection,
semantic ambiguity, and other issues that arise from the pioneering nature of
template metaprogramming. Finally, this thesis presents the design of a
foundational programming language, motivated by the analysis of template
metaprogramming, that allows programs to statically inspect type information,
perform computations, and generate code. The language is specified as a core
calculus and its capabilities are presented in an idealized setting
NITELIGHT: A Graphical Tool for Semantic Query Construction
Query formulation is a key aspect of information retrieval, contributing to both the efficiency and usability of many semantic applications. A number of query languages, such as SPARQL, have been developed for the Semantic Web; however, there are, as yet, few tools to support end users with respect to the creation and editing of semantic queries. In this paper we introduce a graphical tool for semantic query construction (NITELIGHT) that is based on the SPARQL query language specification. The tool supports end users by providing a set of graphical notations that represent semantic query language constructs. This language provides a visual query language counterpart to SPARQL that we call vSPARQL. NITELIGHT also provides an interactive graphical editing environment that combines ontology navigation capabilities with graphical query visualization techniques. This paper describes the functionality and user interaction features of the NITELIGHT tool based on our work to date. We also present details of the vSPARQL constructs used to support the graphical representation of SPARQL queries
- …