SIGCSE 2008 NSF CCLI Showcase
From VitalWiki
Contents |
Supporting Service-Learning Projects in Software Engineering Project Classes
Abstract
Service-learning projects give students opportunities to work on real-world projects for real clients and expose them to unique issues and challenges not found in hypothetical academic projects. It is therefore helpful to introduce service-learning projects in Software Engineering project classes so that students can learn to apply Software Engineering tools and methodologies in real-world settings, and sharpen their communication and teamwork skills through the process. It is a challenge, however, to manage real-world projects, often based on substantial code base, in single-term courses. To address this problem, we developed and integrated a number of learning aids and teaching techniques to facilitate the adoption of real projects based on large, existing code base in single-term project courses. Our learning aids and teaching techniques include:
- Simulated team project process exercise in 3-D online virtual worlds
- Simulated team software specification exercise in 3-D online virtual worlds
- Adoption of Wiki as a tool to facilitate team communication
- Shared code segments from previous assignments among students
We have applied these learning aids and teaching techniques in a Software Engineering project class at Ohio University several times. Some of them were also applied in a Computer Science project class at University of Mary Washington. Preliminary results show that these learning aids and teaching techniques were effective in motivating students and enhancing their learning. They facilitated successful adoption of service-learning projects in our single-quarter classes.
Introduction
Background: the focus class
Background: Second Life
Approach
An integration of the following learning aids and teaching techniques:
- Simulated team project process exercise in 3-D online virtual worlds
- Simulated team software specification exercise in 3-D online virtual worlds
- Adoption of Wiki as a tool to facilitate team communication
- Shared code segments from previous assignments among students
- Version control systems
- Issue tracking tools
