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.
Computer science students often evaluate the behavior of the code they write by running it on specific inputs and studying the outputs, and then apply their comprehension to a more general understanding of the code. While this is a good starting point in the student’s career, successful graduates must be able to reason analytically about the code they create or encounter. They must be able to reason about the behavior of the code on arbitrary inputs, without running the code. Abstraction is central for such reasoning.
In our quest to help students learn to reason abstractly and develop logically correct code, we have developed tools that rely on a verification engine. Code involves assignment, conditional, and loop statements, along with objects and operations. Reasoning activities involve symbolic reasoning with simple assertions and design-by-contract assertions such as pre-and post-conditions as well as loop invariants with data abstractions. Students progress from tracing and reading code to the design and implementation of code, all relying on abstraction for verification. This paper reports some key results and findings from associated studies spanning several years.
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.