Applying PBL in Teaching Programming: an Experience Report

Tutorial Education Program (TEP) is an initiative from Brazilian government to develop education quality in different areas of knowledge, as its main aim to decrease students’ evasion and promotion of academic success. PET-Informática group from Federal University of Pernambuco (UFPE) has invested in these activities, in particular, to teach programming, one of the disciplines in which students have lower grades in technology courses. In this context, this paper describes an experience of an extension course in Python, using the active learning approach Problem-Based Learning (PBL). This course, ministered in two weeks, made possible the construction of a PBL model to teach Python, based in the xPBL methodology described by Santos & Rodrigues (2016) and the lessons learned with this practical experiment. As the main contribution, this experience stands out the possibility to apply this course to different audiences with different levels of education, and also the dissemination of PBL approach in teaching programming.

[1]  Sharan B. Merriam,et al.  Qualitative Research: A Guide to Design and Implementation , 2009 .

[2]  Thomas M. Duffy,et al.  Problem Based Learning: An instructional model and its constructivist framework , 1995 .

[3]  Gustavo H. S. Alexandre,et al.  PBL planner toolkit: a canvas-based tool for planning PBL in software engineering education , 2018, ICSE.

[4]  Sue Sentance,et al.  Computing in the curriculum: Challenges and strategies from a teacher’s perspective , 2016, Education and Information Technologies.

[5]  Wu Peng Practice and experience in the application of problem-based learning in computer programming course , 2010, 2010 International Conference on Educational and Information Technology.

[6]  M. Patton Qualitative research & evaluation methods , 2002 .

[7]  H. Alessio Student Perceptions About and Performance in Problem-Based Learning , 2004 .

[8]  Mordechai Ben-Ari,et al.  Constructivism in computer science education , 1998, SIGCSE '98.

[9]  Simone C. dos Santos,et al.  PBL-Test: A model to evaluate the maturity of teaching processes in a PBL approach , 2013, 2013 IEEE Frontiers in Education Conference (FIE).

[10]  Kirsti Ala-Mutka,et al.  A study of the difficulties of novice programmers , 2005, ITiCSE '05.

[11]  John M. Zelle,et al.  Python Programming : An Introduction to Computer Science , 2003 .

[12]  Simone C. dos Santos,et al.  Assessing PBL with Software Factory and Agile Processes: A Case Study to Develop Mobile Software´s Engineers , 2012 .

[13]  Judy Kay,et al.  Problem-Based Learning for Foundation Computer Science Courses , 2000, Comput. Sci. Educ..

[14]  Dan Honig,et al.  Case Study Design and Analysis as a Complementary Empirical Strategy to Econometric Analysis in the Study of Public Agencies: Deploying Mutually Supportive Mixed Methods , 2018, Journal of Public Administration Research and Theory.

[15]  Michael Joseph Peterson,et al.  Skills to Enhance Problem-based Learning , 1997 .

[16]  Vinicius Cardoso Garcia,et al.  PBL in teaching computing: An overview of the last 15 years , 2013, 2013 IEEE Frontiers in Education Conference (FIE).

[17]  Wesley J. Chun Core Python Programming , 2000 .