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'm an Assistant Professor at the Department of Informatics Engineering at the Faculty of Engineering of University of Porto (FEUP), lecturing courses on Software Engineering, Agile Software Development and Software Architecture (frameworks and patterns). I'm a researcher at the Software Engineering Research Group at FEUP, conducting work aimed at collaborative software knowledge management and software engineering education, and a senior investigator at INESC TEC and member of the international Hillside Group. My PhD thesis on Software Engineering was entitled “Patterns and Tools for improving Framework Understanding: a Collaborative Approach”. My most recent research interests are applying game-like techniques to improve software engineering education.

Interest
Topics
Details

Details

Publications

2017

Learning Frameworks in a Social-Intensive Knowledge Environment - An Empirical Study

Authors
Flores, N; Aguiar, A;

Publication
INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING

Abstract
Application frameworks are a powerful technique for large-scale reuse, but require a considerable effort to understand them. Good documentation is costly, as it needs to address different audiences with disparate learning needs. When code and documentation prove insuficient, developers turn to their network of experts. Nevertheless, this proves difficult, mainly due to the lack of expertise awareness (who to ask), wasteful interruptions of the wrong people and unavailability ( either due to intrusion or time constraints). The DRIVER platform is a collaborative learning environment where framework users can, in a non-intrusive way, store and share their learning knowledge while following the best practices of framework understanding (patterns). Developed by the authors, it provides a framework documentation repository, mounted on a wiki, where the learning paths of the community of learners can be captured, shared, rated, and recommended. Combining these social activities, the DRIVER platform promotes collaborative learning, mitigating intrusiveness, unavailability of experts and loss of tacit knowledge. This paper presents the assessment of DRIVER using a controlled academic experiment that measured the performance, effectiveness and framework knowledge intake of MSc students. The study concluded that, especially for novice learners, the platform allows for a faster and more effective learning process.

2016

iLearnTest - framework for educational games

Authors
Paiva, ACR; Flores, NH; Barbosa, AG; Ribeiro, TPB;

Publication
2ND INTERNATIONAL CONFERENCE ON HIGHER EDUCATION ADVANCES,HEAD'16

Abstract
Games are a part of human life since ancient times, present not only at childhood but throughout most of our adult life. A growing area of research focuses on the development of games for teaching and learning in various areas of expertise. These are called serious games. They intend to capture the attention, to motivate and to encourage user engagement through the use of recreational and entertainment elements, thus facilitating the learning process. This article describes iLearnTest, a framework for developing serious online games which are capable of supporting education of several subjects, allowing for a suitable training of participants, thus preparing them to meet the job market needs. This paper describes the architecture of the framework, the structure of the game and presents some results from performed experiments as to validate the overall approach. (C) 2016 The Authors. Published by Elsevier Ltd.

2016

Software Engineering Management Education through Game Design Patterns

Authors
Flores, NH; Paiva, ACR; Letra, P;

Publication
2ND INTERNATIONAL CONFERENCE ON HIGHER EDUCATION ADVANCES,HEAD'16

Abstract
Software engineering (SE) is an area with a wide range of concepts and knowledge. Such diversity of topics, requires the application of different teaching and learning techniques for an effective education. Serious Games is one of such techniques, yet its design tends to be complex, currently lacking a map of game design standards that comply with SE education requirements. This paper presents a process to identify the game design patterns that can be effective for teaching software engineering, specifically the software project management topic. Firstly, it begins by identifying the relationship between game design patterns and teaching and learning functions based on literature review. Secondly, it filters which of those teaching and learning functions is most relevant to software project management education, according to SE education specialists. Finally, it validates the relationship between game design patterns and software project management education through an empirical study conducted with master students. The results can be used as a basis for designing and developing serious games for teaching software project management. (C) 2016 The Authors. Published by Elsevier Ltd.

2015

DRIVER - A platform for collaborative framework understanding

Authors
Flores, N; Aguiar, A;

Publication
Proceedings - 2015 30th IEEE/ACM International Conference on Automated Software Engineering, ASE 2015

Abstract
Application frameworks are a powerful technique for large-scale reuse but often very hard to learn from scratch. Although good documentation helps on reducing the learning curve, it is often found lacking, and costly, as it needs to attend different audiences with disparate learning needs. When code and documentation prove insufficient, developers turn to their network of experts. The lack of awareness about the experts, interrupting the wrong people, and experts unavailability are well known hindrances to effective collaboration. This paper presents the DRIVER platform, a collaborative learning environment for framework users to share their knowledge. It provides the documentation on a wiki, where the learning paths of the community of learners can be captured, shared, rated, and recommended, thus tapping into the collective knowledge of the community of framework users. The tool can be obtained at http://bit.ly/driverTool. © 2015 IEEE.

2015

Game Design Techniques for Software Engineering Management Education

Authors
Letra, P; Paiva, ACR; Flores, N;

Publication
2015 IEEE 18TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND ENGINEERING (CSE)

Abstract
Software engineering is an area with a wide range of concepts and knowledge. To this diversity of topics, you may need to apply different teaching and learning techniques to be effective. One such technique is the use of serious games, but the design of such games tends to be complex, currently lacking a map of game design standards that comply with the Software Engineering education requirements. This paper presents the process to identify the game design patterns that can be effective for teaching software engineering, specifically the software project management topic. The process begins by identifying the relationship between game design patterns and teaching and learning functions based on literature review. Then the work follows establishing a relationship between teaching and learning functions and software project management education through questionnaires made to software engineering teachers. Finally, it sets up the relationship between game design patterns and software project management education through an empirical study conducted with master students. These results can be used as a basis for designing and developing serious games for teaching software project management.

Supervised
thesis

2016

Weaki - A weakly-typed wiki for incremental software knowledge acquisition

Author
Manuel António Gomes Pereira

Institution
UP-FEUP

2016

Jogo Sério para Aprendizagem de Estimação em Projetos de Software

Author
Nuno Filipe Dinis Cruz

Institution
UP-FEUP