Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by CSE

2016

Efficient Delivery of Forecasts to a Nautical Sports Mobile Application with Semantic Data Services

Authors
Amorim, RC; Rocha, A; Oliveira, MA; Ribeiro, C;

Publication
Proceedings of the Ninth International C* Conference on Computer Science & Software Engineering, C3S2E '16, Porto, Portugal, July 20-22, 2016

Abstract
Weather and sea-related forecasts provide crucial insights for the practice of nautical sports such as surf and kite surf, and mobile devices are appropriate interfaces for the visualization of meteorology and operational oceanography data. Data are collected and processed by several agencies and are often obtained from forecast models. Their use requires adaptation and refinement prior to visualisation. We describe a set of semantic data services using standard common vocabularies and interoperable interfaces following the recommendations of the INSPIRE directive. NautiCast, a mobile application for forecast delivery illustrates the adaptation of data at two levels: 1) semantic, with the integration of data from different sources via standard vocabularies, and 2) syntactic, with the manipulation of the spacial and temporal resolution of data to get effective mobile communication. Copyright 2016 ACM.

2016

Reducing Data Transfer in Parallel Processing of SQL Window Functions

Authors
Coelho, F; Pereira, J; Vilaca, R; Oliveira, R;

Publication
PROCEEDINGS OF THE 6TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING AND SERVICES SCIENCE, VOL 1 (CLOSER)

Abstract
Window functions are a sub-class of analytical operators that allow data to be handled in a derived view of a given relation, while taking into account their neighboring tuples. We propose a technique that can be used in the parallel execution of this operator when data is naturally partitioned. The proposed method benefits the cases where the required partitioning is not the natural partitioning employed. Preliminary evaluation shows that we are able to limit data transfer among parallel workers to 14% of the registered transfer when using a naive approach.

2016

Evaluating Selection, Manipulation and Navigation Tasks by People with Intellectual Disabilities Learning level comparison of user interaction performance with digital content

Authors
Rocha, T; Bessa, M; Melo, M; Barroso, J; Cabral, L;

Publication
2016 23RD PORTUGUESE MEETING ON COMPUTER GRAPHICS AND INTERACTION (EPCGI)

Abstract
This paper presents a study on the evolution of digital skills of a group of people with intellectual disabilities, when performing tasks such as painting, making puzzles, playing games, or word search. For the effect, we compare results in two assessment moments: in the first one, the group with intellectual disabilities had little or no experience as regards as performing universal tasks (selection, manipulation and navigation) and with the Web; in the second one, the group had some experience obtained within the 6 months after the first assessment moment. We aimed at evaluating the evolution of their digital skills by comparing the two assessment moments through the following usability variables: successful conclusion of activities, type of difficulties found, errors, satisfaction, motivation and autonomy indicators. The results revealed that participants showed learning skills when performing all the three universal tasks (namely: selection, manipulation and navigation) which is indicated by the number of participants that was able to conclude the activities, also confirmed by the prominent results of the second assessment moment. When it comes to errors, they made more errors in the first assessment moment, in general. When handling the input devices the participants had a better performance with the mouse than the keyboard. On the other hand, they improved their keyboard handling. However, it was observed that it is not a device that they can be autonomous with due to their reading/writing difficulties, which itself represents a didactic challenge when it comes to the very presentation of appropriate methodologies and techniques that may help them overcome such problem.

2016

A Lock-Free Hash Trie Design for Concurrent Tabled Logic Programs

Authors
Areias, M; Rocha, R;

Publication
INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING

Abstract
Tabling is an implementation technique that improves the declarativeness and expressiveness of Prolog systems in dealing with recursion and redundant sub-computations. A critical component in the design of a concurrent tabling system is the implementation of the table space. One of the most successful proposals for representing tables is based on a two-level trie data structure, where one trie level stores the tabled subgoal calls and the other stores the computed answers. In previous work, we have presented a sophisticated lock-free design where both levels of the tries where shared among threads in a concurrent environment. To implement lock-freedom we used the CAS atomic instruction that nowadays is widely found on many common architectures. CAS reduces the granularity of the synchronization when threads access concurrent areas, but still suffers from problems such as false sharing or cache memory effects. In this work, we present a simpler and efficient lock-free design based on hash tries that minimizes these problems by dispersing the concurrent areas as much as possible. Experimental results in the Yap Prolog system show that our new lock-free design can effectively reduce the execution time and scales better than previous designs.

2016

Sni'per: a Code Snippet RESTful API

Authors
Queirós, R; Simões, A;

Publication
5th Symposium on Languages, Applications and Technologies, SLATE 2016, June 20-21, 2016, Maribor, Slovenia

Abstract
Today we use the Web for almost everything, even to program. There are several specialized code editors gravitating on the Web and emulating most of the features inherited from traditional IDEs, such as, syntax highlight, code folding, autocompletion and even code refactorization. One of the techniques to speed the code development is the use of snippets as predefined code blocks that can be automatically included in the code. Although several Web editors support this functionality, they come with a limited set of snippets, not allowing the contribution of new blocks of code. Even if that would be possible, they would be available only to the code's owner or to the editors' users through a private cloud repository. This paper describes the design and implementation of Sni'per, a RESTful API that allows public access for multi-language programming code-blocks ordered by popularity. Besides being able to access code snippets from other users and score them, we can also contribute with our own snippets creating a global network of shared code. In order to make coding against this API easier, we create a client library that reduces the amount of code required to write and make the code more robust. © Ricardo Queirós and Alberto Simões;licensed under Creative Commons License CC-BY.

2016

Design and implementation of an IDE for learning programming languages using a gamification service

Authors
Paiva, JC; Leal, JP; de Queirós, RAP;

Publication
Gamification-Based E-Learning Strategies for Computer Programming Education

Abstract
This chapter presents the architecture and design of enki, an Integrated Development Environment (IDE) for learning programming languages on massive open online courses (moocs). this environment can be used as a tool by a learning management system (lms) and a typical lms such as moodle can launch it using the learning tool interoperability (lti) api. student authentication tokens are passed via lti, thus integrating enki in the single sign-on domain of the academic institution. the proposed tool has a web user interface similar to those of reference ides, where the learner has access to different integrated tools, from viewing tutorial videos, to solving programming exercises that are automatically evaluated. enki uses several gamification strategies to engage learners, including generic gamifications services provided by odin and the sequencing of educational resources. the course content (videos, pdfs, programming exercises) is progressively disclosed to the learner as he successfully completes exercises. this is similar to what happens in a game, where new levels are unlocked as the previous are completed, thus contributing to the sense of achievement.

  • 176
  • 220