A Community of Practice Approach to Learning Programming

In programming courses, teaching students who have varied levels of knowledge and skills the requisite competencies to perform in real-world software development teams is indeed difficult. To address this problem, this paper proposes a community of practice (CoP) approach and provides some guidelines to simulate a realworld CoP in a blended learning environment. It simulates not only the role structure and tasks but also the participation process. The design of this approach is based on the situated learning perspective that considers learning to be a trajectory in which learners move from legitimate peripheral participation to full participation in CoPs. The results from the data analysis and questionnaires indicated that the students were very engaged in this activity and believed that this approach helped them to develop necessary programming knowledge and skills. This study also reports certain constraints and suggestions for teachers who want to adapt this approach for their courses.

[1]  Andreas Zeller,et al.  Making students read and review code , 2000, ITiCSE '00.

[2]  David W. Johnson,et al.  Social interdependence: interrelationships among theory, research, and practice. , 2003, The American psychologist.

[3]  David W. Johnson,et al.  Joining Together: Group Theory and Group Skills , 1975 .

[4]  L. Vygotsky Mind in Society: The Development of Higher Psychological Processes: Harvard University Press , 1978 .

[5]  Etienne Wenger,et al.  Situated Learning: Legitimate Peripheral Participation , 1991 .

[6]  John Hamer,et al.  Quality of peer assessment in CS1 , 2009, ICER '09.

[7]  Michael Barnett,et al.  Developing an Empirical Account of a Community of Practice: Characterizing the Essential Tensions , 2002 .

[8]  Baltasar Fernández-Manjón,et al.  Learning teamwork skills in university programming courses , 2009, Comput. Educ..

[9]  G. D. Chen,et al.  Constructing a community of practice to improve coursework activity , 2008, Comput. Educ..

[10]  Gregor Kennedy,et al.  Using wikis for collaborative learning: Assessing collaboration through contribution , 2010 .

[11]  Jan-Willem Strijbos,et al.  Designing for interaction: Six steps to designing computer-supported group-based learning , 2004, Comput. Educ..

[12]  Mark Guzdial,et al.  Beyond Adoption to Invention: Teacher-Created Collaborative Activities in Higher Education , 2001 .

[13]  Li Xu,et al.  Project the wiki way: using wiki for computer science course project management , 2007 .

[14]  David Reed,et al.  AAA and CS 1: the applied apprenticeship approach to CS 1 , 1995, SIGCSE.

[15]  Mike Joy Group Projects and the Computer Science Curriculum , 2005 .

[16]  Cary Laxer,et al.  Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education , 1995 .

[17]  I-Lin Gloria Hsieh,et al.  Types of feedback in a computer-based collaborative problem-solving group task , 2002, Comput. Hum. Behav..

[18]  Mike Joy * Group projects and the computer science curriculum , 2005 .

[19]  J. Toland,et al.  Is wiki an effective platform for group course work , 2008 .

[20]  France Henri,et al.  Understanding and analysing activity and learning in virtual communities , 2003, J. Comput. Assist. Learn..

[21]  Dimitrios Kalles Students working for students on programming courses , 2008, Comput. Educ..

[22]  Chris Bennett Student-authored Wiki textbook in CS1 , 2009 .

[23]  R. Gallimore,et al.  Rousing Minds to Life: Teaching, Learning, and Schooling in Social Context , 1988 .

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

[25]  Debbi Weaver,et al.  Off campus students' experiences collaborating online, using wikis , 2010 .

[26]  Kwok Chi Ng,et al.  Implementing wiki software for supplementing online learning , 2007 .

[27]  Susan M. Land,et al.  Theoretical Foundations of Learning Environments. , 1999 .

[28]  Michael Kölling,et al.  Enhancing apprentice-based learning of Java , 2004 .

[29]  T. Duffy,et al.  2 From Practice Fields to Communities of Practice , 2001 .

[30]  Liang-Yi Li,et al.  A Coursework Support System for Offering Challenges and Assistance by Analyzing Students' Web Portfolios , 2009, J. Educ. Technol. Soc..

[31]  Ilias Karasavvidis,et al.  Wiki uses in higher education: exploring barriers to successful implementation , 2010, Interact. Learn. Environ..

[32]  Etienne Wenger,et al.  Communities of Practice: Learning, Meaning, and Identity , 1998 .

[33]  Andrew Litchfield,et al.  Supporting peer assessment of individual contributions in groupwork , 2007 .

[34]  Melissa Cole,et al.  Using Wiki technology to support student engagement: Lessons from the trenches , 2009, Comput. Educ..