June 20, 2010
June 20, 2010
June 23, 2010
Electrical and Computer
15.785.1 - 15.785.8
Integration of Real World Teaming Into A Programming Course Abstract
Historically, teaming experiences for engineering students has primarily been found in first year engineering courses, design courses, and laboratory courses. Occasionally, other types of engineering courses integrate teaming as a part of some of the course projects. In this paper, we are reporting our findings of integrating teaming into a programming course. This study examines team projects and team interaction in a senior- level programming class. The course project spanned the entire semester and is divided into four stages. The students have different project team members in different stages and each team includes 3 to 4 students. The students have to use their own code based from the previous stages. This course involved object-oriented programming covering both C++ and Java with an emphasis on their similarities and differences. Students could choose the languages for their projects, and may change languages for different stages. The project implemented extensions of the popular computer game Tetris®. The extensions included: (1) allowing pieces of 5, 6, or 7 squares per piece, (2) developing algorithms to automatically rotate and place pieces, and (3) competing against other teams' algorithms through a network.
This study gave students opportunities to handle team changes that are common in the workplace due to various business conditions. The changes require robust designs in their programs and clear documentation. Moreover, the instructor encouraged students to use Java for the first stage by giving two small-scale programming exercises in Java. In the second stage, students were encouraged to use C++ (with Qt library for GUI) because Qt has an open-source Tetris® program.
This study seeks to develop a model for integrating teaming3,4,5,6,7 in programming courses. To assess the effectiveness of the model, we administered a survey and conducted a small group analysis with the students in the course.
This study involved students in an elective senior-level “Object-Oriented Programming using C++ and Java” course at Purdue University1. In this course, the students learned the concepts of object-oriented design and programming, including: (1) class and objects, (2) inheritance and polymorphism, (3) function overriding in derived classes, (4) operator overloading in C++, (5) exception handling, (6) container classes, (7) multiple inheritance in C++, (8) graphical user interface using Netbeans and Qt, (9) client-server networking, and (10) multithreading. The textbook is “Programming with Objects: A Comparative Presentation of Object-Oriented Programming with C++ and Java” by Avinash C. Kak published by Wiley2. All lectures were recorded in advance using Camtasia Studio. This tool performed screen capture with narration so that the instructor could show slides, websites, code, and demonstrations of program execution.
Brown, C., & Lu, Y. (2010, June), Integration Of Real World Teaming Into A Programming Course Paper presented at 2010 Annual Conference & Exposition, Louisville, Kentucky. https://peer.asee.org/16744
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2010 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015