Keywords: Ludic scenarios, Software Engineering, Virtual Learning .... provides an outline of knowledge and skills that every software engineer You must know ...
DEVELOPING VIRTUAL LEARNING ENVIRONMENTS FOR SOFTWARE ENGINNERING EDUCATION: A LUDIC PROPOSAL Raúl A. Aguilar, Iván E. Aké, Juan P. Ucán Universidad Autónoma de Yucatán Mathematics School (MEXICO)
Abstract Virtual Learning Environments are computer systems designed expressly as virtual spaces rich in situations that should encourage students toward meaningful learning, particularly ludic scenarios can use the competition as a goal structure in the learning process. This paper presents a virtual learning environment that provides a learning scenario based in a Memorama game; through the game, students use drill and practice technique in which students play until mastery is achieved. Memorama game is used as reference, and new rules are defined; for example, each turn, the playerstudent must select a couple concept-description and decide if they correspond; allow the decision taken accumulate or lose points in the game MemoSoft (Virtual Environment) uses a web architecture that allows a group of students interact synchronously through the environment, and review the descriptions or definitions related to software engineering domain. Keywords: Ludic scenarios, Software Engineering, Virtual Learning Environment, Web Engineering.
1
INTRODUCTION
Advances on Technology, Engineering, and Instruction, have enabled to diversify Education and Training Support Systems. Initially, developing of this kind of system adopted the Computer Aided Instruction paradigm and subsequently it was refined with Artificial Intelligence techniques implemented in the Computer Aided Intelligent Instruction paradigm [1]. Learning Environments or also known as Virtual Learning Environments are computer systems designed expressly as virtual spaces rich in situations that should encourage students toward meaningful learning [2]. Unfortunately, generate not usually appropriate conditions for learning if they are not accompanied by the attendance of a human tutor. In this paper we propose the use of a competency framework [3] as part of the instructional design, in which a student reviews [4], while playing, concepts associated with a course of Software Engineering (SE). The scenario materializes through an educational software based on the original game called “Memorama”. The following section describes the game developed for use with students in education programs in Software Engineering is presented; the rules and dynamics of the game are described too. The third section presents a reflection on education in SE. The fourth section presents the technology used to develop the prototype. And finally we present the work in progress around MemoSoft.
2
INSTRUCTIONAL DESIGN BASED IN LUDIC SCENARIES: MEMOSOFT
Games are related to entertainment or pastime, however, in education they are often used as instructional strategies to encourage learning of trainees. According to [3] the main concern with instructional use of competition is that students may begin a competition with the attitude that they would prefer to die rather than be defeated; for this reason, competition need to be kept light and fun, emphasizing review and drill, probably in a game format. MemoSoft (See Figure 1) is an educational software which is to assist students in reviewing concepts related to Software Engineering topics; Learning Environment is adapted from the well-known game Memorama in which a set of pairs of hidden images are distributed in a game table; players must, at every turn, be revealing pairs of cards and memorizing the position in the table images of both the player displays, like his opponent; each player keeps his turn, and accumulate points to be revealing pairs of matching images.
Proceedings of EDULEARN15 Conference 6th-8th July 2015, Barcelona, Spain
7844
ISBN: 978-84-606-8243-1
Fig 1. MemoSoft initial screen. With MemoSoft the dynamics of "Memorama" but with couples concept-description related to certain themes of Software Engineering [5] is used (see Table 1). In the game students should not only memorize the position of cards, but also link the descriptions with the disclosed concepts, such a dynamic opportunity to reaffirm the theory studied. At the beginning of the game, a trainee must select the theme, the level domain, and the number of players; at the moment the prototype has been enabled for one or two players. A confirmation message, such as that illustrated in Figure 2, will be displayed before starting the game.
Fig 2. Confirmation message for begin the game. Table 1 Couples of Term-Description for the subject "The Semat Kernel" TERM
DESCRIPCION
Semat
Software Engineering Method and Theory.
Alphas
Representations of the essential things to work with.
Activity Spaces
Representations of the essential things to do.
Customer
Area of concern the team needs to understand the stakeholders and the opportunity to be addressed:
Solution
Area of concern the team needs to establish a share understanding of the requirements, and implement, build, test, deploy and support a software system.
Endeavor
Area of concern the team and its way-of-working have to be formed, and the work has to be done.
Opportunity (Alpha)
The set of circumstances that makes it appropriate to develop or change a software system.
Stakeholders (Alpha)
The people, groups, or organizations who affect or are affected by a software system.
Requirements (Alpha)
What the software system must do to address the opportunity and satisfy the stakeholders.
7845
Software System (Alpha)
A system made up of software, hardware, and data that provides its primary value by the execution of the software.
Work (Alpha)
Activity involving mental or physical effort done in order to achieve a result.
Team (Alpha)
The group of people actively engaged in the development, maintenance, delivery and support of a specific software system.
Way of work (Alpha)
The tailored set of practices and tools used by a team to guide and support their work.
Stakeholder Representation
This competency encapsulates the ability to gather, communicate, and balance the needs of other stakeholders, and accurately represent their views.
Analysis
This competency encapsulates the ability to understand opportunities and their related stakeholder needs, and transform them into an agreed upon and consistent set of requirements.
Development
This competency encapsulates the ability to design and program effective software systems following the standards and norms agreed upon by the team.
Testing
This competency encapsulates the ability to test a system, verifying that it is usable and that it meets the requirements.
Leadership
This competency enable a person to inspire and motivate a group of people to achieve a successful conclusion to their work and to meet their objectives.
Management
This competency encapsulates the ability to coordinate, plan, and track the work done by a team.
To add dynamism to the game, each player will have a limited time (linked to the selected domain level) to finish the game, the time taken by the player with their participation, will be reduced in each turn of the game. On each turn the player can turn a couple of cards at a time, and to decide if the cards are linked disclosed, according to your choice, four events are triggered as shown below: 1. Pair of right cards, and the player chooses "Pair" Collect three points, 2. Pair of right cards, and the player chooses "Not Pair" Are subtracted three points, 3. Pair of incorrect cards, and the player chooses "Pair" Are subtracted 3 points, 4. Pair of incorrect cards, and the player chooses "Not Pair" Collect one point. Throughout the game different messages depending on the pressed button is displayed. In the course of this game illustrated in Figure 3: • The player #1 has -1 point earned for 9 innings, and the combination was: o He found three pairs = 9 points. o I was wrong 3 times [PAIR pressing the button] = -9 points o I was wrong 1 time [NOT PAIR pressing the button] = -3 points o He found two letters that were not couples = 2 points • Player #2 has –8 point that has accumulated in 6 innings, the combination was: o Found 1 pair = 3 points. o I was wrong 4 times = - 12 points o 1 couple found they were not partners = 1 point
7846
Fig 3. View of developing a game with MemoSoft To end a game in Memosoft there are three possibilities
3
Final 1. None was time runs out and the first and second place winner is determined depending on the score.
Final 2. That the # 1 player runs out of time and the player 2 you are not exhausted and find the missing couple. It is determined the first and second place winner based on the score.
Final 3. Both players are timing out, and determines the first and second place winner based on the score
SOFTWARE ENGINEERING EDUCATION
Software Engineering (SE) is a professional discipline that will meet in a couple of years just half a century of existence. In education, the development of the discipline began in 1978 with graduate programs in the United States, and in 1987 with programs in the undergraduate level in the UK. Currently, the impact on society IS evident the relevance of human capital talent in software development, and thus the proliferation of educational programs for the training of these professionals has increased The rapid development of Software Engineering Education was strongly influenced by entities such as the Software Engineering Institute (SEI) of Carnegie and Mellon University; his contribution consisted of a model curriculum for a Master in Software Engineering [6] supported by a series of reports published by the SEI with the profession argues Software Engineer. Other obligatory references are derived from the Association for Computing Machinery and the Computer Society of the Institute for Electrical and Electronic Engineers (IEEE) who published in 2004 SWEBOK guidance document provides an outline of knowledge and skills that every software engineer You must know to be relevant for their professional activity [7]; also they published the SE2004, where the curriculum proposed in the undergraduate level for a program in Software Engineering, which can serve as reference for Educational Institutions and Accreditation Councils [8]. Memosoft has been used in reference to the curriculum of the first degree program in Software Engineering offered in Mexico, program celebrated its tenth anniversary last year, and was recognized for its educational quality, accreditation in 2013 by the National Accreditation Council in Informatics and Computing (CONAIC) and recognition of the National Evaluation Center (CENEVAL) for entering the Register of Programs Academic Degree High Performance-EGEL. Figure 4 illustrates the list of subjects in MemoSoft.
7847
Fig 4. View of the list of subjects in MemoSoft
4
WEB TECHNOLOGY FOR DEVELOPMENT OF MEMOSOFT
Memosoft needs an information constant exchange that is showed on the cards, use the traditional Web application model mean a constant synchronous redirect to other web pages or reload the same web page, this involves a cost that may be unfortunate, for example, the load times between web pages during the exchange of information. Traditional Web application model is displayed in Figure 1.
Figure 1. Traditional Web Applicaction Model [2]. In order to improve the performance of X application, for software development uses a second alternative analyzed in [9]. This alternative use AJAX (Asynchronous JavaScript + XML). AJAX is one of the technologies that allowing web applications were closing the gap between the Web and traditional desktop applications. The Figure 2 illustrates an architecture based on Ajax technology.
Figure. 2. Ajax Web Application Model [2]. This technology uses the XMLHttpRequest object to fire requests to the Web server asynchronously without having to refresh all the web page. The advantages of using XMLHttpRequest object is that web applications can send or receive information to the server, request operations to the server and change aspects of the web page dynamically without the user having move pages or change the location of their focus [10]. For server-side software development in this project we use PHP and MYSQL for data persistence model. Finally for client-side development we use one important AJAX’s framework, this is JQuery UI [11].
7848
We use UML Web Engineering (UWE) as a methodology for developing Memosoft, UWE lets you specify in a clear and detailed Web application development process, this methodology maintains a standard notation based on the use of Unified Modeling Language for their models and methods, which facilitates a comprehensive view of the application [12].
5
ONGOING WORKS
At the time of writing the paper, the research group is working on concepts and descriptions of the subjects that have been selected and will be integrated into Memosoft; It is also planned the pilot test with students of the Bachelor of Software Engineering for the period August to December 2015
ACKNOWLEDGEMENT We thank the support of the Secretariat of Public Education (México) for the financial support at registered project: P/PIFI-2013-31MSU0098J-19-63.
REFERENCES [1]
Aguilar, R., Gómez, G., Moo, F. Uicab, R. & Tuyub, R. (2010) A Model Based on Intelligent Virtual Environment to Assist the Learning of the Programming and Mathematics. Proceedings of the International Conference on Education and New Learning Technologies (Edulearn 2010). Spain: Barcelona. Gómez, L., Martí, D. & Cande, I. (Eds.). pp. 2564-2571.
[2]
Dillenbourg, P. (2000) Virtual Learning Environments. EUN Conference 2000: Workshop on Virtual learning Environments.
[3]
Johnson D., and Johnson, R. (1994) Learning together and alone: Cooperative, Competitive, and Individualistic learning. Englewood Cliffs, NJ: Prentice Hall.
[4]
Kearsley, G. (1987) Artificial Intelligence & Instruction. Applications and Methods. AddisonWesley
[5]
Jacobson, I., Wei Ng, P., McMahom, P. Spence, I. & Lidman, S (2013) The Essence of Software Engineering. Applying the SEMAT Kernel. Addison-Wesley.
[6]
Ardis, M. & Ford, G (1989) SEI Report on Graduate Software Engineering Education. Carnegie Mellon University.
[7]
Abran A., Bourque, P. Dupuis, R. & Moore, J.W. (2004) Guide to the Software Engineering Body of Knowledge. SWEBOK. IEEE Computer Society Press. Los Alamitos, CA: USA.
[8]
ACM/IEEE-CS (2004) Software Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering (SE2004). Association for Computing Machinery/IEEE Computer Society.
[9]
Aguilar, R., Ucán, J. y Gómez, O. (2014) Entornos Virtuales Colaborativos: Comparando Tecnologías Software para el Entrenamiento. En Zapata, M y Gonzalez-Calderon G. (Coord) Ingeniería de Software e Ingeniería del Conocimiento: Dos disciplinas interrelacionadas. ISBN: 978-958-8815-31-2. Ed. Universidad de Medellin. Capítulo VI.
[10]
Balbin, L. (2006) Beginning Ajax with PHP: From Novice to Professional. Apress.
[11]
jQuery user interface. http://jqueryui.com/. Accedido en enero del 2012.
[12]
Koch, N., Knapp, A., Zhang, G., Baumeister, H (2008). UML-based web engineering. En Web Engineering: Modelling and Implementing Web Applications. Springer London, 2008. p. 157191.
7849