Team-Based Software/System Development in a Vertically-Integrated Project-Based Course
Total Page:16
File Type:pdf, Size:1020Kb
Session T3F Team-based Software/System Development in a Vertically-Integrated Project-Based Course Randal Abler, Ed Coyle, Agrita Kiopa, Julia Melkers Georgia Institute of Technology, [email protected], [email protected], akiopa3@ gatech.edu, [email protected] Abstract - We use per-student virtual machines to allow providing cooperative incentives rather than competition. new students to configure servers, thus enabling them to Problem-solving is used to provide the context and develop an understanding of the complex eStadium motivation for the learning, to develop skills of solving system. The outcomes include: student learning as the open-ended problems and to engage in continuous learning. per-student virtual machines progress into software Importantly, problem based-learning implies significant development and production machines supporting the amounts of self-directed learning on the part of the students eStadium game-day environment; the teamwork and [3]. Through joint work, new students are able to access the leadership skills that evolve as students progress from tacit knowledge accumulated in the team, and more initial learning to leadership roles in the creation of experienced students acquire leadership skills necessary for sophisticated applications; guidelines for instructors management of the teams [6,7]. More specifically, the mentoring students through the process of building and continuity, technical depth, and disciplinary breadth of these maintaining a working production system; and, parallels teams are intended to: with best-practice software and system development in Provide the time and context necessary for students to industry. The use of peer-evaluations and social-network learn and practice many different professional skills, make studies enable us to determine how the students interact substantial technical contributions to the project, and with and learn from each other across years experience many different roles on a large design team. (sophomores through seniors). This cross year, cross Support long-term interaction between the graduate and experience-level learning process is essential for undergraduate students on the team. The graduate students maintaining the technical and team continuity of the mentor the undergraduates as they work on the design project. It also prepares students in a very realistic way projects embedded in the graduate students' research. for the software-development process in industry. Enable the completion of large-scale design projects that are of significant benefit to faculty research programs. Index Terms – software development, virtual machines, eStadium [8-10] is a Vertically-Integrated Project (VIP) peer-based learning, project-based learning team at Georgia Tech that currently consists of 20 undergraduates, four graduate students, and three faculty. INTRODUCTION The team creates systems that gather multimedia content The Vertically-Integrated Projects (VIP) Program [1-2] is an from the stadium, process it and deliver it to the smart- undergraduate education program that operates in a research phones of fans in the stadium. This content includes video- and development context. Undergraduate students that join clips of plays, real-time stats, drive-visualizations, etc. The VIP teams earn academic credit for their long-term technology areas covered by the project include video participation in design efforts that assist faculty and with capture/processing, wireless networks, and sensor networks. research and development issues in their areas of technical Faculty involvement is generally limited to oversight expertise. The teams are: multidisciplinary – drawing and high-level advisement coupled with limited technical students from across engineering and around campus; assistance. Students enroll in VIP for up to six semesters, so vertically-integrated – maintaining a mix of sophomores each semester involves new students and experienced through PhD students each semester; and long-term – each students working side-by-side. Bringing new students up to undergraduate student may participate in a project for up to speed on the many skills required, while also channeling three years and each graduate student may participate for the them into technology areas that align with their interests and duration of their studies. need additional effort, requires a different approach than The VIP Program is based on the idea that the learning traditional coursework. This is particularly true for the areas success of engineering students is based on the broad of system architecture and administration because they are spectrum of positive active learning experiences that rarely taught in depth in the undergraduate curriculum. involve peer to peer interactions and real life problem They require a complex set of skills that can only be honed solving [3] that are not only important for development of via hands-on experiences that involve a certain amount of professional capabilities [4], but also for the retention of trial and error. Such trial and error is typically not students in the engineering programs [5]. The core of acceptable in a production environment, yet supporting live cooperative learning is the promotion of learning through users brings many challenges that are otherwise difficult for learning suitable skills in designing, configuring and 978-1-61284-469-5/11/$26.00 ©2011 IEEE October 12 - 15, 2011, Rapid City, SD 41st ASEE/IEEE Frontiers in Education Conference T3F-1 Session T3F supporting operational systems. In this paper, we present how students work together to achieve complex goals that exceed the scope of material directly presented to them, specifically in the areas of software development, computer systems management, and operational support. While the following model has been applied to several VIP teams, this paper focuses on the eStadium team as an in-depth example. eStadium uses a Linux/Apache/MySQL/PHP (LAMP) FIGURE 1: BASIC SYSTEM CONFIGURATION server architecture to disseminate the material of interest to the spectators. While such an endeavor would usually During a captured football game, two student operators include a staff computer administrator to maintain the are required to run the system. Typically 3-4 students are server, undergraduates are expected to provide complete present to allow students to take shifts. One student runs the operation support for the system as well as maintain and video capture machine. This involves starting and stopping develop new applications for this platform. This has the recording on a computer equipped for video capture. involved three main challenges: Each video clip is saved and automatically sent to the Teaching the students good development strategies; transcode system, which converts the video to the multiple including documentation, revision control, and resisting formats needed by different smart-phones. The transcode the urge to adopt every new programming language. process then passes the video to the web server. A second Providing the students the resources to learn, test, and student runs the play-by-play association system to correlate develop code without interfering with their own video clips with textual play descriptions. operational goals and counterparts. A student "Game-Day Manager" was appointed as a Creating a network and server infrastructure that co-exists first-level manager to coordinate both the game day events, with campus network security policies. and the configuration, development, and testing of the For the first two bullets, the faculty have an oversight role system beforehand. Identifying the appropriate student to but our experiences along with evaluation studies discussed fill this task, and helping them succeed as part of the overall later suggest that the collaboration between established team, is a key component of the faculty adviser's team-members and new team-members provides the best responsibility. A returning student, experienced with the learning and working environment for the student teams. team, is necessary. Recognizing the team leader's efforts to manage and coordinate the team is a necessary part of DEVELOPMENT STRATEGIES EVOLUTION creating the right working environment for the team. Two critical issues that require advisor monitoring The eStadium application was initially developed and arise in team-based student development: 1) students will deployed at Purdue. The initial installation at Georgia Tech adopt new programming mechanisms, languages and was accomplished by a new VIP team when Dr. Coyle toolkits without regard to maintenance issues; 2) technical transferred from Purdue to Georgia Tech. The students solutions are sometimes pursued in place of good were given access to a dedicated e-stadium Linux server, the communications amongst team members. uninstalled software, and a technical contact from Purdue. New programming mechanisms increase long-term The new team faced considerable challenges, including: maintenance complexity and therefore the learning curve, minimal documentation; learning Linux, MySQL and PHP; yet students have a tendency to want to completely rewrite and customizing the code to produce a Georgia Tech each piece of code using a programming mechanism that is oriented display rather than Purdue. These challenges were familiar to their individual experience. This is often done addressed while the team was also learning basic teamwork. under the pretense of “cleaning up the code.” Therefore new For consistency