The introductory programming disciplines, which include the teaching of algorithms and computational logic, have high failure and dropout rates. Developing Computational Thinking in students can contribute to learning programming fundamentals by building algorithmic and problem-solving skills. However, keeping students engaged in training such skills is still a challenge. In this sense, this work proposes an intervention for teaching Computational Thinking in the initial semesters of the Technician in Informatics and Bachelor of Computer Science courses, using gamification as a motivational strategy and the Quizizz software as a gamified platform. To evaluate the results, a mixed-method case study was used to perform a quantitative and qualitative analysis of the data and, subsequently, integrate them. The results obtained were discussed based on the Theory of Self-Determination, indicating that students demonstrated a high level of oriented autonomy and motivation to learn, regardless of the performance obtained.
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.
The rapid development of technology in today’s times make business’ survival a rather complex task. It is therefore necessary for the specialized organization and administration of each company to differentiate and strengthen its competitive advantages. Gamification is an established practice in many business domains and can enforce employees to engage in business processes and change aspects of their behavior. Even though numerous gamification patterns that are described in literature have been used so far by businesses to various working environments, the outcomes were not the best possible that we would expect in terms of their right utilization to business non-game contexts. Thus, there is need for concise gamification patterns that can offer right guidance to game designers in business. Gamification design patterns can provide a distilled knowledge of techniques of how to design object-oriented software. This paper aims to address this gap in existing literature by describing new gamification design patterns, classifying them according to specific criteria and providing new information to this research domain. Our study is a descriptive literature review and is based on review of previous works. This descriptive literature review tries to give a better understanding by proposing new gamification design patterns in the continuously evolving research domain of gamification design patterns.
Scrum is a widely-used framework in industry, so many schools apply it to their software engineering courses, particularly capstone courses. Due to the differences between students and industrial professionals, changing Scrum is necessary to fit capstone projects. In this paper, we suggest a decision-making process to assist instructors in developing a strategy to adapt Scrum for their course. This framework considers critical differences, such as student’s workloads and course schedules, and keeps the Agile principles and Scrum events. To evaluate the adapted Scrum, we investigated student’s learning experiences, satisfaction, and performance by quantitatively analyzing user story points and source codes and qualitatively studying instructor’s evaluations, student’s feedback, and Sprint Retrospective notes. Our two case studies about adapted Scrum showed that having daily stand-up meetings in every class was not helpful, student’s satisfaction positively correlated to the difficulty of the task they tackled, and the project provided good learning experiences.
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.