The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
The so-called Notification-Oriented Paradigm (NOP) is a new technique to develop software. NOP is a rule-oriented approach where each rule and fact-base element is split in small entities. These entities particularly collaborate by means of precise notifications only when their state changes. This allows carrying out an inference process free of structural and temporal redundancies. Due to its peculiar...
This paper presents the Unruly Splats platform designed to promote active STEM play. We summarize design considerations that shaped its current prototype. Unruly Splats are a set of foot-sized floor buttons that light up, sense pressure, and make sounds, according to programs that learners age 6 and up create using a blocks-based programming environment on their tablets or computers. We discuss how...
We present Socialite, a novel end user programming tool for the Social Internet of Things (SIoT). SIoT is a new paradigm where IoT merges with social networks, allowing people and connected devices as well as the devices themselves to interact within a social network framework. Through an online survey with 60 potential users, we identified eight desired features for the SIoT, which were then clustered...
The development and implementation of virtual reality applications for rehabilitation often depends on the close collaboration between clinicians, researchers and industry. We developed a low-cost 2D virtual reality-based intervention to improve upper limb movement following a stroke. The aim of the project was to identify whether and to what extent the virtual reality application actually meets the...
Developer communication is an important factor during program comprehension. Live programming environments encourage developers to comprehend applications through manipulation of running instances—liveness. Such application exploration is interrupted whenever programmers need to communicate an issue with dislocated co-workers. Describing the issue becomes challenging as programmers use text based...
Achieving successful technology adoption in practice has often been an important goal for both academic and industrial researchers. However, it is generally challenging to transfer research results into industrial products or into tools that are widely adopted. What are the key factors that lead to practical impact for a research project? This talk presents experiences and lessons learned in successfully...
At present, most of real-world HPC applications are being developed without considering any auto-tuning techniques; those applications are not "gauto-tunable" for several reasons. One reason is that making a code auto-tunable often results in messing up the code and degrading the readability and/or maintainability. In our previous work, we have employed a code transformation framework, Xevolver,...
Real-time collaborative programming allows programmers to concurrently edit shared source code over communication networks. To support semantic conflict prevention, prior work has proposed a bask dependency-based automatic locking (DAL) approach to automatically grant locks on source code regions with dependency relationships, under the assumptions that there exists no locking-scope overlapping among...
Real-time collaborative programming allows a team of programmers to concurrently edit the shared source code document at the same time. To support semantic conflict prevention in real-time collaborative programming, a dependency-based automatic locking (DAL) approach was proposed in prior work, which automatically grants locks on source code regions with dependency relationships. The prior DAL scheme...
Educational robotics or Robotics in Education (RiE) is the term widely used to describe the educational use of robotics as a learning tool. Educational robotics is an effective learning tool for promoting and encouraging students' STEM learning. It is rich with opportunities to integrate not only STEM but also many other disciplines, including literacy, social studies, dance, music and art, while...
Technological advances in DNA sequencing due to Next Generation Sequencing (NGS) technology revolutionized research in many areas including medicine. Bioinformatics as a science has developed to address computational challenges related to the analyses of large amounts of data generated by NGS technology. Consequently, educators faced challenges in developing effective methods to teach Bioinformatics...
In self-managing software teams, developers with complementary skills collaborate with each other to improve productivity and increase innovation. Due to nature of innovation, managers in these teams will acquire only summarized information from developers to avoid micromanagement. They will not plan fine-grained activities but leave responsibility and autonomy to self-managing developers. Developers...
Collaboration is a huge part of modern software development. Yet most tools used in software development are aimed for single user instances. To support collaborative software practices, researchers and practitioners have presented several tools. The existing tools support collaboration either through distributed version control systems or through client/server-based concurrent text editors. Distributed...
The ease of setting up collaboration infrastructures for software engineering projects creates a challenge for researchers that aim to analyze the resulting data. As teams can choose from various available software-as-a-service solutions and can configure them with a few clicks, researchers have to create and maintain multiple implementations for collecting and aggregating the collaboration data in...
A positive peer learning collaboration is one where each participant engages with their partner's point of view. The negotiations that result from such engagements are the key to a productive collaborative learning experience. This paper presents a framework for in-class programming exercises done by dyads of students whose activity was mediated by an online learning platform. To maximize the amount...
Gamification has the ability to stimulate creativity and active minds. In the process of learning programming, a passive learning style often leads to some level of student disengagement during class time. Retaining the engagement of motivated students does not present much of a problem. However, in the case of problematic students, sometimes an unpleasant experience they encountered during a previous...
Informal sketching has many advantages over strict formal languages and diagrams, especially in cross-functional teams with varying technical background. Sketches are used to elicit different application aspects and highlight stakeholder needs. Tool support for sketching activities has increased in recent years, especially in the area of UI prototyping. When quickly developing a first impression of...
Practical courses in software engineering domain is a crucial task where students start to make their first steps in programming domain. For several purposes, Practical courses are managed by the teachers using appropriate collaborative approaches. These latter seems to be very difficult to be applied using traditional software engineering tools. Practical works are deployed mainly in an Integrated...
Graphics Processing Units (GPUs) can easily outperform CPUs in processing large-scale data parallel workloads, but are considered weak in processing serialized tasks and communicating with other devices. Pursuing a CPU-GPU collaborative computing model which takes advantage of both devices could provide an important breakthrough in realizing the full performance potential of heterogeneous computing...
This article describes the design and implementation of the course Introduction to Computational Thinking (PC-01) for primary and secondary education. The course introduces the “concepts” and core “processes” of Computational Thinking using a visual programming environment. The design of the course PC-01 includes a set of multimedia content, learning tools and technologies that help teachers and students...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.