Is it Better to Learn from Problems or Erroneous Examples? Williamson Silva Institute of Computing Federal University of Amazonas Manaus, AM Brazil williamson.silva@icomp.ufam.edu.br Igor Steinmacher Department of Computing - UTFPR Campo Mourão, PRBrazil School of Informatics, Computing and Cyber Systems - NAU, AZUSA igorfs@uftpr.edu.br Tayana Conte Institute of Computing Federal University of Amazonas Manaus, AM Brazil tayana@icomp.ufam.edu.br AbstractUnified Modeling Language (UML) is a modeling standard that has been commonly used in the software industry. However, students face difficulties while learning how to model complete and correct UML diagrams. One of the reasons is the way UML has been taught. In order to improve the effectiveness of learning it is necessary to employ methods in which the students actively take part in the learning process. This paper describes an empirical study that evaluates two teaching methods: Problem Based Learning (PBL) and Learning from Erroneous Examples (ErrEx). We compared these methods by assessing the degree of correctness and completeness of the produced diagrams. We analyzed students’ perceptions about each method. The quantitative results showed that the diagrams created using both methods presented similar level of correctness and completeness. The qualitative results showed that students found PBL easier when learning UML diagrams. Results showed that students found PBL easier when learning UML diagrams. KeywordsUML Teaching; Modeling Education; Problem Based Learning; Learning from Erroneous Examples; Empirical Study; I. INTRODUCTION The capacity to abstract has become one of the most important skills in Software Engineering (SE) [1, 2], since it enables an in-depth understanding of a specific concept or a problem using different levels of detailing [1, 3]. From abstract thinking, students and professionals are able to analyze and design models used during software development [1, 2]. Unified Modeling Language (UML) [4] has been adopted as a standard modeling language in the software industry for the graphical representation of analysis and design models [5, 6]. Learning how to model UML diagrams has become a necessity for SE students and professionals [7]. However, during the learning process, students have presented difficulties while creating these diagrams, such as: difficulty in understanding the diagram’s syntax and semantics, difficulty in organizing information on the diagrams, difficulty in correctly using association of the type generalization-specialization, among others [7, 8, 9, 10]. These difficulties can affect the final software quality, since these diagrams would incompletely and incorrectly represent the software [7, 8, 9]. One of the reasons for these difficulties can be the way the UML has been taught [8], once the traditional teacher-centered approach is still dominant in Computer Science [11]. According to Al-Tahat [10] and Chen et al. [11], the challenges associated with this teaching approach are (a) the lack of in-class active learning, and (b) the students are passive learners. The SE curriculum is not an exception. Therefore, it is necessary to explore new pedagogical methods, which provide students with a challenging environment, in a way that the students are actively involved in the learning process [12]. A promising area in Computer Science is Active Learning (AL) [13, 14]. According to Freitas et al. [12], in the AL approach, students are immersed in a learning environment in which learning domains (knowledge, skills and attitudes) are stimulated. AL promotes students’ involvement, improves academic performance, as well as students’ attitudes. In addition, AL offers to students a natural environment for improving their interpersonal skills and developing problem solving and life-long learning skills [14]. Among the methods implemented with AL, we can include Problem-Based Learning (PBL) [15] and Example Based Learning (EBL) [16, 17]. PBL is a pedagogical method that emphasizes on the role of a problem, in which the students are responsible for their learning [15]. This method helps the students developing strategies and constructing knowledge. Team formation and role distribution are essential for the use of PBL [18]. Example Based Learning is another method based on AL. EBL engages the students in an AL exercise [16, 17], offering the opportunity for a constructive and collaborative learning experience through examples [19, 20]. One of the strands of EBL is Learning from Erroneous Examples (ErrEx) [21, 22]. In ErrEx, students attempt to solve a problem in which one or more examples are incorrect. This method helps mainly in initial skill acquisition in the learning process [19, 22, 23]. Moreover, McLaren et al. [22] state that ErrEx helps the students to (a) more carefully study the examples, and (b) to remember and avoid errors found and learned in a future activity. Aiming to understand the influence of PBL and ErrEx methods in the process of learning UML diagrams, this paper describes an empirical study conducted with 44 undergraduate students of the Federal University of Amazonas (UFAM). The study was carried out while the students were learning two UML diagrams: Activity and Sequence Diagrams. We chose these diagrams because they help in understanding the dynamic behavior of the software [4] by representing: system’s control