Government Documents

A Classification of Adaptive Feedback in Educational Systems for Programming

Published
of 17
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Description
systems Article A Classification of Adaptive Feedback in Educational Systems for Programming Nguyen-Thinh Le Humboldt-Universität zu Berlin, Department of Computer Science, Research Group Computer Science
Transcript
systems Article A Classification of Adaptive Feedback in Educational Systems for Programming Nguyen-Thinh Le Humboldt-Universität zu Berlin, Department of Computer Science, Research Group Computer Science Education/Computer Science and Society, Unter den Linden 6, Berlin, Germany; Tel.: Academic Editor: Ockie Bosch Received: 23 December 2015; Accepted: 5 May 2016; Published: 23 May 2016 Abstract: Over the last three decades, many educational systems for programming have been developed to support learning/teaching programming. In this paper, feedback types that are supported by existing educational systems for programming are classified. In order to be able to provide feedback, educational systems for programming deployed various approaches to analyzing students programs. This paper identifies analysis approaches for programs and introduces a classification for adaptive feedback supported by educational systems for programming. The classification of feedback is the contribution of this paper. Keywords: adaptive feedback; educational systems for programming; program analysis techniques 1. Introduction Programming skills are becoming a core competence for almost every profession [1] and thus, Computer Science education is being integrated in the curriculum of almost every study subject. However, it is well-known that programming courses, which constitute an indispensable part of studies related to Computer Science, are considered a difficult subject by many students [2,3]. Addressing this problem, various approaches have been proposed to help students learn solving programming problems. One of the solutions to these problems is to deploy effective technology-enhanced learning and teaching approaches. As a consequence, researchers have identified this gap and have been developing various types of educational systems for programming that are able to analyze students programs and provide feedback. Feedback is one of the most powerful ways to enhance learning. In the behavioristic view, through feedback (stimulus), the behavior (output) of a student can be shaped. In an operant conditioning learning setting, feedback can serve as positive or negative reinforcement that shapes behaviors and thus, support learning [4]. In the cybernetic view, which assumes that a monitor compares the state of a system at various times with some standard and a controller adjusts the system s behavior, the aim of feedback is to reduce the gap between the student s current and desired states of learning [5]. In the constructivist view, which assumes that knowledge is constructed by each individual, feedback provides help so that each individual student can overcome a problem and progress learning with individual activity, e.g., [6]. Narciss [7] developed an interactive tutoring feedback (ITF) model based on the view that a student is an active constructor of knowledge and feedback aims at providing students with formative or tutoring information on their current state of learning which help them to regulate their learning process. According to Narciss [7], feedback may have different functions: acknowledge, confirm, reinforce correct response or high quality learning outcomes, and promote the acquisition of the knowledge and cognitive operations necessary for accomplishing learning tasks. In addition, on the motivational level, it can encourage students in maintaining their effort and persistence. Systems 2016, 4, 22; doi: /systems Systems 2016, 4, 22 2 of 17 Since this paper discusses about adaptive feedback, it is required to review the notions of adaptive feedback. According to Dempsey and Sales [8], adaptive feedback, unlike adapted and generic feedback, is dynamic. As they [learners] work through the instruction, different learners will receive different information from the computer. The determination of what feedback is provided, when, and to whom is made by the designer after careful consideration of all available information ([8], p. 166). This notion of adaptive feedback has a broad sense. That is, instead of giving a feedback such as wrong for different incorrect answers and correct for different correct answers, adaptive feedback would not only verify the correctness of an answer, but also should provide different information for different answers. Also in this broad sense, feedback is considered adaptive when different learners receive different information [9]. For example, in the programming domain, individual information in a feedback could be the location of the erroneous program code, the explanation of the wrongly applied programming concept, an individual hint for improving the student s solution such as the program is wrong because the code line X violates the concept Y. That means, in order to be able to provide adaptive feedback in the broad sense, an educational system needs to have the intelligent capability to analyze the error(s) in the student s solutions. The representative educational systems for programming that support adaptive feedback in this sense include FIT Java Tutor [10], ITAP [11]. Some other researchers proposed another notion of adaptive feedback. Learners differ from each other in many ways including prior knowledge, meta-cognitive skills, motivational and affective state, or learning strategies and styles. Thus, these are many individual factors that may influence how feedback is processed by each learner. Consequently, a variety of individual factors can be used to support the design of personalized feedback strategies and implementation of AESs (Adaptive Educational Systems) which can deliver feedback messages that are tailored to the characteristics of an individual learner or a category of learners ([12], p. 59). In this sense, adaptive feedback is generated by an adaptive educational system that requires a student model to represent the student s characteristics (e.g., knowledge, meta-cognitive skills, affective state, learning strategies and styles) and the student model serves to distinguish the level among different students [13]. This is a strict sense of adaptive feedback and, according to this notion, an adaptive educational system may provide adaptive feedback on the correctness or quality of a response (e.g., correct/incorrect; excellent/poor) or an elaborated feedback (in terms of the feedback classification proposed by Narciss [7]) depending on the student s model. The student model and its adaptation algorithm determine the type of feedback as well as the feedback strategy. This notion of adaptive feedback is also referred to as personalized feedback [12]. The representative educational systems for programming that support adaptive feedback in this sense include efforts that gradually provide appropriate feedback information adapting to the students needs, e.g., [12], and systems that provides feedback based on students individual knowledge level, e.g., [14] or gender, e.g., [15]. In this paper, both senses of adaptive feedback are adopted to consider educational systems for programming. That is, adaptive feedback is provided differently for individual students by analyzing the student s action (e.g., student s solution attempt) and/or adaptive feedback may be provided by an education system that is based ona student model. Existing educational systems for programming are reviewed and feedback types supported by these systems are classified. The classification of adaptive feedback used in educational systems for programming distinguishes from the generic feedback classifications (e.g., Fleming and Levie [16], Economides [17], Narciss [7]) in that it serves only researchers and developers in the domain of programming to focus on specific types of feedback. The remainder of this paper is structured as follows. The next section presents the method of identifying specific feedback types supported by educational systems for programming. A classification of feedback types for educational systems for learning programming is classified in Section 3. The impact of different feedback types is discussed in Section 4. Findings in the review of feedback types are summarized and the developed classification of feedback types for programming is compared with related works in Section 5. In addition, research directions are proposed in this section. Systems 2016, 4, 22 3 of Method With the purpose of classifying specific feedback types that are supported by educational systems for programming, scientific reports of systems that have been published since 1999 at scientific workshops, conferences, and in journals related to the areas learning science and computer technology for education are searched on the Internet. In addition, technical reports, Master s theses, and PhD dissertations that have passed the internal review process and have been published by their universities were taken into consideration. In addition to searching publications on the Internet, authors of the collected publications were contacted to ask for their latest evaluation reports. Only publications since 1999 were collected, because Deek and McHugh [18] published in 1998 a detailed survey on educational systems for programming. For the collected publications, there are two criteria: (1) publications from 1999 to 2009 have to show an evidence of practical use in courses or a scientific evaluation of the proposed system; and (2) recent publications from 2010 have to document either an implementation or a scientific study of the proposed approach. The first criterion for publications assures that only systems that have been demonstrated in a practical or lab setting are taken into account. The second criterion allows us to consider recently developed systems. In addition to criteria for publications, several criteria with respect to functionality have been specified to shape the space of reviewed systems. First, the functionality of reviewed systems has to be beyond how compilers (e.g., providing (detailed) information about syntactical mistakes), and integrated programming environments (e.g., supporting syntax highlighting such as Eclipse) work. This criterion filters out two types of systems, compilers and integrated programming environments. In addition, the systems to be reviewed must have at least one interactive functionality. Interactive activity means that the students have the option to produce something (e.g., an answer or a program) rather to consume something. That is, the systems have to offer students more interactive experiences than simply providing online learning materials and test items. With respect to the learning objectives, educational systems for programming that deal with program code, either by accepting student s solutions written as source code, or by using source code as templates (e.g., implementing a fill-in-the-gap strategy), were considered. That means, this criterion selects only systems that focus on the coding phase of programming and opts out those systems that support students pursue other learning objectives in the analysis, planning/design, and test phases of programming, for example, [19 22]. The last criterion is selecting only educational systems that support adaptive feedback in either the strict sense or the broad sense discussed in the previous section. In summary, in addition to technical reports, Master and PhD dissertations, publications from the following conference/workshop proceedings, journals, or books were collected: Conference on Intelligent Tutoring Systems ACM Conference on Innovation and Technology in Computer Science Education IEEE International Conference on Computational Intelligence and Multimedia Applications IEEE International Conference on Advanced Learning Technologies European Conference on Technology Enhanced Learning Central European Conference on Information and Intelligent Systems Workshop on Adaptive and Intelligent Web-based Education Systems International Journal of Human-Computer Studies International Journal of Artificial Intelligence in Education ACM Journal on Educational Resources in Computing Journal Machine Learning Journal of Systemics, Cybernetics and Informatics inroads The SIGCSE Bulletin Book: Advances in Learning Processes Systems 2016, 4, 22 4 of A Classification of Adaptive Feedback in Educational Systems for Programming Before a specific adaptive feedback type used in educational systems for programming is specified, classifications of generic feedback are briefly reviewed. Based on those classifications, the specific classification of adaptive feedback in educational systems for programming is developed. Fleming and Levie [16] classified five types of feedback based on the function dimension. Confirmation feedback indicates whether a solution is correct or incorrect. Corrective feedback provides information about a possible correct response. Explanatory feedback explains why a response is incorrect. Diagnostic feedback attempts to identify misconceptions by comparing the student s solution with common errors. Elaborative feedback provides additional related information. While Fleming and Levie [16] were based on the function dimension to classify feedback, Economides [17] was based on the content of feedback and distinguished seven types of (cognitive) feedback (actually, Economides [17] included a class of no feedback in the classification of feedback. We do not mention this class because feedback of this class does not contain any content): (1) Yes/No feedback; (2) answer until correct (feedback asks the student to try again until she answers correctly); (3) correct answer (feedback indicates the correct answer); (4) topic contingent (feedback elaborates on the general topic); (5) response contingent (feedback gives explanation); (6) bug related (feedback presents common errors made by students); and (7) attribute isolation (feedback highlights the central attributes of the target concept). Narciss [7] also classified feedback types based on the content dimension: (1) knowledge of performance (e.g., percentage of correctly solved tasks; number of errors; grade); (2) knowledge of result (information about the correctness (e.g., correct / incorrect ) or quality of the actual answer or outcome); (3) knowledge of the correct response (feedback content is a correct response or a sample solution to a given task); and (4) elaborated feedback (containing additional information besides knowledge of result or knowledge of the correct response (e.g., hints, guiding questions, explanations, worked examples)). The last feedback type (elaborated feedback) is divided into at least five sub-types, according to Narciss [7], depending on the content of elaborated feedback: (a) knowledge about task constraints; (b) knowledge about concepts; (c) knowledge about mistakes; (d) knowledge about how to process the task; and (e) knowledge about meta-cognition. Some of these subtypes of elaborated feedback proposed by Narciss [7] are in accordance with the feedback types 4 7 of the feedback classification proposed by Economides [17]. Across the three classifications, there are commonalities as Table 1 indicates. Table 1. Commonalities between the three classifications of feedback. Fleming and Levie [16] Economides [17] Narciss [7] Confirmation Yes/No Knowledge of result Corrective feedback Correct answer Knowledge of the correct response Explanatory feedback Response contingent Elaborated feedback Diagnostic feedback Bug related Elaborated feedback Elaborative feedback Topic contingent Elaborated feedback Are these types of feedback adaptive? If we adopt the broad sense of adaptive feedback, then corrective, explanatory and diagnostic feedback may be considered adaptive, because its information could be different for different students solutions and confirmation feedback is not adaptive. If we adopt the strict sense of adaptive feedback, i.e., an educational system is able to adapt different types of feedback according to individual student s preferences, knowledge level or learning style, then confirmation feedback could also be considered adaptive, because the educational system may have a student model that represents the preferences, the knowledge level or the learning style of a student. In each of the following subsections, educational systems for programming that support a specific type of feedback are reviewed. The review of each system consists of two parts: an example of feedback (if an example of feedback supported by each system is available in the literature) and a brief description of the analysis technique that was developed to provide feedback. In Table 2, educational systems for programming that are mentioned in this paper are summarized and a representative reference for each system is cited (because each system may have been reported in several papers). Systems 2016, 4, 22 5 of 17 Table 2. Impact of the educational systems on students programming. Evaluation Feedback Types System Method Result Yes/No Syntax Semantic Layout Quality Ask-Elle [23] ELM-ART Weber and Brusilovsky ([14]) ELP [24] Qualitative evaluation Quantitative and qualitative Qualitative evaluation the feedback services are adequate learners without previous programming knowledge profited more from the learning system in the ELM-ART group than... the system would help them [students] in thinking abstractly and develop their problem solving skills FIT Java Tutor [10] Technical evaluation Y, C Goshi s ist [25] Qualitative evaluation More than 60% students thought these 3 functions [advice, detail, colour] help Hong s PROLOG [26] Technical evaluation Y, I, C INCOM [27] Quantitative and qualitative the system did contribute to the improvement of the students programming skills ITAP [11] Technical evaluation Y, C JACK [28] Quantitative and qualitative Students and tutors got quickly used to use the traces at least for a short glance when reading the feedback messages JavaBugs [29] Technical evaluation Y, I, C JITS [30] Qualitative evaluation Feedback mechanism It provides hints quickly and to the point, JITS helps students solve syntax and logic errors while developing a solution to a problem Y Y Y, I, C Y, C Y, C Y, I, C Y, C Y, C Y Systems 2016, 4, 22 6 of 17 Evaluation Table 2. Cont. Feedback Types System Method Result Yes/No Syntax Semantic Layout Quality J-Latte [31] Quantitative and qualitative The participants knowledge did improve while interacting with the system, and the subjective data collected shows that students like the interaction style and value the feedback obtained jtutor [32] Technical evaluation Y, C Ludwig [33] Quantitative and qualitative Seven students were able to finish the problem, one was almost completed, and two students were somewhat flummoxed and did not complete it, 7 students thought that the style checker was an excellent idea; 2 thought it was a good idea; 1 thought it was an okay idea. MEDD [34] Technical evaluation Y, I, C M-PLAT [35] Technical evaluation Y QuizJet [36] QuizPack [37] Radosevic s system [38] Quantitative evaluation Quantitative evaluation Quantitative evaluation working with the system students were able to improve their scores on in-class weekly quizzes The students work with QuizPACK significantly improved their knowledge of semantics and positively affected higher-level knowledge and skills the tools for program analyses and debugging help them to find the cause of their errors VC PROLOG [39] Technical evaluation Y Y, I, C Y Y Y Y Y, C Y, C Y Systems 2016, 4, 22 7 of Yes/No Feedback The scarcest feedback type is confirmation feedback. Typical systems that provide this feedback type include QuizJet [36], QuizPack [37], and M-PLAT [35]. QuizJet and QuizPack provide individualized assessment questions in Java and C, respectively. QuizJET [... ] was designed as a generic system to author, deliver, and assess a range of parameterized questions for Java programming language. QuizJET can work in both assessment and self-assessment mode
Search
Similar documents
View more...
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks