Enhancing software engineering education using teaching aids in 3-D ...

1 downloads 7146 Views 424KB Size Report
Oct 12, 2016 - experimented with Second Life in two computer science. classes, one at ..... game. All the surveys in these two classes are provided online.
Session T1E

Enhancing Software Engineering Education Using Teaching Aids in 3-D Online Virtual Worlds En Ye 1, Chang Liu 2, and Jennifer A. Polack-Wahl 3 Abstract - Three-dimensional Online Virtual Worlds such as Second Life support avatar-based communications, a wide spectrum of online activities, and development of various in-world teaching and learning tools. We have experimented with Second Life in two computer science classes, one at Ohio University, the other at the University of Mary Washington, to enhance software engineering education. We used Second Life as an innovative collaboration and communication tool both in and outside classroom to help facilitate teamwork and interactions among student project team members. Second Life was also used as the virtual office for instructors and teaching assistants to answer students' questions during office hours. In addition, we developed two multi-player online software engineering educational games in Second Life, one based on the Groupthink software specification exercise developed at M.I.T., and the other based on the SimSE game (a 2-D single player game) developed at UC Irvine. By playing these two games, students learned fundamentals of software specification activities and principles of software development processes. In the paper, we will share our experience of using Second Life in two software engineering classes, and discuss its pros and cons based on the data collected from student surveys. Index Terms – Software engineering education, Second Life, Virtual World, Groupthink, SimSE INTRODUCTION Much attention has lately been given to the connection between video games and education. As pointed out in [1], video games can “teach higher-order skills such as strategic thinking, interpretative analysis, problem solving, plan formulation and execution, and adaptation to rapid change”. These skills are what the U.S employers want from their employees. Among the various game categories, threedimensional Online Virtual Worlds are one of the most powerful forms for game-based learning. Three-dimensional Online Virtual Worlds such as Second Life [2, 3] support avatar-based communications, a wide spectrum of online activities, and development of various inworld teaching and learning tools. In the past few years, educators in areas such as architecture and law have adopted virtual worlds in teaching and learning. To the best of our

knowledge, though, no one else has adopted the Second Life virtual world in the software engineering class. We have experimented with Second Life in two computer science classes, one at Ohio University, the other at the University of Mary Washington, to enhance software engineering education. We used Second Life as an innovative collaboration and communication tool both in and outside classroom to help facilitate teamwork and interactions among student project team members. Second Life was also used as the virtual office for instructors and teaching assistants to answer students' questions during office hours. In addition, we developed two multi-player online software engineering educational games in Second Life, one based on the Groupthink software specification exercise developed at M.I.T. [4, 5], and the other based on the SimSE game (a 2-D single player game) developed at University of California at Irvine [6, 7, 8]. By playing these two games, students learned fundamentals of software specification activities and principles of software development processes. According to the data collected from student surveys, we found that 34 percent of the 29 students who played the online Groupthink game thought the game was definitely helpful, and 59 percent thought the game was somewhat helpful. For the online software engineering process game, 34.6 percent of the 26 students who played the game thought the game was definitely helpful, and 57.7 percent thought the game was somewhat helpful. In the paper, we will share our experience of using Second Life in two software engineering classes and discuss its pros and cons. As 3-D virtual worlds gain popularity as an educational tool, we expect many in the software engineering education community to find our experience informative. BACKGROUND I. Second Life Second Life (SL) is one of the most popular 3-D Online Virtual Worlds. Virtual World, also known as Synthetic World [9], is a computer-simulated persistent environment similar to the real world. It is usually created for its users (also known as residents) to inhabit and interact through avatars. An avatar is the user’s representation in the virtual world. Like many other virtual worlds, SL can support massively multiplayer to be

1

En Ye, School of Electrical Engineering and Computer Science, Ohio University, Athens, Ohio 45701, U.S.A., [email protected] Chang Liu, School of Electrical Engineering and Computer Science, Ohio University, Athens, Ohio 45701, U.S.A., [email protected] 3 Jennifer A. Polack-Wahl, Department of Computer Science, University of Mary Washington, Fredericksburg, VA 22401, U.S.A, [email protected] 2

1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference T1E-8

Session T1E online at the same time. Thus it is also called a massively multiplayer online game. SL includes two kinds of text-based communication methods: chat, and Instant Message (IM). Chat is usually used to talk with other residents locally in a public fashion, and all the residents nearby within a certain distance can hear it. IM is used for private conversation among two or more people. Other people cannot hear it even they are nearby. SL also provides various gestures and animations to enrich communication. In the near future, SL will also add support for voice chat through Voice over Internet Protocol (VoIP). SL provides a wide spectrum of online activities, including arts, science, sports, and education. Within it, the residents can explore, meet other residents, socialize, and participate in all kinds of activities. For example, you can attend really good performance played by famous artists and musicians, which is free. SL also provides powerful creation tools including a 3-D modeling tool, and a script language Linden Script Language (LSL). Anything you imagine can be created by them. Meanwhile, you own the intellectual property of your creations. Most of the contents in SL are actually created by its users using these tools. Since SL support avatar-based communications, a wide spectrum of online activities, and development of various inworld teaching and learning tools, in the past few years, educators in areas such as architecture and law have adopted it in teaching and learning. II. The Groupthink Specification Exercise The Groupthink specification exercise is a software specification game originally developed at M.I.T. [4, 5]. It aims to teach students the importance of software specifications. It is a fun, game-like group activity, through which, students learn teamwork and communication in the specification process unconsciously. The game divides the students into several groups, and tests the ability of a group to reach consensus on software specification. Group sizes had better to be kept consistent, because smaller groups may enjoy an advantage. Each group will be given a period of time to discuss specifications. After the discussion, several questions related to the specifications will be given to the students one by one. Group members are not allowed to communicate during the period of answering the questions. The instructor then reveals the answers, ensuring anonymity and preventing groups from blaming one individual who is giving different answers than the rest. Differences in answers are a failure of the group to reach consensus and to ensure understanding, not a failure of the individual. Each group receives one point for each answer with a plurality of votes, plus ten points if all answers agree. For example, if three team members answer “A”, four answer “B”, and two answer “C”, the team receives four points. If one team member answers “A”, one answers “B”, and seven answer “C”, the team receives seven points. If all nine team

members answer “B”, the team receives nineteen points (nine points plus ten bonus points). The winner of the game is the group getting highest points at the end. III. The SimSE game SimSE is a 2-D single player software engineering process simulation game developed at UC Irvine [6, 7, 8]. It aims to teach students the principles of the software engineering process through a fun game. In this game, the player serves as the project manager, in charge of a medium-size software engineering project team. The player plays the game mainly by assigning the tasks to software engineers according to their strengths, and then adjusting the assigned tasks according to various events happened at the game, e.g. the customer changes the requirement. The player can buy software engineering tools such as an IDE to improve the software engineers’ efficiency. The player can also motivate the software engineers’ enthusiasm by raising the salary, or giving bonus. The goal of the game is to release the software as complete as possible, as soon as possible, and with as few errors as possible. If the player cannot deliver the software by the deadline, or if the project cost exceeds the limit, the player fails in the game, otherwise, a score will be given when the player delivers the software based on his or her performance. THE STUDY To determine whether and how a 3-D Online Virtual World like SL can enhance the software engineering education, we experimented with Second Life in two computer science classes, one at Ohio University (OU), the other at University of Mary Washington (UMW) in Fall Quarter/Semester 2006. In this study, we did not use the control group method because of two reasons. First of all, since the number of the students in each class is too small (less than twenty), it is hard to divide them into two groups. Secondly, the class at OU adopted service-learning approach [10], thus different projects and different scoring criteria were used in different quarters. Therefore, the data from different quarters could not be used for comparison. I. Background The course chosen at Ohio University is CS456/556 “Software Design and Development” offered to upper-level computer science and computer engineering undergraduate students, and computer science graduate students. The class meets twice weekly in two 110-minute sessions for ten weeks. In addition, there is a two-hour final demonstration and presentation session in the eleventh week. In this quarter-based course, form quarter-long project teams of four to six students, and engage in service-learning activities to develop real world software applications for community partners [10, 11, 12]. From this course, students learn the Unified Software Development Process and use the Unified Modeling Language (UML) to design and develop software projects. Additionally, they learn how to work productively in a team environment

1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference T1E-9

Session T1E and how to communicate effectively with project clients, supervisors, and teammates [13, 14, 15]. The course chosen at University of Mary Washington is CPSC 390 “Software Engineering”, offered upper-level computer science undergraduate students. The class meets twice weekly in two 110-minute sessions for fourteen weeks. In addition, there is a two and a half hour final exam in the fifteenth week. This semester-based course attempts to help students prepare for application development and their future jobs by teaching a variety of software development life cycle models, UML, and an assortment of CASE Tools including Rational Rose, Microsoft Visio, and Microsoft Project. Students must select an appropriate software development life cycle model for their project and then apply appropriate requirements, analysis, design and testing methodologies to that project. This class requires that students work in groups just as if they were in a company. In Fall Quarter/Semester 2006, seventeen students from Ohio University, and thirteen students from University of Mary Washington took these two courses. Most of the students and the instructor (i.e. the third author) of CPSC 390 never used SL before. The instructor (i.e. the second author) and the graduate assistant of CS 456/556, the graduate assistant (i.e. the first author) of CPSC 390 have learned SL before. The second author offered another course CS490/590 named “Massively Multiplayer Games” in Summer Quarter Session 1 2006. The course project was to require the students to develop a game in SL. Both the first author and the graduate assistant of CS 456/556 took this course. II. SL as a communication tool Firstly, we used Second Life as an innovative collaboration and communication tool both in and outside classroom. Second Life was also used as the virtual office for instructors and teaching assistants to answer students' questions during office hours. To utilize the innovative communication tools provided in SL, we gave an assignment at the beginning of the quarter, asking every student to register a SL ID and learn to move around in SL. Then we encouraged the students to use SL to help facilitate teamwork and interactions among their team project. Meanwhile, we offered an online office hour at SL, besides the traditional office hour. For CPSC 390, since the instructor never used SL before, and the graduate assistant is studying in OU, far away from UMW, SL online office hour is the main communication means between him and the students.

OU. Therefore, we decided to develop a teaching aid for the Groupthink exercise in SL. In this SL version game, all the players will form a group by sitting around a table. Then every question will be shown in a pop-up dialog. The player answers the question by clicking the proper choice in the dialog. After all the players answer a question, the points and the choice statistics for each group will be shown in the chat box in SL. Finally, the final score of each group and the winner will also be announced in the chat box. Therefore, all the players can know the status and the final result of their teams in time. Figure 1 showed the students in CS456/556 playing the SL version of the Groupthink game.

FIGURE 1 A SCREEN SHOT OF THE GROUPTHINK GAME IN SL

After covering the knowledge about requirement analysis, we used this SL version game once in each class. After that, we asked the students to finish an anonymous survey about the game. All the surveys in these two classes are provided online through SurveyMonkey [16], a website providing powerful tools for creating web surveys, and helping you calculate the results. IV. The Multiplayer Online Software Engineering Process game in SL

We also used the SimSE game from UCI in the CS456/556 class offered in previous quarters. Since it is a single-player offline game, we asked the students to play it at least twice by themselves, and then post the first score and the highest score in a class Wiki page. According to feedbacks from the instructor and the students, we found that although it was a good game for the students to understand the software engineering process, it could not really provide the students the simulated experience as the software engineers, especially the communication and collaboration with other team III. The SL teaching aid for the Groupthink game members in a project. This is because it is a single-player version game, within which, instead of a software engineer, We used the Groupthink exercise from M.I.T. in the the player serves as the project manager. Therefore, we CS456/556 class offered in previous quarters. At that time, we decided to develop a Multiplayer Online Software collected the votes, and calculated the score manually. Then it Engineering Process (MO-SEProcess) game based on the turned out to be a time-consuming and error-prone process. SimSE game. Currently, the MO-SEProcess game only Although the Groupthink exercise did provide the electronic supports the traditional waterfall model. We plan to add more technique for this process, it required the hardware support, models later. i.e. a hand-held answer machine, which was not available in In the MO-SEProcess game, six software engineer roles are provided. The players can choose any role they want, but 1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference T1E-10

Session T1E can only be in charge of the chosen role. All the players joining the game will form a software development team. During the game, the player can interact with each other through various communication means provided in SL. A team score will be given at the end of game if the team can deliver the product before the deadline. To get the good score, all the players need to not only work on their own part, but also collaborate with each other. This is very similar to the real case in the industry. A screen shot of the students in CPSC 390 playing the MO-SEProcess game is shown in Figure 2.



“The fact that it allows for communicating in a virtual world with other individuals, which may be more familiar for us Computer Science majors. Also, the virtual communication helps remove some inhibitions we may have toward contributing our ideas or feelings about a subject.” Six students preferred the customizable and interactive environment. Other students just said that SL is fun, cool, easy to use, etc. Twenty-seven students responded to the second question. Among them, ten students thought the lag due to the Internet connection needed to be improved. Three students complained that it is difficult to learn how to use SL. Other students gave all kinds of answers, such as the bad graphics, boring environment, and buggy software. The lag due to the Internet connection is really one of the biggest problems reported in SL community. Running SL smoothly requires a high-speed Internet connection, while the students in CS456/556 class used weak wireless Internet connection to access SL. To solve this problem, we are planning to use the computer lab in our department, which provide high-speed wired Internet connection. II. Effects of the online Groupthink game

FIGURE 2 A SCREEN SHOT OF THE MO-SEPROCESS GAME IN SL

After covering the knowledge of all the phases in the traditional software engineering process, we asked all the students to play the MO-SEProcess game once during the class. Since the students already formed into teams for their term project at this time, we used the same team structure for this game. We created several copies of the game in SL, so that all the teams could play at the same time. This provided a chance for them to compete against each other, which, in turn, made them to be more serious in playing the game. After that, we asked the students to finish an anonymous survey about the game. EVALUATION I. Effects of Second Life After playing the online Groupthink game, seventeen students in CS 456/556, and twelve students in CPSC 390 responded to a survey for the Groupthink exercise. There are two openended questions related to SL in the survey: “Which aspects of Second Life in general do you like most? Why?”, and “Which aspects of Second Life in general need to be improved? Why?”. Twenty-eight students answered the first question. Among them, six students liked most the communication means provided in SL. Some interesting comments are listed below: • “Being able to communicate with people over the net, because sometimes group-mates schedules just won’t allow face to face contact.”

After playing the online Groupthink game, seventeen students in CS 456/556, and twelve students in CPSC 390 responded the survey for the Groupthink exercise. There are three questions related to the online Groupthink game: one multiple choice question and two open-ended questions. The result of the multiple-choice question is shown in Table 1. From the table, we can see that 34 percent of the 29 students thought the game was definitely helpful, and 59 percent thought the game was somewhat helpful. TABLE I STUDENT RESPONSES TO ONE MULTIPLE-CHOICE QUESTION IN THE SURVEY Question Definitely Somewhat No yes How helpful was the Second 10 34% 17 59% 2 7% Life game in the groupthink exercise?

Twenty-five students answered the open-ended question “Which aspects of the Second Life game for groupthink were most helpful to you and the class? Why?”. Eight students said that instant scoring was most helpful, which is the main purpose to develop this online version game. Eight students mentioned that they learned the team work skill from this game. Some other students used the interactivity and communication provided by SL as the answer, which is actually the helpful features of the whole virtual world, not just of Groupthink game. As regard to another open-ended question “Which aspects of the Second Life game for groupthink need to be improved? Why?”, twenty-four students responded. Still six students said the connection to SL was needed to be improved. The other three main problems reported are:

1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference T1E-11

Session T1E • • •

The scoring criteria are not so balanced if the teams do not have the same size. The question and the score are only shown in the chat box, thus are easily messed up with other messages. The response time for each question is not shown in the game.

III. Effects of the MO-SEProcess game After playing the MO-SEProcess game, fifteen students in CS 456/556, and eleven students in CPSC 390 responded the survey for the MO-SEProcess game. The result of two multiple-choice questions in the survey is shown in Table II. From the table, we can see that 34.6 percent of the 26 students thought the game was definitely helpful, and 57.7 percent thought the game was somewhat helpful. TABLE II STUDENT RESPONSES TO TWO MULTIPLE-CHOICE QUESTIONS IN THE SURVEY Question Definitely Somewhat No yes Did the game help you 9 34.6% 15 57.7% 2 7.7% understand the software developing process in a team project? If perfectly implemented and played on computers with good graphic cards and highspeed internet connection (i.e. ignoring bugs and network/computer problems), would this game help you understand the software developing process in a team project?

11

42.3%

14

53.8%

1

3.8%

The 25 students’ answers to the open-ended question “What kinds of the software developing process rules did you learn from the game (e.g. design before coding, or always test everything)?” showed us that all the students did learned some rules from the game, except one students said that “nothing more than from the other games like SimSE”. Eight students mentioned the rule of following the right order of waterfall model: requirement-design-coding-test. The importance of review and test is also emphasized by six students. The other students learned the rule about communication, the number of people on a task and the whole project, and the rest from the game. As regard to another open-ended question “Which aspects of the game were most helpful to you and the class? Why?”, 72.7 percent (16) of the 22 students thought the communication and collaboration among the team is the most helpful skill they learn from this game. That is just the purpose of developing this game in SL instead of using SimSE. Here are some students’ answers to this question: • “The fact that we had to communicate as a team and know about our team members' strengths and weaknesses.” • “The problem of communicating who is doing what and when.”



“Cooperation and communication with our teammates. I think this is a big issue with my current project group but we are learning to do this more effectively.” • “The aspect that you had to work as a team to get a good score. This is helpful because you must do this in real life when developing software.” • “The ability to view the overall process and work interactively in a "team" environment in this virtual world.” • “It helps us to improve our team-work skill.” There are two questions related to the improvement of the MO-SEProcess game: “To better reflect software development processes in the real world, how should the game be improved?”, and “Which other aspects of the game need to be improved?”. Most students would like to see more features such as the incremental model, the salary and bonus for developers, and the individual player statistics. CONCLUSIONS AND FUTURE WORK Overall, according to the data collected from student surveys, we found that using teaching aids, especially two software engineering games, in SL was helpful in improving students’ learning of the fundamentals of software specification activities and principles of software development processes. The students also gave valuable feedbacks on SL itself, and two online games in SL. We will try to relieve the problem caused by SL, especially the lag problem, and improve the two games according to the feedbacks. ACKNOWLEDGMENT We would like to thank Reuben S Dlamini and all students in the two focus courses for their cooperation in this study. This work was supported by the National Science Foundation under the Grant No, DUE#0510198. REFERENCES [1]

Federation of American Scientists. Summit on Educational Games: Harnessing the power of video games for learning. http://www.fas.org/gamesummit/Resources/Summit%20on%20Educatio nal%20Games.pdf

[2]

Second Life. http://www.secondlife.com

[3]

M. Rymaszewski, W. J. Au, M. Wallace, C. Winters, C. Ondrejka, B. Batstone-Cunningham, and S. L. residents from around the world. Second Life: the office guide. Wiley Press, 2007.

[4]

Michael D. Ernst. The Groupthink specification exercise. In Software Engineering Education in the Modern Age: Challenges and Possibilities, vol. 4309, pp. 89-107, 2006.

[5]

M. D. Ernst and J. Chapin. The Groupthink specification exercise. In ICSE ’05: Proceedings of the 27th international conference on Software engineering, pp 617–618, 2005.

[6]

E. O. Navarro and A. van der Hoek. SimSE: An interactive simulation game for software engineering education. In CATE ’04: Proceedings of the 7th IASTED International Conference on Computers and Advanced Technology in Education, 2004.

[7]

E. O. Navarro, A. Baker, and A. van der Hoek. Teaching software engineering using simulation games. In ICSIE ’04: Proceedings of the 2004 International Conference on Simulation in Education, 2004.

1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference T1E-12

Session T1E [8]

E. O. Navarro and A. van der Hoek. Towards game-based simulation as a method of teaching software engineering. In FIE ’02: Proceedings of the 2002 Frontiers in Education Conference, 2002.

[9]

E. Castronova. Synthetic Worlds: The Business and Culture of Online Games. University of Chicago Press, 2005.

[10] Chang Liu. Enriching software engineering courses with servicelearning projects and the open-source approach. In ICSE ’05: Proceedings of the 27th international conference on Software engineering, pp 613–614, 2005. [11] Chang Liu. Partnering with and Assisting Community Partners in Service Learning Projects to Tailor and Articulate Project Requirements. In FIE ’05: Proceedings of the 2005 Frontiers in Education Conference, Indianapolis, Indiana, USA, October 19 -22, 2005.

North Central Section Spring Conference, Ohio Northern University, April 7 & 8, 2005. [13] Chang Liu. Using Issue Tracking Tools to Facilitate Student Learning of Communication Skills in Software Engineering Courses. In CSEET ’05: Proceedings of the 18th Conference on Software Engineering Education and Training, Ottawa, Canada, April 18-20, 2005. pp. 61-68. [14] Chang Liu, Karin Sandell, and Lonnie Welch. Teaching Communication Skills in Software Engineering Courses, the 2005 ASEE Annual Conference and Exposition, Portland, Oregon, June 12-15, 2005. [15] Chang Liu. Software project demonstrations as not only an assessment tool but also a learning tool. ACM SIGCSE Bull. Volume 38, Issue 1, 2006, pp. 423-427. [16] SurveyMonkey. http://www.surveymonkey.com/

[12] Chang Liu and Christine Wolfe. Project Selection in Software Project Courses. The 2005 American Society of Engineering Education (ASEE)

1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference T1E-13