ICETA 2014 • 12th IEEE International Conference on Emerging eLearning Technologies and Applications • December 4-5, 2014, Starý Smokovec, Slovakia
Collaboration in Software Engineering classroom Vladimir Vujović*, Mirjana Maksimović* and Branko Perišić** *
Faculty of Electrical Engineering, East Sarajevo, Bosnia and Herzegovina ** Faculty of Technical Sciences, Novi Sad, Serbia
[email protected],
[email protected],
[email protected] to be used by students. With online technology learning tools becoming more popular, readily available and accessible to multiple devices, teachers have increasingly begun to implement these tools into the design of their course to enhance learning and to assess student progress. It means that teachers have to consider the appropriate teaching and learning strategy that provides the opportunity for students to learn essential concepts and practice or demonstrate skill attainment [2]. Teaching and learning activities that support increased student learning are: • Strategies that introduce student activity into the lecture • Strategies that promote student engagement, • Collaborative learning • Cooperative learning • Problem-based learning, and • Team-based learning.
Abstract — The rapid computer and communication technologies development have dramatically influenced the educational process in recent decades. Thus, the learning itself, considering a learner and the influence of learning environment, has to be re-conceptualized. Relying on modern teaching and learning activities, the collaboration, involving the interaction with others, critical approach to other people work, and acceptance of criticism and alternative viewpoints, has become especially important aspect of any engineering education. Computer supported collaborative learning (CSCL) appears as one of the basic learning strategies in education processes nowadays that increases the overall knowledge of the participating learners. In this paper, using the CSCL principles, we have described the importance of: interaction; cognition and context; and collaboration within the networked computermediated environment, in the engineering education process. Besides that, two open source software products have been extended in order to provide the interactive CSCL environment that stimulates students’ interaction and aids the creativity and critical thinking development.
II. THE ACTIVE LEARNING STRATEGIES The active learning is the process by which a student independently, or collaboratively with own peers, identifies own learning objectives and seeks the information necessary to meet the objectives and/or contributes to the learning of a group with information that he or she prepares and discusses [3]. Student-centered teaching methods shift the focus of activity from the teacher to the students. These methods include active learning, in which students solve problems, answer questions, formulate questions of their own, discuss, explain, debate, or brainstorm during class [4]. In this way students optimize the educational experience (by focusing effort on useful information that they don’t possess and exposing them to information that they don’t have access to through passive observation); and encode information and retaining it over time [5]. In inductive teaching and learning methods students are first presented with challenges (questions or problems) and learn the course material in the context of addressing the challenges while in cooperative learning methods they work in teams on problems and projects under conditions that assure both positive interdependence and individual accountability [4]. Team-based learning (TBL) is one teaching strategy that was developed to make classroom learning more active. It has been described as a special form of collaborative learning using a specific sequence of individual work, group work and immediate feedback. In this process, students acquire their initial exposure to the content through readings and are held accountable for their preparation using a Readiness Assurance Process
I. INTRODUCTION With the rapid expansion of information communication technologies, there is a high level of interest in harnessing modern technology to help advance the educational process. It is noticeable that technological innovation has now changed the way that universities teach and students learn. Teaching with technology is about knowing how to successfully incorporate the best tools into the teaching process (when and where it makes sense). When students are using technology as a tool or a support for communication with others, they are in an active role rather than the passive role of recipient of information transmitted by a teacher, textbook, or broadcast. In this way the student actively makes choices about how to generate, obtain, manipulate, or display information. In other words, by using the technology as a tool to perform authentic tasks, the students are in the position of defining their goals, making design decisions, and evaluating their progress. On the other hand, the teacher in this case plays the role of facilitator, setting project goals and providing guidelines and resources, moving from student to student or group to group, providing suggestions and support for student activity [1]. Thus, it can be stated that the traditional method of teaching that’s persisted for hundreds of years nowadays acquires inferior results when compared with the more modern and revolutionary teaching methods that are available for use in schools today. Much education software exists on the market today. Educational software is a broad category that encompasses many different software titles and its category includes software designed for teachers and software that is created
978-1-4799-7740-6/14/$31.00 ©2014 IEEE 505
V. Vujović et al. • Collaboration in Software Engineering classroom
• • • • • • • • •
(RAP). The RAP process is essential, and may be fulfilled by preparatory instruction such as lecture, reading or other independent study [3]. The advantages of TBL include improved attendance, increased pre-class preparation, better academic performance, and the development of interpersonal and team skills. The components of TBL are very adaptable to many situations, disciplines and classroom types. Problem-based learning (PBL) is a student-centered approach in which students learn about a subject by working in groups to solve complex and authentic problems that help develop content knowledge as well as problem-solving, reasoning, communication, and selfassessment skills [6]. In other words, through this active learning strategy, students learn to [7]: • Solve real-life problems • Develop the ability to find and use appropriate resources for problem solving • Employ effective self-directed and self-motivated learning skills • Continuously monitor and assess the adequacy of their own knowledge and their problem-solving skills, and • Through team work develop communication and leadership skills, social and ethical skills. The reasons cited by the active learning strategies, TBL and PBL, which rely on the cooperation of the participants, showed the seriousness and the necessity to apply the collaborative learning that presents an instruction method in which learners at various performance levels work together in teams toward a common goal. The learners are responsible for one another's learning as well as their own. Thus, the success of one learner helps other students to be successful [8]. The term cooperative learning (CL) satisfies five criteria: positive interdependence, individual accountability, faceto-face or online interaction, appropriate use of collaborative skills, group processing and can be used in for any type of assignment that can be given to students in lecture classes, laboratories, or project-based courses [9]. In other words, it refers to students working in teams on an assignment or project under conditions in which certain criteria are satisfied, including that the team members be held individually accountable for the complete content of the assignment or project [10]. It is more directive than a collaborative system of governance and closely controlled by the teacher. While there are many mechanisms for group analysis and introspection, the fundamental approach is teacher centered whereas collaborative learning is more student centered [11]. It means that in cooperative learning the task is divided vertically (i.e., members work more or less concurrently on different aspects of a project), whereas in collaborative learning the task is divided horizontally (i.e., members work together more or less sequentially on different aspects of a project) [12]. In general, the active learning strategies are essential for enhancing student learning and have the following benefits [2]: • Significantly improves short-term and long-term recall of information • Significantly improves student academic performance
Increases conceptual understandings Improves retention in academic programs Increases student attention Promotes student engagement Addresses students’ misconceptions Develops enhanced critical thinking skills Improves students’ self-esteem Improves interpersonal relationships Improves teamwork skills. III.
COLLABORATIVE LEARNING
Collaborative learning is an approach to teaching and learning that involves groups of students working and learning together to complete a task, solve a problem or create a product. It differs from traditional teaching approaches because students work together rather than compete with each other individually. In this way it brings positive results such as deeper understanding of content, increased overall achievement in grades, improved selfesteem, and higher motivation to remain on task [13]. Some activities or assignments well suited for collaborative learning include: case studies, discussions, student-moderated discussions, debates, collaborative writing, collaborative presentation, games, and demonstrations. Benefits of collaborative learning can be summarized in [12]: • Engage in subject specific discussions with peers • Learn how to work cooperatively and support each other • Develop effective teamwork and communication (including interpersonal and cross cultural awareness) skills • Assimilate multiple views to deepen knowledge and promote critical thinking • Foster individual accountability to the team • Develop independent learning strategies • Structure out-of-class learning • Mitigate learner isolation. There are three key conditions for effective collaborative learning: • Group composition • Task features • Communication media. Whatever task and group members have been selected, the collaboration may not work if the medium used for communication is not adequate. The ability to combine two ideas - computer support and collaborative learning, or technology and education - to effectively enhance learning, remains a challenge that computer - supported collaborative learning (CSCL) is designed to address (Fig. 1). CSCL is a rapidly evolving field in the learning sciences which involves learning together with the help of computers. It proposes the development of new software and applications that bring learners together and that can offer creative activities of intellectual exploration and social interaction [14].
506
ICETA 2014 • 12th IEEE International Conference on Emerging eLearning Technologies and Applications • December 4-5, 2014, Starý Smokovec, Slovakia
learning support in SE courses at the Faculty of Electrical Engineering in East Sarajevo. Open source software "Redmine" [19] is chosen as PMS software. A Redmine can provide a whole set of tools which can support an active learning process (TBL and PBL), and partially a collaboration learning method. Eclipse Integrated Development Environment (IDE) [20] is selected as the primary tool for solving a tasks and development process. Eclipse IDE is de facto a standard in the Software development process today, because of its flexibility, extensibility, and possibility for upgrading with different plug-in. It also supports a connection to CVS system and Redmine through plug-in, which provide students a complete environment for the educational process of Software engineering. An Infrastructure diagram of created system is shown in Fig. 2.
Figure 1. The multidisciplinary field of CSCL [15]
CSCL is often conflated with e-learning. In this respect, elearning platforms provide students with specific tools, enabling them to collaborate and/or to cooperate so to reach common objectives. Thus, online teaching requires at least as much effort by human teachers as classroom teaching. CSCL also stresses collaboration among the students (face to face and online), so that the learning takes place largely through interactions among students. They learn by expressing their questions, pursuing lines of inquiry together, teaching each other and seeing how others are learning. It means that within CSCL, the focus of learning is on learning through collaboration with other students rather than directly from the teacher. Therefore, the role of the computer shifts from providing instruction - either in the form of facts in computer-aided instruction or in the form of feedback from intelligent tutoring systems - to supporting collaboration by providing media of communication and scaffolding for productive student interaction. The primary form of collaboration support is for the computer to provide a medium of communication (email, chat, discussion forums, video conferencing, instant messaging, etc.). CSCL systems typically provide a combination of several media and add special functionality to them. In addition, CSCL software environments provide various forms of pedagogical support or scaffolding for collaborative learning. In most cases, the role of the computer is secondary to the interpersonal collaboration process among the students (and, often, the teacher, tutor or mentor). The software is designed to support, not replace, these human, group processes [15].
Figure 2 Infrastructure diagram of learning system at Faculty of Electrical Engineering in East Sarajevo
Adding an implementation for full support of collaborative learning is the next goal. It must be based on created system, but also it must provide a set of tools for colleagueship. In the next section it will be described an expansion of Redmine and Eclipse IDE for support of collaboration. V.
INTEGRATION OF COLLABORATING TOOLS IN EDUCATIONAL SOFTWARE SYSTEM
As it mentioned before, a two main part of the educational system used as learning support in SE courses at the Faculty of Electrical Engineering in East Sarajevo, are Redmine and Eclipse IDE. Both of them must be extended with possibility to support collaboration in teams and projects. Extensions are based on open source software. For Redmine a BigBlueButton [21], an open source web conferencing system for online learning, is used. BigBlueButton enables sharing a document (PDF and any office document), webcams, chat, audio and desktop. It can also be used for recording sessions for later playback. Main features of BigBlueButton are: Record and Playback, Whiteboard, Desktop sharing, Integrated VoIP, Presentation, Webcam and sound control. Two elements are used to support collaboration in Eclipse IDE. First is an Openfire [22] real time collaboration (RTC) server, which is based on widely adopted open protocol for instant messaging - XMPP
IV.
COLLABORATION IN THE EDUCATIONAL PROCESS OF LEARNING A SOFTWARE ENGINEERING Software Engineering (SE) is nowadays a matured discipline with the well-defined Body of Knowledge (SWEBOK Version 3.0) [16], Curriculum Standards (IEEE and ACM) [17] and Code of Ethics [18], and because of that it needs a detailed approach. Using active learning strategies, a main goal of Knowledge Areas, that are formulating the context of SE education, can be complete. An educational process must prepare students for the real working environment, which is primarily based on collaboration with other people and using a set of tools which can be used for finalizing given tasks. A complex system based on virtualization, Version Control System (VCS) and Project Management Software (PMS) (primarily used as a Learning Management System (LMS) for courses of Software engineering) is used as
507
V. Vujović et al. • Collaboration in Software Engineering classroom
(also called Jabber). Openfire is increddibly easy to setup and administer, but offers rock-solid security s and great performance. A second element is a Saros S [23], a realtime Open Source collaborative editor for fo eclipse projects. A Saros which is used for distribuuted, collaborative software development where all collaaborators have an identical copy of Eclipse projects and two t or more users can jointly edit files in the project. Each E user has and modifies his or her own copy of the file locally, and Saros keeps these copies in sync by transmittiing each change to all of the other collaborators using an XMPP/Jabber protocol. Saros can be used in various sccenarios like: Joint review (one participant follows the other participant), Introducing beginners (each particippant can edit a different part of the file), Distributed Paarty Programming (Two or more participants work togeether in a loosely coupled fashion. They work independeently much of the time, but can call one of the others to help h whenever they need arises.) and Distributed Pair Prrogramming (is a particular form of Distributed Party Programming in i continuous close which two people develop code or text in collaboration, discussing the approach and a combining the best of their ideas). For supporting this scenario Saros has me File Editing, features like: Collaborative Real-Tim Arbitrary Number of Participants, Several S concurrent writers, Various sharing options, Communication, Awareness Information, Follow-Modde, Inconsistency Detection and Whiteboard.
Installation of the server deppends on Linux operating system. Using a setup guidee from official page, and distribution package, a setup of BigBlueButton components and all their depenndencies is done through a single command. The packaginng will do all the work for installation and configuration of BigBlueButton server. n to add a plug-in After Server installation, it is necessary in Redmine for communicatioon between Redmine and BigBlueButton server. A plugg-in can be found on the official Redmine plug-in pagee, with detailed description of the installation process. A detailed setup of plug-in, which can be found on the Redmine administrator tool, must be done after plug-in instaallation. After finishing an installattion of BigBlueButton and a plug-in for Redmine, user caan easily manage usage of BigBlueButton system. An integration of BigBlueButton in Redmine environment is shoown in Figure 3.
Figure 3 Integration of BigBlueButtonn plug-in in Redmine environment
The plug-in provides thhat every project has a possibility to start a Web meeeting, which will create a "room" on BigBlueButton servver. Every user or student who is a part of a project team, can easily access the created Web meeting by seleccting a Web meeting link from a project overview page. w of BigBlueButton Figure 4 shows a main window Web meeting room.
A. Collaboration support in Redmine For using a BigBlueButton in collaaborative class, the first step is to setup a BigBlueButton server. BigBlueButton server is Open source sooftware and can be downloaded from the official BigBlueeButtonweb page.
Figure 4 A BigBlueButton main window
sound and video, a team can create a virtual classroom where they can interact with each other. A main and powerful element is Presenntation view. It supports
Using a set of tools which are provided by BigBlueButton, students can easily excchange an idea of how to solve a given problem. Using an a integrated chat,
508
ICETA 2014 • 12th IEEE International Conference on Emerging eLearning Technologies and Applications • December 4-5, 2014, Starý Smokovec, Slovakia
•
various types of files, which can be upploaded, presented and discussed with team members. A Presentation view w can be used also supports a simple drawing object which for explaining and marking a presentedd file. A Redmine extension with BigBlueButton can provide a fully collaborative environment for studeents, and give a support for the distributed learning proccess.
Saros View – contain contacts, sessions, chat and session controls. • Saros Whiteboards – used for painting and presenting an idea. Contain C a simple graphical objects and text. • Remote Screen – is used for connecting on colleague's computer. After logging on the server with w Saros, a Contacts on Saros View, is updated with coontact list from the server. All active contacts have collorized icon, and can be contacted via embedded chat. Figure F 5 shows Saros View with contacts and opened chat.
B. Collaboration support in Eclipse ID DE After installation of Openfire server, an administrator setup is needed to be performed. Serverr settings provide a domain address, ports and encryption. Because Openfire can be used with external or embedded database, database settings provide a selection and manaaging of database system. After initial setup, an administrrator can be logged in administrator console, where a detaailed setup can be done. A detailed description of the setuup Openfire server can be found in official documentation.. For collaboration in Eclipse IDE, a main task in Openfiree is setup users and groups. Every user on the Openfire seerver must have a unique username, which will be used foor authentication to server through clients, in our case a Saros. S In Openfire, users also can be created through LDAP P service. A group can be created and defined based on existed users, and Openfire can take a control off managing and disseminating a contact list to the cliients. This option provides that every user got a list of coworkers of the class related group. Access to XMPP/Jabber server cann be done through a desktop or web clients. In this case, the Saros is used, which is an Eclipse IDE plugin, and cann be installed over Eclipse update site. After installationn of Saros, a tree Views are added to Eclipse:
Figure 5 Saroos View
To start a collaborative editing of the project or single files, a session must be created and run. Only one participant can be an initiattor of a session, and he becomes a host. The host cann invite other participants, and share a project or set of projects with them. Every participant got an invitation for participation in the l copy of projects has session. After they accept, a local been created. All participants got a unique color, which makes easier to follow changges of code and files. In Eclipse Package Explorer Vieew, project and all files of project also get an extra graphical g mark for easier identification of shared elemennts. In Figure 6 is shown an Eclipse IDE with Saros plugin.
Figure 6 Eclipse IDE with Saros plug-in in action
users and Following. Both of actions are very useful in the domain of collaborative woork and learning SE.
As it can be seen in Figure 6 a Saros S from context menu provide a set of options like Resstricted access for
509
V. Vujović et al. • Collaboration in Software Engineering classroom
[5]
The conclusion that can be made at the end of this section is that Openfire server with Saros provides a complete support for collaboration in Eclipse IDE. Property selection and creation of groups can facilitate the task of collaboration in a working environment and project teams. VI.
[6]
[7]
CONCLUSION
Collaborative learning is a teaching style that has evolved over the last thirty years and is still evolving together with computer and communication technologies. In this way, collaborative learning in technologically supported environments aids the communication of ideas and information among learners and teachers, through collaborative accessing of information and documents, enabling peer feedback on learning activities. An approach to provide the interactive environment that stimulates students’ creative and critical thinking and their collaboration in teams and projects within SE courses at the Faculty of Electrical Engineering in East Sarajevo is presented in this paper. Computer-supported collaboration is enabled by extending two open source software products: Redmine and Eclipse IDE, which provide a virtual environment for brainstorming, creative thinking, a group problems solving and pair programming activities in Software Engineering courses. The presented software packages justify the use of collaboration approaches in an active learning strategy processes.
[8]
REFERENCES
[16]
[1] [2] [3]
[4]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
Effects of Technology on Classrooms and Students, [Online]: https://www2.ed.gov/pubs/EdReformStudies/EdTech/effectsstude nts.html E. Drake, D. Battaglia, “Teaching and Learning in Active Learning Classrooms,” FaCIT, 2014 Active Learning, [Online]: http://medicine.fiu.edu/education/md/learning-andteaching/resources/active-learning/index.html Student-centered teaching and learning, [Online]: http://www4.ncsu.edu/unity/lockers/users/f/felder/public/StudentCentered.html
[17] [18] [19] [20] [21] [22] [23]
510
What Makes Self-Directed Learning Effective? [Online]: http://www.psychologicalscience.org/index.php/news/releases/wh at-makes-self-directed-learning-effective.html Problem-based learning, Stanford University Newsletter on Teaching, Winter 2001 Vol.11, No.1, [Online]: http://web.stanford.edu/dept/CTL/cgibin/docs/newsletter/problem_based_learning.pdf Problem-based learning, [Online]: http://edutechwiki.unige.ch/en/Problem-based_learning Collaborative learning, [Online]: http://www.gdrc.org/kmgmt/clearn/ R. M. Felder, R. Brent, “Cooperative learning in technical courses: Procedures, Pitfalls, and Payoffs,” ERIC Document Reproduction Service Report ED 377038 (1994) R. M. Felder, R. Brent, “Cooperative learning,” Active Learning: Models from the Analytical Sciences, ACS Symposium Series 970, Chapter 4, pp. 34–53. Washington, DC: American Chemical Society, 2007 T. Panitz, “A Definition of Collaborative vs Cooperative Learning,” 1996, [Online]: http://colccti.colfinder.org/sites/default/files/a_definition_of_colla borative_vs_cooperative_learning.pdf Collaborative learning, [Online]: http://otl.curtin.edu.au/teaching_learning_practice/student_centred /collaborative.cfm Workshop: Cooperative and Collaborative Learning, [Online]: http://www.thirteen.org/edonline/concept2class/coopcollab/index_ sub1.html G. Stahl, T. Koschmann and D. Suthers, “Computer-supported collaborative learning: An historical perspective,” In R. K. Sawyer (Ed.), Cambridge handbook of the learning sciences (pp. 409426). Cambridge, UK, 2006 J. W. Sarmiento-Klapper, “Sustaining Collaborative Knowledge Building: Continuity in Virtual Math Teams,” A Thesis of Ph.D. , Drexel University, 2009 SWEBOK Version 3.0, [Online]: http://www.computer.org/portal/web/swebok/v3guide IEEE ACM Software Engineering Curriculum, [Online]: http://sites.computer.org/ccse/SE2004Volume.pdf Software Engineering Code of Ethics, [Online]: http://www.acm.org/about/se-code Redmine [Online]: www.redmine.org Eclipse IDE [Online]: www.eclipse.org BigBlueButton [Online]: http://bigbluebutton.org/ Openfire [Online]: http://www.igniterealtime.org/projects/openfire/index.jsp Saros [Online]: http://www.saros-project.org/