Novice Students and Computer Programming: Toward Constructivist Pedagogy

In order to develop computer programmings skills: critical thought, problem solving, attention to detail, accuracy and abstract thinking are required. Unfortunately, many novice students at universities within South Africa have not developed such skills in their formative years. This is often due to the fact that many of them have been part of a schooling system that does not teach students how to think critically or how to solve problems. Consequently, they find it difficult to acquire these skills at a post-secondary level and they are often at risk of failing computer programming modules. Furthermore, traditional pedagogies used at post-secondary level often do not provide an opportunity for students to develop the skills needed to write programs. Such pedagogies are often teacher-centric, which do not encourage students to develop critical thinking. This paper aims to demonstrate that adopting an alternative pedagogy, namely social constructivism, can assist students in cultivating the skills needed for computer programming. The pedagogy was applied only to students who were at risk of failing a computer programming module. It encouraged a student-centred environment, where active learning, student collaboration and metacognition were promoted. The data clearly indicates that adopting such pedagogy provides an opportunity for students to improve their computer programing skills. DOI: 10.5901/mjss.2014.v5n14p240

[1]  Elsa Mentz,et al.  The school subject information technology: a South African perspective , 2009 .

[2]  P. Leese Comparison of the effects , 1992 .

[3]  Judith Gal-Ezer,et al.  Teaching computer science: experience from four continents , 1996, SIGCSE '96.

[4]  David Preston,et al.  PAIR programming as a model of collaborative learning: a review of the research , 2005 .

[5]  A. Stetsenko,et al.  Teaching–learning and development as activist projects of historical Becoming: expanding Vygotsky's approach to pedagogy , 2009 .

[6]  Florence W. Thuku,et al.  Variations in Reading Achievement Across 14 Southern African School Systems: Which Factors Matter? , 2010 .

[7]  Margaret Forster,et al.  Higher Order Thinking Skills , 2004 .

[8]  Alessio Gaspar,et al.  Self direction & constructivism in programming education , 2008, SIGITE '08.

[9]  Ann L. Brown,et al.  How people learn: Brain, mind, experience, and school. , 1999 .

[10]  Robert F. Rosin,et al.  Teaching “about programming” , 1973, Commun. ACM.

[11]  Peter Warren,et al.  Teaching programming using scripting languages , 2001 .

[12]  David Preston Adapting pair programming pedagogy for use in computer literacy courses , 2006 .

[13]  Michael de Raadt Teaching programming strategies explicitly to novice programmers , 2008 .

[14]  C. Marnewick The mystery of student selection: are there any selection criteria? , 2012 .

[15]  J. Fedderke,et al.  Uneducating South Africa: The failure to address the 1910–1993 legacy , 2000 .

[16]  David Preston,et al.  Using collaborative learning research to enhance pair programming pedagogy , 2006, SITE.

[17]  Georgios Fesakis,et al.  Influence of the familiarization with "scratch" on future teachers' opinions and attitudes about programming and ICT in education , 2009, ITiCSE.

[18]  Hu Xiaohui Improving teaching in Computer Programming by adopting student-centred learning strategies , 2006 .

[19]  Charmain Cilliers,et al.  The effect of integrating an Iconic programming notation into CS1 , 2005, ITiCSE '05.

[20]  Donna Teague,et al.  Engaging students in programming , 2010, ACE '10.

[21]  Janet Rountree,et al.  Learning and Teaching Programming: A Review and Discussion , 2003, Comput. Sci. Educ..

[22]  Raymond Lister,et al.  Programmed to succeed?: A multi-national, multi-institutional study of introductory programming courses , 2005 .

[23]  Tom Wulf,et al.  Constructivist approaches for teaching computer programming , 2005, SIGITE '05.

[24]  Alwyn Olivier,et al.  Learning through Problem Solving. , 1998 .

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

[26]  Gregory P. Thomas Toward Effective Computer Use in High School Science Education: Where to from Here? , 2004, Education and Information Technologies.

[27]  Anthony V. Robins,et al.  Learning edge momentum: a new account of outcomes in CS1 , 2010, Comput. Sci. Educ..

[28]  André P. Calitz,et al.  Comparison of the effects of professional and pedagogical program development environments on novice programmers , 2008, SAICSIT '08.

[29]  Margaret Hamilton,et al.  Approaches to learning in computer programming students and their effect on success , 2005 .

[30]  A. Stetsenko,et al.  Teaching, Learning, and Development: A Post‐Vygotskian Perspective , 2008 .