Learning Computer Programming in CDIO’s Team Settings

Learning Computer Programming in CDIO’s Team Settings

A. Pham, D. Nguyen, Q. Nguyen, M. Nguyen, B. LE (2014).  Learning Computer Programming in CDIO’s Team Settings. 12.

Programming or “coding” skill, for short, is an essential aspect in the training of every Software Engineering or Computer Science program. While certain individuals quickly digest various programming structures and become proficient in “coding”, most others usually go through difficult periods of time trying to understand different programming concepts, grasping certain programming syntax, and applying specific programming algorithms. Eventually, some still manage to “get it” but some others seem to never “get to anywhere”. So, the question become whether we may teach programming more efficiently, using the CDIO’s collective and cooperative learning approaches?

As opposed to what many think that programming can only be learned in an individual manner, many universities are increasingly teaching programming through small team projects in the junior’s and senior’s level. Assessment of the efficiency and effectiveness of such collective approach, however, are rarely made because of the general assumption that students must have learned programming individually in the introductory programming courses during their freshman’s or sophomore’s year. The whole point of learning programming in teams is sometimes only regarded as a team building activity at a number of universities. At Duy Tan University, during the last two years, we have attempted to teach programming in teams for freshman and sophomore students. By setting up standard programming projects for teams of 3 to 5 students and by using automated software testing tools like PC^2 and Themis, we have created quite some flexibility and synergy in the development of programming skills of our students. Initial responses from the students showed that teams of 3 instead of 4 or 5 produce better learning outcomes. In addition, by learning programming in teams, students pay more attention to the algorithm design and program testing, which they often ignore in an individual setting. For teams which did not realize the expected benefits,it mostly had to do with problems in their use of programming language(s) and syntax, for example, one team member is more comfortable with C++ while others are with Java, or the modules built by one member could not be integrated with others’ in the end because of conflicting interfaces. At the end of these courses, we carried out an individual final, and to our surprise, the results were significantly better than those of introductory programming courses, in which programming was taught in an individual manner. Generally speaking, learning programming in teams allow for more communication and mutual correction on the part of the students and more focused guidance and assessment on the part of our faculty members.

Proceedings of the 10th International CDIO Conference, Barcelona, Spain, June 15-19 2014

Authors (New): 
Anh Phuong Pham
Duc-Man Nguyen
Quoc Long Nguyen
Minh Thang Nguyen
Bao N LE
Pages: 
12
Keywords: 
Algorithm design
learning outcomes
PC^2
programming skills
program testing
Themis
CDIO standard 4
CDIO Standard 5
Year: 
2014
Reference: 
ACM/ICPC (2014). ACM/ICPC World Finals. http://icpc.baylor.edu/worldfinals : 
CDIO™ Initiative (2010). CDIO Standards v. 2.0. http://www.cdio.org. : 
Crawley, E.F., Malmqvist , J., Ostlund, S., and Brodeur, D. (2007). Rethinking Engineering Education: The CDIO approach” (1st Ed.). Springer. : 
Duy Tan University - DTU (2013). Students’ Placement Report. Vietnam: August 2013: 
Kölling, M. (1999). The Problem of Teaching Object-Oriented Programming, Part 1: Languages. Journal of Object-Oriented Programming, 11(8), pp. 8-15. : 
Lu, X., Fan, Y., Banzaert, S., Jacobs J. (2010). Multi-Disciplinary Design-Build PBL As An Introduction to Engineering. École Polytechnique, Montréal, Canada: Proceedings of the 6th International CDIO Conference: June 15-18, 2010. : 
Nyhoff, Larry (2004). ADTs, Data Structures, and Problem Solving with C++, 2nd Ed. U.S.: Prentice Hall, 2004. : 
McCartan, Charles D., Cunningham, G., Bernard, E., Buchanan, Fraser J., McAfee, M., Kenny, Robert G., Taylor, I., and Mannis, A. (2007). The Systematic Development of the New Introductory Proceedings of the 10th Annual International CDIO Conference, Universitat Politècnica de Catalunya, Barcelona, Spain; June 16 - 19, 2014. Course. Massachusetts Institute of Technology, MA, U.S.: Proceedings of the 3rd International CDIO Conference: June 2007.: 
Rosen, Kenneth H. (2012). Discrete Mathematics and its Applications, 7th Edition. U.S.: McGraw-Hill Science/Engineering/Math, 2012.: 
Tran, Son T., Le, Thanh N., Nguyen, Binh Q., Dang, Phuong B., and Le, Bac H. (2013). Introduction to Information Technology. Massachusetts Institute of Technology and Harvard University, MA, U.S.: Proceedings of the 9th International CDIO Conference: June 2013: 
Go to top