چکیده انگلیسی

In this paper, we present a blended e-learning experience consisting of supplying an undergraduate student population (in addition to traditional on-site classes) with a learning tool called OOPS (Object Oriented Programming System) and a testing system called SIETTE. OOPS is a problem-solving environment in which students can resolve Object Oriented Programming exercises. The system applies an assessment for learning strategy where students are formatively assessed, i.e. OOPS diagnoses their knowledge level but also generates feedback and hints to help students to understand and overcome their misconceptions and to reinforce correctly learnt concepts. In conjunction with OOPS, we have used SIETTE, a web-based assessment system in which students can take tests and teachers can construct them Subsequently, we have explored whether or not the use of OOPS contributes to improve the students’ knowledge about Object Oriented Programming.

مقدمه انگلیسی

Intelligent tutoring systems are software solutions which provide students with personalized and self-paced instruction. These types of systems use Artificial Intelligence techniques in conjunction with learning theories obtained from psychological studies and research done in the educational field. Experts agree that what constitutes intelligence in intelligent tutoring systems is “real-time cognitive diagnosis” and “adaptive remediation” [1]. The main goal of Intelligent Tutoring Systems is to improve the student learning process. These systems supply an instructional environment which is adapted to the student’s capabilities and learning needs, promoting even more effective learning than the traditional student–teacher instruction [2].
Even though the most common learning strategy continues to be face-to-face lessons imparted orally by a teacher, the number of alternative learning systems has increased. The ideal learning process is one where students can receive classes, resolve exercises and obtain immediate feedback from the teacher. Unfortunately, overcrowding in the classroom makes this desirable situation not feasible. Nowadays, teachers have to provide instruction to dozens or even hundreds of students, making it difficult for students to correctly assimilate the concepts being taught. By adopting learning systems such as intelligent tutoring systems, teachers could address this overcrowding situation using blended learning. This is a learning strategy based on incorporating different modes of teaching and learning styles. The aim is to introduce multiple media to facilitate student–teacher dialogue [3]. Several systems such as Assistment [4] have been used successfully in blended learning experiences.
The student overcrowding scenario mentioned above has given rise to the approach described in this paper. Several teachers provide instruction to undergraduate students, specifically, studying advanced programming in the second semester of Telecommunication Engineering at the University of Malaga (Spain). Around 300 individuals study this course each year. Three teachers are in charge of introducing students to the concepts of Object Oriented Programming (OOP). Up to that point, they will have only taken a course on the basic concepts of imperative programming. Each teacher provides instruction to two groups of around 50 students and the course syllabus is very dense. For this reason very limited classroom time is available for resolving programming problems or for assisting the students to develop programs. Consequently, from the last course, we have decided to introduce a blended learning strategy to facilitate the student learning process. This strategy consists of supplying the students (in addition to the on-site classes) with a learning tool called OOPS (Object Oriented Programming System) and access to a testing system called SIETTE.
SIETTE [5] is a web-based assessment system in which students can take tests and teachers can construct them. In general, the SIETTE tests could be classified in two categories in terms of the assessment procedure they use, i.e. conventional tests where student performance is measured heuristically by means of well-known criteria such as the percentage of success or the points obtained by totaling the questions answered correctly and subtracting those answered wrongly; and IRT-based tests in which well-found diagnosis are obtained using a model inspired by the Item Response Theory [6]. Other test classification criteria depend on how questions are posed to the student. Two types of tests can be identified, i.e. adaptive or non-adaptive ones. In the first, questions are dynamically selected. The goal is to select the most suitable question to improve the student’s knowledge diagnosis and therefore, learning, using the least number of questions.
OOPS is a problem-solving environment in which students can resolve OOP exercises. The system applies an assessment for learning strategy, where students are formatively assessed. That is, OOPS diagnoses their knowledge level but also generates feedback and hints to help the students to understand and overcome their misconceptions and to strengthen the concepts they learnt correctly.
This paper is structured as follows. The next section describes the notion of assessment of learning and our initial experience in applying this strategy. Section 3 is devoted to the related work in programming tutors and in constraint-based modeling. This last modeling technique is the one which we have used to construct our domain model. The OOPS system is tackled in detail in Section 4. Section 5 describes the experiment in which we have applied blended e-learning using OOPS and SIETTE. Finally Section 6 outlines the conclusions we have reached with this work and some future research lines.

نتیجه گیری انگلیسی

The main goal of this work was to try to improve the success rate of students enrolled on the Programming Elements course. To this end we have used strategies based on blended e-learning. In addition to the face-to-face classes (theoretical and practical classes) we have used two different e-learning systems: SIETTE, a web-based assessment system used to administer two similar tests; and OOPS, a problem-solving environment. The aim was to explore the contribution of OOPS for improving students’ knowledge. To this end, OOPS presents the student with different problems and provides feedback during the process. Thus, the learning process is personalized and adapted to the student needs. This adaptation is done by means of a set of inference rules created by experts in the field and taking as input the student model and the performances of previous students who tackled the same problem in OOPS. Hints and feedback are adapted to the student’s knowledge estimation. Thus this system is able to reinforce the student’s weak points, thereby providing a very useful complement to the classes of Programming Elements. In this sense, the main strength of OOPS compared to the open tests we used in previous experiences is that with only a few exercises we can obtain more (or at least the same amount of) evidence about the student’s knowledge as was obtained in those tests which contained many questions. Moreover, OOPS also provides tools for teachers to analyze the student’s sessions, to add and modify new problems and to manage the rules, hints and feedback. The experiments we performed suggest an improved student performance after using OOPS. However, we still have to explore the influence of this improvement on the final score of the course which will take place in July 2008.
Despite already using this tool with real students, there is much work to do. OOPS only focuses on those concepts related to data abstraction. However, we would like to extend it to include new kinds of sentences, for instance, selection and/or iteration. For this purpose we should identify and add the constraints needed to model these sentences. The main problem is that this extension makes it much more difficult to determine whether or not the student’s solution is correct. In addition, during the experiment, students pointed out several improvements from the usability point of view, which we will take into account in future versions of OOPS.