Supporting Software Engineering Education

0 downloads 0 Views 918KB Size Report
Experience Reports; Empirical Software Engineering; Reuse. I. INTRODUCTION ... These theories can be materialized by a learning objects and experience ..... interacting with a shared market for software and services, together with the.
Supporting Software Engineering Education through a Learning Objects and Experience Reports Repository Rodrigo Santos, Cláudia Werner

Heitor Costa

Simone Vasconcelos

COPPE/University of Rio de Janeiro Rio de Janeiro, RJ, Brazil {rps, werner}@cos.ufrj.br

Federal University of Lavras Lavras, MG, Brazil [email protected]

IFF – Fluminense Federal Institute Campos, RJ, Brazil [email protected]

Abstract – The formation of human resources in Software Engineering (SE), as well as in other areas of Computer Science (CS), depends on the education research. It is possible to identify some efforts performed by SE community. However, they represent isolated and localized initiatives, reducing their diffusion and use in large scale in global and regional scenarios. This work presents a strategy to support the educational research in SE focused on empirical research. The goal is to contribute to a body of knowledge in SE education thought a learning objects and experience reports repository. Keywords – Software Engineering Education;Learning Objects; Experience Reports; Empirical Software Engineering; Reuse.

I. INTRODUCTION The teaching and learning process in Software Engineering (SE) has been discussed in the last years [14] to reflect the current demand for complex and large systems of systems and software-intensive systems. Usually, professors teach SE concepts through theoretical courses, contemplating practical activities in a small and short time project. Thus, the new software engineers meet a scenario where learned techniques and methods are not applicable, and they use ad hoc practices based on their experiences, focusing on coding. This can negatively impact the establishment of engineering principles and good practices in software development processes. The university should not take all the responsibility (since it is not a company) but need to prepare the students for real challenges in SE industry [15]. Motivated by this fact, some efforts consisted in developing reference documents such as SWEBoK [7], SE2004 [1] and CSDP [10], as well as the establishment of many undergraduate and graduate programs around the world. However, all these efforts tend to dissipate when treated as a set of isolated strategies, contributing to a divergent and localized scenario in SE education, no evidence-based and no focused on use of the best educational resources [9]. So, it is important to identify mechanisms that allow the organization of this knowledge, exposing it to the SE community. In order to contribute to SE education, the empirical paradigm involves the collection and analysis of data and evidences that can be used to characterize, evaluate and show relations among technologies, practices, and experiences on SE teaching and learning processes. Therefore, empirical results can compose a body of knowledge over time [5], providing a base to accepted and well-formed theories about SE education.

These theories can be materialized by a learning objects and experience reports repository, where researchers and professors can communicate, act as producers and consumers of educational resources, and also drive SE education to a more mature field of Computer Science (CS). In this sense, this paper aims to present EduSE Research Strategy, an approach to explore empirical studies as a mean to support large scale SE education. From cooperatively developing a scientific investigation protocol with SE community in four phases, a unified body of knowledge can be organized, taking into account SE global aspects and regional peculiarities (i.e., problems, solutions and challenges in education in SE areas). Also, this process allows the existence of a dynamic and evidence-based repository of SE learning objects and experience reports in its fifth phase. The paper follows this structure: Section II discusses the concepts of learning objects and experience reports, contextualizing SE education; Section III presents EduSE Research Strategy, its phases and infrastructure; and Section IV points out final considerations and future work. II.

BACKGROUND

A. Learning Objects and Software Engineering Education A learning object is the smallest independent structural experience that contains an objective, a learning activity and assessment. It represents a set of reusable and self-contained digital resources with an educational objective structured by three internal components: contents, learning activities and contextual elements [25]. A learning object must have an external information structure (metadata) that facilitates its storage, search and retrieval. For the Learning Technology Standards Committee (LTSC) of the Institute of Electrical and Electronics Engineers (IEEE), a learning object is any digital or non-digital entity that can be used in the technological support to learning, education or training, e.g., texts, images, graphs, tables, presentations, diagrams, videos, games or any digital educational material, used by the professors assisting students in teaching a subject [11]. In its essence, a learning object is reusable. Some types of information may be included in a learning object and its metadata [11]: general course descriptive data, life cycle, instructional content, glossary of terms, quizzes and

assessments, rights, relations to other courses, and educational level. Some works consider a process model for learning object development, such as ADDIE [17]. Besides, the creation of the learning object standards makes the definition of important characteristics possible, such as reuse, durability, and accessibility, highlighted in standards (e.g., SCORM [2]). In SE education, the use of learning objects aims at minimizing the mentioned problems since it provides mechanisms to facilitate the teaching and learning processes, beyond promoting relations between concepts, practices and results in SE. Some learning environments are developed to assist the SE learning process and simulate many real situations related to software development that stimulates and motivates students. This kind of learning objects can be games, scenes, graphs, and others. Some games used in SE learning considering Project Management (e.g., The Incredible Manager [8]) and Requirements Engineering (e.g., Guess what we want [3]) areas. B. Experience Reports and Software Engineering Education An important element in CS educational techniques is the experience report, i.e., the exposition of a tradeoff between educational proposition and realization made by professors, which evidences success and failure strategies and tactics in teaching and learning processes over time [9]. This element represents a channel among professors and researchers to treat educational issues and communicate new solutions among them. In this sense, the efforts to generate an experience report database use empirical techniques [5]. The empirical studies allow theories to be formulated, tested, and validated, evolving an experience report to a status of evidence (or not), i.e., evidences are generated from characterizing, assessing, predicting, controlling, and improving products, processes, and theories. Thus, experiences in education can explore these studies towards the continuous improvement. The execution of educational research is supported by studies which aim to discover something unknown or test something known. They can be classified into primary and secondary studies. Primary studies are directed by hypotheses to be verified or inferred. These studies are conducted when it is necessary to characterize a particular learning object in use within a specific context (e.g., game, educational technique or software). The result analysis of a primary study can be quantitative, semi-quantitative or qualitative, and it can represent (or is associated to) an experience report. Three types can be identified [26]: (i) case study is executed to observe a behavior or phenomenon shown by an entity within a limited time; (ii) quasi-experiment is executed once a greater control of the situation is needed, aiming at manipulating one or more variables and control the value of others; and (iii) survey is executed to collect information from a sample of the population through a set of questions. Although primary studies characterize a specified learning object, they are not sufficient [26]. Thus, secondary studies aim to integrate results from several correlated primary studies. Secondary studies are useful in revealing evidences and constructing bodies of knowledge that can be mapped to real and everyday educational experiences. These studies happen

through systematic reviews and meta-analysis [6]: the first one is a methodology focused on a literature search protocol; and the other one is a study applied after a systematic review to statistically treat the quantitative data from analyzed papers. Initiatives of empirical studies plan and execution in SE education can be found in the literature, some of them reporting experiences of using different and interesting strategies to have the students’ attention. Papers of two conferences, Brazilian Forum on SE Education (FEES) and International Conference on Software Engineering Education & Training (CSEET) were examined, identifying some educational discussions, such as (i) SE as an undergraduate course and SE in CS courses, (ii) teaching areas of knowledge from SWEBoK, (iii) interdisciplinarity, and (iv) status of SE in university and industry. This analysis is presented in FIGURE I.

FIGURE I.

III.

Educational aspects identified on papers

EDUSE RESEARCH STRATEGY

Based on Shull et al. [22] and Spínola et al. [23] proposals, EduSE Project was started in order to generate a collaborative and large scale research strategy to support SE education, called EduSE Research Strategy [19]. It proposes secondary (i.e., systematic review) and primary (i.e., survey) studies to establish, base and integrate SE education researches in a collaborative (i.e., among different SE researchers), distributed (i.e., among different institutions) and specialized (i.e., dividing experts by SE areas work groups, such as requirements, design, test, reuse etc.) way. Hence, two communities are highlighted as direct EduSE Research Strategy stakeholders: researchers (who research in SE and wish to improve the education of their SE areas) and professors (who teach SE classes). Using the GQM (Goal/Question/Metric) approach [5], the project goal is to analyze SE teaching and learning processes for the purpose of characterizing with respect to identifying problems, solutions and challenges, beyond regional peculiarities from the SE researchers’ point of view, in the context of SE and CS courses. In this sense, the research question could be established as: What are the main problems, existent solutions and pointed challenges in SE teaching and learning process related to dimension ?. From the research question, four phases were developed to compose EduSE Research Strategy’s kernel (FIGURE II. ) by deriving work focused on the technology definition research strategy proposals mentioned above. These phases are connected and refined by activities and tasks: (1) Ad hoc Literature Review Phase aims at identifying basic concepts about SE education, and allowing the definition of a systematic review protocol for supporting each SE area work group; (2)

Systematic Review Phase aims at elaborating and executing the systematic review protocol in each SE area work group – based on the results extracted from papers analysis, the work group decides if the study needs to be refined, or if the set of mapped knowledge should be evaluated through a survey; (3) Survey Phase aims at planning and executing studies to evaluate the knowledge acquired in the previous phase, considering SE professors community perspective in regional scenarios; and (4) Body of Knowledge Phase aims at joining all knowledge obtained from the last three phases in order to organize a SE education body of knowledge (i.e., studies reports; tracking among researches questions and problems, solutions, challenges and regional peculiarities; search, retrieval and communication mechanisms to find and improve teaching practices and SE techniques etc.). Thus, this phase requires a repository to share information related to SE education. фĐŚĂƌĂĐƚĞƌŝnjĂƚŝŽŶх

EĞǁƐƚƵĚŝĞƐ ŵŽƚŝǀĂƚĞĚďLJ ĨĞĞĚďĂĐŬ

фƐĞĐŽŶĚĂƌLJƐƚƵĚLJх

^LJƐƚĞŵĂƚŝĐ ZĞǀŝĞǁ

z^ фƉƌŝŵĂƌLJƐƚƵĚLJх

2

z^ ZĞĨŝŶĞŵĞŶƚ ŶĞĞĚĞĚ͍

фƌĞƉŽƐŝƚŽƌLJх

džƉĞƌŝĞŶĐĞZĞƉŽƌƚƐ >ĞĂƌŶŝŶŐKďũĞĐƚƐ 5

FIGURE II.

͍

EK

͍

^ƵƌǀĞLJ 3

ǀĂůƵĂƚŝŽŶ ŶĞĞĚĞĚ͍

z^ ͍ EK

EK

3$&.$*(6

EĞǁƐLJƐƚĞŵĂƚŝĐ ƌĞǀŝĞǁŶĞĞĚĞĚ͍

ĚŚŽĐ >ŝƚĞƌĂƚƵƌĞ ZĞǀŝĞǁ 1

resources as reusable components, each of them composed by a learning object, a manual (instructions), and an XML scientific protocol which will generate a questionnaire with data of interest to be collected when a resource is used in vivo. On the other hand, aiming to improve their classes and save time, SE professors freely search and retrieve these educational resources, and download them after agreeing with feedback terms. That is, after using and collecting required data in classes, SE professors should provide feedback, fulfilling a form with the questionnaire prepared by the resource producer. Hence, SE researchers can aggregate and summarize data, extracting information about their educational resources and, consequently, improving educational resources and related SE research products. Also, they can publish papers related to their researches based on real cases, creating a positive cycle.

6(72)!

 /2EMHFWV  ,QVWUXFWLRQ  3URWRFROV

6(5(6($5&+(56

фĞǀŝĚĞŶĐĞďĂƐĞх

5(32576

ŽĚLJŽĨ