|
|
Rationale
Successful software design and
development requires not only good technical skills but also the
ability to work well within a team. Typical computer science courses
restrict students to working alone on focused well defined assignments.
Most students have little opportunity to refine ambiguous requirements
especially in the context of working with clients and fellow students.
From the onset, this course stresses the importance of teamwork and
uses TabletPC technology to enhance the environment for communication
and collaboration. Students gain experience with software development
concepts, development tools and technology as well as social aspects of
software development. The technology is used to support a studio
approach to learning, emphasizing active and collaborative work.
|
|
|
Implementation (pedagogy)
The format of CS435: Software
Engineering (formerly called Software Design and Development) was
changed from using prescheduled lecture or lab meetings, to a
studio-like approach. Class meetings are held in a wireless
classroom/conference room where we are able to dynamically configure
physical layouts to support the required activities. One class meeting
can now be used to support multiple activities: lecture, individual,
and group work and discussion. The course now places an early emphasis
on the importance of teamwork. Technology (Tablet PCs and software) to
aid collaboration and communication is introduced near the beginning of
the semester. The use of exercises to promote and underscore the value
of communication and teamwork, while teaching subject matter and how to
use technology, is a hallmark of this method. Rather than expecting the
students to just "figure out how to work in a group" on their own, help
is be given during class to ease the transition from working
individually towards working as a team.
In order to emphasize active
learning (see ref.), class length lectures will be de-emphasized and
replaced with much smaller lectures coupled with discussions, examples
and group activities motivated by project work.
|
|
|
Implementation (technology)
Students were assigned a
Tablet PC for their use throughout the semester. Each student was to
bring their Tablet PC to every class meeting. Projects and exercises
using group work were enhanced by the use of Tablet PCs. Class meetings
contained a mix of short lecture, examples, project status discussions,
and project work time. Students were instructed throughout the course
on the value and practices of good teamwork. The class met 4 days a
week.
1. Group install and
familiarization - in groups, students prepared Tablet PCs by installing
and testing installations of software required for the course.
2. Orientation - teams of
students engaged in an activity to learn a basic concept in Agile
software development (refactoring, the planning game used in Extreme
Programming, etc.). Working first with physical artifacts
(paper,
tokens, etc.) to help promote group interaction, then continuing by
using Tablet PCs.
3. Working in pairs - students
reviewed and marked-up sample code while helping each other become
acquainted with development principles and practices and the software
tools installed on their Tablet PCs.
4. To enhance communication
further - each pair shared information with a wiki and a source code
repository as they developed a practice project (a game). This gave
more in-depth experience with programming tools and development
methodology while learning the value of teamwork.
5. Working for an external
client - the class, first as smaller groups and then merging into a
single team, iteratively developed an application for an external
client (F06:robot navigation simulator, F07:sensor network simulator,
F08: ad hoc mobile wireless network simulator).
The class as a whole communicated with face-to-face conversations,
white board, a project wiki, and source code repository.
|
|
|
Resources and References
Using Tablet PC: A Guide for Educators, Microsoft Education, 2004.
Patterns for Active Learning, J. Eckstein, J. Bergin, H. Sharp, (submitted to PLoP
2002).
XP.BE - The XP
Game, V. Peeters, P. van Cauwenberghe
Xp123 - Exploring Extreme Programming, William Wake.
CS435:Software Engineering
(formerly called Software Design and
Development in Fall 2006, Fall 2007, Fall 2008),
Michael Wainer
Publications
[1] "TabletPCs and Robots:
Technology as Platform and Motivator for Explorations and Collaboration",
M. Wainer, H. Hexmoor, and M. Riley in Proceedings of the 2007
International Symposium on Collaborative Technologies and Systems,
Orlando, FL, May 2007, pp. 115-121.
[2] "Realizing the Software
Studio Pedagogy: Expanding Opportunities with Technology", M.
Wainer, Proceedings of the International Association for Development of
the Information Society(IADIS) e-Learning 2008, Amsterdam, Netherlands,
July 2008, pp. 169-176.
|
|
|
|
Impact on Teaching
Early exercises with the
Tablet PC are used to coach the social aspects of teamwork as well as
the technology. To promote easy and free communications, respect and
humility are stressed. Tablet PCs help promote group work by supporting
a studio approach which allows the physical layout of classes to adjust
to the work plan of the day. Lecture time is reduced and content
adjusted to support more ongoing active group work in class. Students
are able to increase the quantity and quality of team experiences as
well as the familiarity with software that promotes teamwork (version
control, wiki etc.). Version control software is introduced earlier
allowing
students to gain much more experience with this essential tool. Project
logs, class observations (including real-time access to the software
repository) and student retrospectives are used to help assess
attitudes and experiences.
|
|
|
Impact on Student Learning
Computer Science students,
often shy and accustomed to working alone, must learn social skills to
work productively within diverse software development teams.
Previously, tight schedules, inappropriate workspaces and the lack of
instruction in team skills, left many students to find these skills
outside of their coursework. This project actively addresses the social
aspects students need to become responsible team members.
TabletPCs made possible an
earlier introduction to collaborative software and allowed more time
for supervised hands-on activities. In their retrospective comments,
students realized first-hand the value of good communications and
teamwork. They each experienced episodes when it worked well and when
it could have been better. A typical reaction was a feeling of
gratitude for getting this collaborative experience before they enter
the professional world. Example quotes from student retrospectives
follow:
"Teamwork is best
learned through experience and I think there is no better way of
teaching it."
"... I think this kind
of process allows us to learn from one another and measure ourselves
against our peers to see how we can become better programmers and
contributors in future projects ... "
"I enjoyed the format of
this class very much. ... The TabletPCs were a critical part of this
project and I shudder to think how it would have happened without their
help."
"I think we learn better
when you treat us as the leader of a group instead of a teacher
lecturing to a bunch of students."
"... the tabletPCs were
very helpful in the classroom because any of use could move around the
class and pair program with someone very conveniently. Not only were
they convenient in the classroom, they were convenient outside the
classroom; group members could meet anywhere they want instead of
confining ourselves in the computer lab."
|
|
|
Quick Facts
Dept: Computer Science
Courses Impacted: CS435:
Software Design and Development (Software Eng.) (additional exercises
and projects in Interaction Design, Robotics, Game Programming, Senior
Project)
# Students Impacted:
approx 30 per year (including activities beyond CS435)
# Faculty Involved: 4:
PI plus additional faculty acting as customers:
Dr. Henry Hexmoor, Fall 2006,
Robotics
Dr. Kemal Akkaya, Fall 2007,
Wireless Sensor Networks
Dr. Bidyut Gupta, Fall 2008, Ad Hoc Mobile Wireless Network Simulator
This project is funded in part
by a 2006 HP Technology for Teaching grant.
|
|
|
Contact Us
Dr.
Michael Wainer
Department of Computer Science
1000 Faner Drive - Mail Code 4511
Southern Illinois University Carbondale
Carbondale, IL 62901
wainer AT
cs.siu.edu |
|
|