Cookies Policy
We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out More
Close
  • Menu
About

About

I hold a PhD on Computer Science and 'im an Assistant Professor of Computer Science at the Polytechnic Institute of Porto. I'm also a researcher in the field of e-learning interoperability and programming languages learning at the Center for Research in Advanced Computing Systems (CRACS) research group of INESC TEC Porto. I'm also the author of 5 books regarding Android development and almost 100 scientific publications focused on computer science education.

Interest
Topics
Details

Details

  • Name

    Ricardo Queirós
  • Cluster

    Computer Science
  • Role

    Senior Researcher
  • Since

    01st January 2012
Publications

2017

SOS - Simple Orchestration of Services

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

Publication
6th Symposium on Languages, Applications and Technologies, SLATE 2017, June 26-27, 2017, Vila do Conde, Portugal

Abstract
Nowadays, we continue to write redundant code which can often be reused from the Web. Reusing programming tasks is beneficial since it speeds up the process of creating applications and reduces the errors related with the task creation from scratch. At the same time, the demands of our applications are increasing, leading to a simple problem having to be solved through several tasks. With the advent of the cloud, there are countless Web services that proliferate on the Web. One solution for developers is to use these Web Services. However, the process of mastering and coordinating all these services manually is time-consuming and error-prone. This paper presents SOS, a Simple Orchestration of Services. The ultimate goal of this tool is to act as a service composer while promoting the separation of concerns for two typical actors in this realm: the developer and the business analyst. The developer must define a service as a SOS task based on a JSON schema and submit it in a Web specialized editor. The business analyst uses the SOS editor, in an interactive way, to chain the required tasks to solve a specific problem. Then, the developer, uses a a simple client API – a SOS engine wrapper – to load a SOS manifest and to iterate over all tasks, without the need to dominate any bureaucratic aspects related with HTTP clients and messages. As a case study, several tasks are instantiated and aggregated in order to generate a composite service for a mobile app whose goal is to give an translated description of a picture taken with a mobile phone. © Ricardo Queirós and Alberto Simões

2017

A Survey on CSS Preprocessors

Authors
Queirós, R;

Publication
6th Symposium on Languages, Applications and Technologies, SLATE 2017, June 26-27, 2017, Vila do Conde, Portugal

Abstract
In the Web realm, the adoption of Cascading Style Sheets (CSS) is unanimous, being widely used for styling web documents. Despite their intensive use, this W3C specification was written for web designers with limit programming background. Thus, it lack several programming constructs, such as variables, conditional and repetitive blocks, and functions. This absence a ects negatively code reuse, and consequently, the maintenance of the styling code. In the last decade, several languages (e.g. Sass, Less) appeared to extend CSS, defined as CSS preprocessors, with the ultimate goal to bring those missing constructs and to foster stylesheets structured programming. The paper provides an introductory survey on CSS Preprocessors. It gathers information on a specific set of preprocessors, categorizes them and compares their features regarding a set of predefined criteria such as: maturity, coverage and performance. © Ricardo Queirós

2017

6th Symposium on Languages, Applications and Technologies, SLATE 2017, June 26-27, 2017, Vila do Conde, Portugal

Authors
Queirós, R; Pinto, M; Simões, A; Leal, JP; Varanda Pereira, MJ;

Publication
SLATE

Abstract

2017

Magni - A Framework for Developing Context-Aware Mobile Applications

Authors
Queirós, R; Portela, F; Machado, J;

Publication
Recent Advances in Information Systems and Technologies - Volume 3 [WorldCIST'17, Porto Santo Island, Madeira, Portugal, April 11-13, 2017].

Abstract
The advent of Internet and ubiquitous technologies has been fostering the appearance of intelligent mobile applications aware of their environment and the objects nearby. Despite its popularity, mobile devel-opers are often required to write large and disorganized amounts of code, mixing UI with business logic and interact, in a ad-hoc fashion, with sensor devices and services. These habits hinder the code maintenance, refactoring and testing, while negatively influencing the consistency and performance of mobile applications. In this paper we present Magni as an abstract framework for the design and implementation of personalized and context-aware mobile applications. The corner stone of the frame-work is its architectural pattern based on the Model–View–Presenter pattern in the UI layer relying in REST services the majority of the app features. This paradigm fosters the modular design, implementing the separation of concerns concept and allowing an easier implementation of unit tests. In order to validate the framework, we present a prototype for an healthcare automotive app. The main goal of the app is to facilitate the access to health related points of interest such as hospitals, clinics and pharmacies. © Springer International Publishing AG 2017.

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.