109,643 research outputs found
Pirate plunder: game-based computational thinking using scratch blocks
Policy makers worldwide argue that children should be taught how technology works, and that the ‘computational thinking’ skills developed through programming are useful in a wider context. This is causing an increased focus on computer science in primary and secondary education.
Block-based programming tools, like Scratch, have become ubiquitous in primary education (5 to 11-years-old) throughout the UK. However, Scratch users often struggle to detect and correct ‘code smells’ (bad programming practices) such as duplicated blocks and large scripts, which can lead to programs that are difficult to understand. These ‘smells’ are caused by a lack of abstraction and decomposition in programs; skills that play a key role in computational thinking. In Scratch, repeats (loops), custom blocks (procedures) and clones (instances) can be used to correct these smells. Yet, custom blocks and clones are rarely taught to children under 11-years-old.
We describe the design of a novel educational block-based programming game, Pirate Plunder, which aims to teach these skills to children aged 9-11. Players use Scratch blocks to navigate around a grid, collect items and interact with obstacles. Blocks are explained in ‘tutorials’; the player then completes a series of ‘challenges’ before attempting the next tutorial. A set of Scratch blocks, including repeats, custom blocks and clones, are introduced in a linear difficulty progression. There are two versions of Pirate Plunder; one that uses a debugging-first approach, where the player is given a program that is incomplete or incorrect, and one where each level begins with an empty program.
The game design has been developed through iterative playtesting. The observations made during this process have influenced key design decisions such as Scratch integration, difficulty progression and reward system. In future, we will evaluate Pirate Plunder against a traditional Scratch curriculum and compare the debugging-first and non-debugging versions in a series of studies
A synthesis of logic and bio-inspired techniques in the design of dependable systems
Much of the development of model-based design and dependability analysis in the design of dependable systems, including software intensive systems, can be attributed to the application of advances in formal logic and its application to fault forecasting and verification of systems. In parallel, work on bio-inspired technologies has shown potential for the evolutionary design of engineering systems via automated exploration of potentially large design spaces. We have not yet seen the emergence of a design paradigm that effectively combines these two techniques, schematically founded on the two pillars of formal logic and biology, from the early stages of, and throughout, the design lifecycle. Such a design paradigm would apply these techniques synergistically and systematically to enable optimal refinement of new designs which can be driven effectively by dependability requirements. The paper sketches such a model-centric paradigm for the design of dependable systems, presented in the scope of the HiP-HOPS tool and technique, that brings these technologies together to realise their combined potential benefits. The paper begins by identifying current challenges in model-based safety assessment and then overviews the use of meta-heuristics at various stages of the design lifecycle covering topics that span from allocation of dependability requirements, through dependability analysis, to multi-objective optimisation of system architectures and maintenance schedules
Parallel memetic algorithms for independent job scheduling in computational grids
In this chapter we present parallel implementations of Memetic Algorithms (MAs) for the problem of scheduling independent jobs in computational grids. The problem of scheduling in computational grids is known for its high demanding computational time. In this work we exploit the intrinsic parallel nature of MAs as well as the fact that computational grids offer large amount of resources, a part of which could be used to compute the efficient allocation of jobs to grid resources.
The parallel models exploited in this work for MAs include both fine-grained and coarse-grained parallelization and their hybridization. The resulting schedulers have been tested through different grid scenarios generated by a grid simulator to match different possible configurations of computational grids in terms of size (number of jobs and resources) and computational characteristics of resources. All in all, the result of this work showed that Parallel MAs are very good alternatives in order to match different performance requirement on fast scheduling of jobs to grid resources.Peer ReviewedPostprint (author's final draft
Exploiting Block Deordering for Improving Planners Efficiency
Capturing and exploiting structural knowledge of
planning problems has shown to be a successful
strategy for making the planning process more ef-
ficient. Plans can be decomposed into its constituent
coherent subplans, called blocks, that encapsulate
some effects and preconditions, reducing
interference and thus allowing more deordering
of plans. According to the nature of blocks, they
can be straightforwardly transformed into useful
macro-operators (shortly, “macros”). Macros are
well known and widely studied kind of structural
knowledge because they can be easily encoded in
the domain model and thus exploited by standard
planning engines.
In this paper, we introduce a method, called
BLOMA, that learns domain-specific macros from
plans, decomposed into “macro-blocks” which are
extensions of blocks, utilising structural knowledge
they capture. In contrast to existing macro learning
techniques, macro-blocks are often able to capture
high-level activities that form a basis for useful
longer macros (i.e. those consisting of more original
operators). Our method is evaluated by using
the IPC benchmarks with state-of-the-art planning
engines, and shows considerable improvement in
many cases
Kernelization and Parameterized Algorithms for 3-Path Vertex Cover
A 3-path vertex cover in a graph is a vertex subset such that every path
of three vertices contains at least one vertex from . The parameterized
3-path vertex cover problem asks whether a graph has a 3-path vertex cover of
size at most . In this paper, we give a kernel of vertices and an
-time and polynomial-space algorithm for this problem, both new
results improve previous known bounds.Comment: in TAMC 2016, LNCS 9796, 201
- …