527,926 research outputs found
Detecting sequential structure
Programming by demonstration requires detection and analysis of sequential patterns in a userâs input, and the synthesis of an appropriate structural model that can be used for prediction. This paper describes SEQUITUR, a scheme for inducing a structural description of a sequence from a single example. SEQUITUR integrates several different inference techniques: identification of lexical subsequences or vocabulary elements, hierarchical structuring of such subsequences, identification of elements that have equivalent usage patterns, inference of programming constructs such as looping and branching, generalisation by unifying grammar rules, and the detection of procedural substructure., Although SEQUITUR operates with abstract sequences, a number of concrete illustrations are provided
SkelCL - A Portable Skeleton Library for High-Level GPU Programming
While CUDA and OpenCL made general-purpose programming for Graphics Processing Units (GPU) popular, using these programming approaches remains complex and error-prone because they lack high-level abstractions. The especially challenging systems with multiple GPU are not addressed at all by these low-level programming models. We
propose SkelCL â a library providing so-called algorithmic skeletons that capture recurring patterns of parallel computation and communication, together with an abstract vector data type and constructs for specifying data distribution. We demonstrate that SkelCL greatly simplifies programming GPU systems. We report the competitive performance results of SkelCL using both a simple Mandelbrot set computation and an industrial-strength medical imaging application. Because the library is implemented using OpenCL, it is portable across GPU hardware of different vendors
Teaching Electronics and Programming in Norwegian Schools Using the air:bit Sensor Kit
We describe lessons learned from using the air:bit project to introduce more
than 150 students in the Norwegian upper secondary school to computer
programming, engineering and environmental sciences. In the air:bit project,
students build and code a portable air quality sensor kits, and use their
air:bit to collect data to investigate patterns in air quality in their local
environment. When the project ended students had collected more than 400,000
measurements with their air:bit kits, and could describe local patterns in air
quality. Students participate in all parts of the project, from soldering
components and programming the sensors, to analyzing the air quality
measurements. We conducted a survey after the project and describe our lessons
learned from the project. The results show that the project successfully taught
the students fundamental concepts in computer programming, electronics, and the
scientific method. In addition, all the participating teachers reported that
their students had showed good learning outcomes
Links between the personalities, styles and performance in computer programming
There are repetitive patterns in strategies of manipulating source code. For
example, modifying source code before acquiring knowledge of how a code works
is a depth-first style and reading and understanding before modifying source
code is a breadth-first style. To the extent we know there is no study on the
influence of personality on them. The objective of this study is to understand
the influence of personality on programming styles. We did a correlational
study with 65 programmers at the University of Stuttgart. Academic achievement,
programming experience, attitude towards programming and five personality
factors were measured via self-assessed survey. The programming styles were
asked in the survey or mined from the software repositories. Performance in
programming was composed of bug-proneness of programmers which was mined from
software repositories, the grades they got in a software project course and
their estimate of their own programming ability. We did statistical analysis
and found that Openness to Experience has a positive association with
breadth-first style and Conscientiousness has a positive association with
depth-first style. We also found that in addition to having more programming
experience and better academic achievement, the styles of working depth-first
and saving coarse-grained revisions improve performance in programming.Comment: 27 pages, 6 figure
Developing a Web Server Platform with SAPI support for AJAX RPC using JSON
Writing a custom web server with SAPI support is a useful task which helps students and future system architects to understand the link between network programming, object oriented programming, enterprise application designing patterns and development best practices because it offers a vision upon interprocess communication and application extensibility in a distributed environmentWeb, Server, Proxy, SAPI, HTTP, RPC, AJAX, JSON, XML
- âŚ