Implementing Virtual Pair Programming in E-Learning Environment

Journal of Information Systems Education, Summer 2006 by Zin, Abdullah Mohd, Idris, Sufian, Subramaniam, Nantha Kumar

ABSTRACT

Programming subjects are one of the core and important subjects that should be taken by students majoring in information system or computing. The problem of teaching and learning of programming has been widely reported in literatures. Many attempts have been made to solve this problems and this has led to many new approaches in teaching and learning of programming. One of the approach that has been proposed is the use of pair-programming, which is one of the practice of eXtreme Programming (XP). The advent of e-learning has given birth to the idea of Virtual Pair Programming (VPP). This paper describes how asynchronous mode of collaboration using VPP could be implemented for e-learning learners to learn programming.

Keywords: Pair-programming, Virtual Pair-programming, Programming, E-Learning, Distance Education

1. INTRODUCTION

Programming is known to be a difficult course, both for the instructors and learners and this subject is compulsory for all students majoring in information system or computing. Novice programmers suffer from a wide range of difficulties. According to Robins et al (2001), it will take about ten years of experience to turn a novice into an expert programmer. Since 1970's, many innovative approaches had been proposed by educators and researchers to overcome these problems. Some examples of these approaches in teaching of programming are "Tutorial-based teaching of introductory Programming" (Zachary 1994), "Methodology First and Language Second" (Zhu and Meng 2003) and "Process Model" approach (Gantenbein 1989). Some researchers also have proposed that the programming curriculum need to be reshuffled to reflect learners need, while other proposed the imposition of mathematics to the learners who plan to take programming subjects.

Another initiative that is slowly becoming more popular among many instructors is the concept of pair-programming. Pair programming is a practice in which two programmers work together at one computer collaborating on the same design, algorithm, code or test. While programming, the pair work side by side at a single workstation or computer with one person designated as the 'driver' who enters the code and the other person as 'observer' or 'navigator' who observe the codes for defects. These roles are switched as the programming session continues.

It seems that pair-programming is the most suitable approach for learning of programming in the e-learning or in distance education environment for two important reasons. Firstly, learners in this environment are not in constant contact with their instructor or physically close to each other. Secondly, learners in this environment normally have to work alone since they are not physically close to other learners. Pair programming provide an environment for them to work with peers, which in turn will help to reduce anxiety and uncertainty of learners. The implementation of pair programming in this environment has led to the introduction of the concept of virtual pair programming (VPP) (Baheti et al. 2002; Hanks 2004; Ho et al. 2004 and Kiercher et al. 2001). VPP has been implemented by many academic institutions using various techniques. In the next section, we describe how we have implemented VPP at Open University Malaysia (OUM) which specializes in blended e-learning environment. In particular, we are looking at the effectiveness of using this VPP approach in learning of Java Programming for e-learners at Open University Malaysia (OUM) in asynchronous mode of collaboration.

2. VPP IMPLEMENTATION AT OUM

Two important components in our approach in implementing VPP are the task and the online forum.

2.1 Task

In our approach in implementing VPP, learners are required to use VPP in solving a programming project (later known as task) given to them. To introduce the concept of pairprogramming, an overview about it has been attached on the programming assignment with clear instruction on what the tutor and the learner suppose to do. The learner submits their programming solution (both hard and soft copy) and printout of their discussion from the forum towards the end of the semester. In implementing VPP, a task consists of carefully designed problems that demand from the learner the acquisition of critical knowledge, problem-solving proficiencies and self-directed learning strategies. The problem thus served as the organizing centre and the stimulus for learning and represented the vehicle that developed learners' creative and high-order thinking skills.

There are two questions in this task.

* Question 1 tests the learners to build a user interface using JApplet. They must use their creativity and innovation to develop a impressive layout for this user interface

* Question 2 tests the learners on the concept of class and objects by asking them to develop a Java-based games application that will stimulate a dice.

This assignment carries 20% of their final grade and their participation on the "pair forum" contributes 5% of their final grade.

 

BNET TalkbackShare your ideas and expertise on this topic

Please add your comment:

  1. You are currently: a Guest |
  2.  

Basic HTML tags that work in comments are: bold (<b></b>), italic (<i></i>), underline (<u></u>), and hyperlink (<a href></a)

advertisement
advertisement
  • Click Here
  • Click Here
  • Click Here
advertisement
Click Here

Content provided in partnership with ProQuest