Developing an Intelligent Diagnosis and Assessment E-learning Tool for Introductory Programming

Introduction In recent years, several e-learning platforms have been developed to aid students in learning programming language (Fix & Wiedenbeck, 1996; Takemura et al, 1999; Mungunsukh & Cheng, 2002; Hulls et al., 2005). Most of them used hypermedia since its hypertext structure reflects a model of learning based on the students' semantic memory model. Fix & Wiedenbeck (1996) designed an intelligent tool to aid the students, who already have knowledge of another programming language, in learning Ada programming language. This tool provided associated teaching material to helps the learners comprehend the new programming language. Although the teaching material was generated dynamically and the students can navigate different learning topic through hyperlink, the students still have difficulty in planning a solution. Although Mungunsukh & Cheng (2002) proposed a case based reasoning approach to diagnose students' programming skill by extracting the events caught during student's learning activity and giving useful explanation and suggestion, the effectiveness of case based reasoning approach is unverified. The comprehension states of the learners were measured by tests during three learning phases in a Java programming language e-learning platform (Takemura et al, 1999). However, there is little help for the ones that have obstacle in planning of the solution for the given programming exercises. Greyling et al (2006) proposed a programming support tool for introductory programming courses that tends to concentrate on the syntax of a programming language during program developing. Nevertheless, their system was lack of providing immediate feedback concerning the correctness of the designed program. It is observed that developing the programs during coding phase is difficult for most programming novices. We thus employ text mining and machine learning techniques to develop a programming diagnosis and assessment tool for an e-learning platform in this work to give the learners the guidance based on student's learning portfolios, whenever the learner is confused or stalled in programming. The guidance is offered via a feedback rule construction mechanism. To our knowledge, it is the first attempt in the literature to develop this kind of diagnosis and assessment tool. Experimental results show that the proposed learning aid mechanism can effectively assist low ability learners in making progress during the continuous development of the assigned projects, and the assessment module is confirmed to be capable of evaluating the quality of learner's work correctly as well. The remainder of the paper is organized as follows. The related work is given in next section. The overall architecture of the e-learning platform, the diagnosis and feedback module used in the platform, the assessment module employed for quality evaluation of learners' work, and the experimental results are discussed in respective sections. Finally, conclusions and the future work are provided in the last section. Related work In the past few years, developing useful learning diagnosis and assessment systems using machine learning techniques has become a hot research topic in the literature (Raineri et al, 1997; Smaill, 2005; McGourty, 2000; Zhang et al, 2001; Cheung et al, 2003; Cheng et al, 2005; Tsaganou et al, 2003; Lo et al, 2004; Depradine et al, 2003; Guzman et al, 2005). As the Internet gains wide popularity around the world, e-learning is taken by the learners as an important study aid. In order to help teachers easily analyze students' portfolios in an intelligent tutoring system, many researchers try to extract some useful information from the portfolios and reflect the degree of students' participation in the curriculum activity. The intelligence of intelligent tutoring systems is seen through the way these intelligent systems adapt themselves to each individual student, such as speed of learning, specific areas in which the student excels as well as falls behind, and rate of learning as more knowledge is learned. …