2:00 - 2:30 |
Knowledge Transfer in Collaborative Teams: Experiences from a Two-Week Code Camp
Software engineering has both technological and social dimensions. As development teams spanning across the globe are increasingly the norm and while the web enables massive online collaboration, there is a growing need for effective collaboration tools. In this paper, we describe experiences on collaborative programming as a tool for learning software development. To investigate the nature of collaboration in software engineering education, we arranged a two-week-long course experiment where students used a collaborative online integrated development environment to create different kinds of web services. We present lessons learned from the experiment and discuss how collaboration can act as a tool for knowledge transfer among learners.
|
|
Terhi Kilamo, Antti Nieminen, Janne Lautamki, Timo Aho, Johannes Koskinen, Jarmo Palviainen, and Tommi Mikkonen |
|
Tampere University of Technology, Finland; |
|
2:30 - 3:00 |
Quasi-Crowdsourcing Testing for Educational Projects
The idea of crowdsourcing tasks in software engineering, especially software testing, has gained popularity in recent years. Crowdsourcing testing and educational projects are natural complementary. One of the challenges of crowdsourcing testing is to find a number of qualified workers with low cost. Students in software engineering are suitable candidates for crowdsourcing testing. On the other hand, practical projects play a key role in software engineering education. In order to enhance educational project outcomes and achieve industrial-strength training, we need to provide the opportunity for students to be exposed to commercial software development. In this paper, we report a preliminary study on crowdsourcing testing for educational projects. We introduce three commercial software products as educational testing projects, which are crowdsourced by our teaching support system. We call this "Quasi-Crowdsourcing Test" (QCT) because the candidate workers are students, who have certain social relations. The investigation results are encouraging and show to be beneficial to both the students and industry in QCT projects.
|
|
Zhenyu Chen and Bin Luo |
|
Nanjing University, China |
|
3:00 - 3:30 |
Teaching Reuse-driven Software Engineering Through Innovative Role Playing
Reuse-Driven Software Engineering (RDSE) represents a development paradigm that promises to shorten development cycles and cut the costs associated with custom development by assembling systems from pre-existing software components and services. However, like most approaches that hold the promise of improving software engineering, the success of RDSE is dependent on skilled staff. This means that software engineering education remains the most effective vehicle to the community for reuse-driven technology transfer available. However, the teaching of RDSE poses many challenges to software engineering educators. These difficulties include how to make the benefits of RDSE visible to students and how to establish an acceptable balance between engineering principle and the software practice embodied RDSE. This paper describes a novel approach to teaching RDSE at Lancaster University, UK.
|
|
Gerald Kotonya and Jaejoon Lee |
|
Lancaster University, United Kingdom |
|
3:30 - 3:45 |
Towards a Supercollaborative Software Engineering MOOC
Recently there has been rapid growth in the number of online courses and venues through which students can learn introductory computer programming. As software engineering education becomes more prevalent online, online education will need to address how to give students the skills and experience at programming collaboratively on realistic projects. In this paper, we analyse factors affecting how a supercollaborative on-campus software studio course could be adapted as a project-led supercollaborative MOOC.
|
|
William Billingsley and Jim R. H. Steel |
|
NICTA, Australia; The University of Queensland, Australia |
|
3:45 - 4:00 |
Teaching Students to Understand Large Programs by Understanding Historical Context
Program comprehension is one of the most important challenges that new software developers face. Educators have sought to prepare students for this challenge through hands-on software development projects. These projects teach students effective software engineering principles. But, students often struggle to see the value of these principles in class projects, and therefore struggle to recognize them outside the classroom. The inevitable result is that these students have difficulty comprehending large programs after graduation. In this paper, we argue that a remedy to this problem is to teach the history of how software development principles were created. In this collaborative work with the Notre Dame Department of History, we present a course that blends a discussion of this history with a hands-on software project. We present a summary of the history covered in our course, and reflect on our teaching experience.
|
|
Collin McMillan and Richard Oosterhoff |
|
University of Notre Dame, United States |
|