Attaining competences in software quality oriented design based on cyclic learning Camelia S ¸erban and Virginia Niculescu and Andreea Vescan Faculty of Mathematics and Computer Science Babe¸ s-Bolyai University, Cluj-Napoca,Romˆ ania {camelia, vniculescu, avescan}@cs.ubbcluj.ro Abstract —This Research to Practice Full Paper de- lineates the impact of using cyclic learning to obtain competences in software quality oriented design. Nowadays, the need for quality in the software sys- tems has become more and more a concern for many researchers and industry practitioners. Developing stu- dents’ appropriate competencies and skills in writ- ing quality programs must be an important objective of any Software Engineering related course from the Computer Science Curricula. In order to attain this goal, the paper presents a new strategy for reflecting software quality models into Software Engineering re- lated courses based on cyclic learning. The method is based on an educational strategy that integrates the cyclic learning approach and induces to the students the awareness regarding the importance of developing quality software. We focus on a set of software qual- ity characteristics described by the ISO25010 quality model for which we analyze the level of knowledge at- tained by the students during the entire bachelor cycle of studies. The study is directed by a detailed analysis of three courses: Advanced Programming Methods, Parallel and Distributed Programming, and Software Systems Verification and Validation, which were chosen in order to master the analysis complexity, but at the same time to assure coverage of as many quality attributes as possible. The investigation includes qualitative and quantita- tive analysis, directed by the objective of establishing the efficiency and effectiveness of the approach. The results obtained confirm both students’ awareness re- garding the importance of learning software quality attributes, and the efficiency of using cyclic learning in teaching this subject. We also outline several insights and advantages, and we conclude by showing that the proposed strategy fulfilled the expected objectives. Index Terms—cyclic learning, quality attributes, high performance, testing, undergraduate, IT industry. I. Introduction Programs have continuously increased in size and com- plexity leading to higher development costs and lower pro- ductivity. Software systems have become inflexible (diffi- culty in adding new functionality), monolythical (provided functionality not based on components), and difficult to maintain (any change comes with an unending chain of adjustments in multiple places). As a consequence to the development above, the need for quality in the software systems has become more and more a concern for many researchers and industry practitioners. Also, developing students’ appropriate competences and skills in writing quality programs must be an important objective of any Software Engineering related course from the Computer Science Curriculum. In order to attain this goal we present a methodology/s- trategy based on cyclic learning, adopted at our faculty, through which the students are made aware about the need for creating quality software even from the early courses of the curricula. We describe in this paper this methodology/strategy and our studies that reflects its necessity and also the associated results. For outcomes analysis of the approached strategy, we focused on a set of software quality (SQ) attributes for which we analyse the level of knowledge attained by the students during the entire cycle of studies. The paper takes into account only a subset of the SQ attributes from ISO2010 quality model [21] based on their link to the considered courses objectives. In order to evaluate the proposed strategy we formulate the following research questions: RQ1: What is the impact of using cyclic learning to obtain competences in software quality oriented design? RQ2 What is the impact on students’ awareness as regards the teaching of software quality? The paper is organized as follows: the next section briefly describes the cyclic learning approach, Section III sets the context by outlining the software quality model and the objectives of the analysis, Section IV presents how the teaching of the specific characteristics of software qual- ity are approached in our faculty, and Section V describes the conducted analysis and results. The conclusions are emphasized in Section VI. II. Cyclic Learning The teaching approach based on the learning cycle uses three distinct phases of instruction [24]: the exploration (which provides students with firsthand experiences with science phenomena), the concept introduction (which al- lows students to build understanding of science concepts), and the concept application (which requires students to apply their understanding to situations or new problems).