I. Introduction
During the last two decades, software development has changed drastically, more and more people not involved in professional software development have become able to do programming by using new resources [1], for example: code samples and tutorials used through copy-pasting; simplified libraries, and several visual software development tools and languages, where the programming code is hidden and it can be applied with just a click. As a concrete example of these changes we must refer to the inclusion of a significant number of disciplines previously considered non-related with computing, into curriculum guidelines [2].