This research discusses the use of a gamified web platform for studying software modeling with Unified Modeling Language (UML). Although UML is constantly being improved and studied, many works show that there is difficulty in teaching and learning the subject, due to the complexity of its concepts and the students' cognitive difficulties with abstraction. There are challenges for instructors to find different pedagogical strategies to teach modeling. The platform proposed allowed students to complement their UML knowledge in an environment with game elements. From the results, it can be concluded that the platform obtained great acceptance and satisfaction of use. Most of the students participating in the research were satisfied with the usability of the platform, reporting a feeling of contribution of the tool to studying the content, in addition to pointing out the satisfaction of using gamification as a pedagogical strategy.
Teaching software engineering (SWE) as a core computer science course (ACM, 2013) is a challenging task. The challenge lies in the emphasis on what a large-scale software means, implementing teamwork, and teaching abstraction in software design while simultaneously engaging students into reasonable coding tasks. The abstraction of the system design is perhaps the most critical and theoretical part of the course and requires early engagement of the students with the necessary topics followed by implementation of the abstract model consistently. Normally, students would take such courses in the undergraduate curriculum sequence after data structures and/or object-oriented design/programming. Therefore, they would be able to learn about systematic modeling of software as a system. In this work, we address how to facilitate the teaching of SWE by introducing abstract modeling. Furthermore, functional decomposition is reviewed as a critical component which in turn, requires understanding of how different tasks are accomplished by enterprise software. Combining such pieces with concepts of architecture and design patterns of software provides foundational knowledge for students to be able to navigate around enterprise software in the real world.
Interfaces with good usability help their users complete more tasks in less time and with less effort, which gives them greater satisfaction. Given the vast array of options available to users today, usability is an important interface feature that may lead to the commercial success or failure of a software system. Despite its importance, few educational tools are available to help usability teachers and students. Knowing how to measure interface usability is one of the basic concepts that students should learn when they study the theme. This paper presents UsabilityZero, a web application to support the teaching of usability concepts to undergraduate students. By using UsabilityZero, students interact with a system displaying a reduced usability interface and, later, with the same system exhibiting an increased usability interface. Considering the use of UsabilityZero by 64 students, the differences between the interface with reduced and increased usability were: (i) 61.5% decrease in the number of clicks; (ii) 62.2% decrease in the time to perform tasks; (iii) 92.9% effectiveness increase; and (iv) a 277.3% satisfaction increase. During their experience with UsabilityZero, students learn how to measure efficiency, effectiveness, and satisfaction of user interfaces. After using the application, Information Systems and Computer Science students who had never been in touch with the subject could identify key usability aspects. The students’ perception of efficiency, effectiveness, and satisfaction as usability measures was higher than 80%. Also, they could identify some usability criteria and understand how measurements change when some of them are present in the interface design. As a result, over 92% of these students said they recognized the importance of usability to the quality of a software product, and 79% declared that their experience with the application would contribute to their professional lives.
Diverse initiatives have emerged to popularize the teaching of computing in K-12 mainly through programming. This, however, may not cover other important core computing competencies, such as Software Engineering (SE). Thus, in order to obtain an overview of the state of the art and practice of teaching SE competences in K-12, we carried out a systematic mapping study. We identified 17 instructional units mostly adopting the waterfall model or agile methodologies focusing on the main phases of the software process. However, there seems to be a lack of details hindering large-scope adoption of these instructional units. Many articles also do not report how the units have been developed and/or evaluated. However, results demonstrating both the viability and the positive contribution of initiating SE education already in K-12, indicate a need for further research in order to improve computing education in schools contributing to the popularization of SE competencies.
The technological resources used for pedagogical innovation in the form of distance education have increasingly been incorporated into face-to-face education. This article describes the experience of the Federal University of Lavras - Brazil - with new ways to apply technology in face-to-face undergraduate courses. This paper presents (i) the strategy for the selection of course content, which was premised on the diversification of areas of knowledge and on promoting the permanent incorporation of the resources developed in the teaching-learning process, (ii) the organization of the production process of Learning Objects based on the Scrum method, (iii) the set of best practices, inspired by the management of agile software development, as well as the contextual motivation of its use.