A Socratic Tutor for Source Code Comprehension (original) (raw)
Related papers
Experiments with a Socratic Intelligent Tutoring System for Source Code Understanding
2020
Computer Science (CS) education is critical in today’s world, and introductory programming courses are considered extremely difficult and frustrating, often considered a major stumbling block for students willing to pursue computer programming related careers. In this paper, we describe the design of Socratic Tutor, an Intelligent Tutoring System that can help novice programmers to better understand programming concepts. The system was inspired by the Socratic method of teaching in which the main goal is to ask a set of guiding questions about key concepts and major steps or segments of complete code examples. To evaluate the Socratic Tutor, we conducted a pilot study with 34 computer science students and the results are promising in terms of learning gains.
Experiments with Auto-generated Socratic Dialogue for Source Code Understanding
2021
Intelligent Tutoring Systems have been proven to generate excellent learning outcomes in many domains such as physics, mathematics and computer programming. However, they have seen relatively little use in training and school classrooms due to the time and cost of designing and authoring. We developed an authoring tool for dialogue-based intelligent tutoring system for programming called Auto-author to reduce the time and cost. The tool allows teachers to create fully functional Socratic tutoring dialogue for learning programming from Java code. First, we conducted a controlled experiment on 45 introductory to programming students to assess auto-authored tutoring dialogues’ learning outcomes. The result shows that the auto-authored dialogues improved students’ programming knowledge by 43% in terms of learning gain. Secondly, we conducted a survey of auto-authored tutoring dialogues by introductory to programming course instructors to evaluate the dialogues’ quality. The result shows...
2015 ASEE Annual Conference and Exposition Proceedings
Many research reports have been published over the last 30 years on the use of intelligent tutoring systems in computer science and software engineering education, but no previous systematic review has been conducted to describe and assess the field as a whole. This project (in progress) searched for publications meeting defined inclusion criteria and identified 280 eligible reports. We are currently coding these works using 28 variables that will allow us to describe the research field in aggregate. The results will tell us: What research questions are being asked? What are the types of student modeling being used? What subject domains have ITS been designed for? What issues or themes are most evident in recent research? What are the gaps in research on intelligent tutoring systems in computer science and software engineering education. Finally, what technological and pedagogical innovations are needed to advance research in this field? Research on intelligent tutoring systems (ITS) has accelerated over the last decade, and scholarly interest in such systems has never been greater. 1 ITS have been developed for a wide range of subject domains (e.g., mathematics, physics, biology, medicine, reading, languages, and philosophy) and for students in primary, secondary and postsecondary levels of education. Although most ITS have been developed by researchers and never deployed outside the laboratory or the single university-level course for which they were designed, there are examples of mature systems that have been deployed more widely and extensively evaluated. 2, 3 Like previous reviewers 1, 4, 5 we have adopted a definition of ITS that emphasizes student modeling as an essential characteristic. We identify an ITS as any computer system that performs teaching or tutoring functions (e.g., selecting assignments, asking questions, giving hints, evaluating responses, providing feedback, prompting reflection, providing comments that boost student interest) and adapts or personalizes those functions by modeling students' cognitive, motivational or emotional states. This definition distinguishes ITS from test-and-branch tutorial systems which individualize instruction by matching a student's most recent response against preprogrammed, question-specific targets. Complicating matters, there are sophisticated
In an attempt to support the growing development of the C++ programming language and to press forward web-based tailored teaching, the C++ Intelligent Tutoring System (CPP-Tutor) was designed and developed. CPP-Tutor expertly checks the student's submitted solution and determines the appropriate feedback. In this research, we describe an experiment in which we try to measure the effectiveness of the CPP-Tutor. This was accomplished by comparing the traditional method of teaching (instructor and textbook) and CPP-Tutor of an introductory course in C++ programming to freshman students in the faculty of Engineering and Information Technology of Al-Azhar University in Gaza. A group of students were taught C++ programming concepts using CPP-Tutor and a second group was taught the same concepts in parallel by traditional methods of teaching. Both groups were coordinated for similar background knowledge of the topics being taught. Post testing revealed that the CPP-Tutor group achieved significantly higher scores than the group taught using the traditional method. Furthermore, The CPP-Tutor group showed that the retention of specific topic of knowledge was better than the traditional method group.
How Effective are Intelligent Tutoring Systems in Computer Science Education?
2014 IEEE 14th International Conference on Advanced Learning Technologies
A meta-analysis on the effectiveness of Intelligent Tutoring Systems (ITS) in computer science education compared the learning outcomes of ITS and non-ITS instruction. A search of the literature found 22 effect sizes (involving 1,447 participants) that met the pre-defined inclusion criteria. Although most of the ITS were used to teach programming, other topics such as database design and computer literacy were also represented. There was a significant overall effect size favoring the use of ITS. There was a significant advantage of ITS over teacher-led classroom instruction and non-ITS computer-based instruction. ITS were more effective than the instructional methods to which they were compared regardless of whether they modeled misconceptions and regardless of whether they were the primary means of instruction or were an integrated component of learning activities that included other means of instruction.
International Journal of Advanced Computer Science and Applications, 2019
Intelligent Tutoring Systems (ITSs) represent the virtual learning environment that provides learning needs, adapts to the characteristics of learners according to their cognitive and behavioral aspects, to reach desired learning outcomes. The purpose of this study is to investigate the impact of embedding some adaptation levels within intelligent tutoring systems on developing Object-Oriented Programming skills (OOP), as well as on learning efficiency for students of the computer science department, Faculty of Science and Arts at Qassem University. In this context, the author developed an Intelligent Tutoring System (ITS) that provides multiple levels of adaptation (Learner level, links level) to support automatic adaptation to each of the students' characteristics and investigate the effectiveness of the system on dependent variables. The random sample consisted of (n=44) students. Those students were divided into two similar groups, Experimental an (ITS), and Control (face-to-face, traditional). The findings revealed that there was a noticeable improvement in the students' performance for the experimental group than the control group how used face-to-face method for the programming skills and learning efficiency.
An automatic tutor for introductory programming students
ACM SIGCSE Bulletin, 1975
A program was developed to use the PLATO IV system of the University of Illinois. to, help students solve typical programing problems. The program tries to approximate a near-ideal situation in which each student receivescorrection of_logiCal errors :and comments. on good programing practice as he goes along in a one-on-one tutorial environment. The tutor program utilizes an AND-OR graph as a representation of all reasonably correct approaches to the particular problem, as veil as many of the wrong approaches introductory students are likely to attempt. The computer-assisted instruction program gives students the personal attention they need for learning the problem solving of computer programs. (NH) aft
Integrating Support for Collaboration in a Computer Science Intelligent Tutoring System
Lecture Notes in Computer Science, 2016
Calls for widespread Computer Science (CS) education have been issued from the White House down and have been met with increased enrollment in CS undergraduate programs. Yet, these programs often suffer from high attrition rates. One successful approach to addressing the problem of low retention has been a focus on group work and collaboration. This paper details the design of a collaborative ITS (CIT) for foundational CS concepts including basic data structures and algorithms. We investigate the benefit of collaboration to student learning while using the CIT. We compare learning gains of our prior work in a non-collaborative system versus two methods of supporting collaboration in the collaborative-ITS. In our study of 60 students, we found significant learning gains for students using both versions. We also discovered notable differences related to student perception of tutor helpfulness which we will investigate in subsequent work.
AnIntelligent Tutoring System for Learning Introduction to Computer Science
2018
The paper describes the design of an intelligent tutoring system for teaching Introduction to Computer Science-a compulsory curriculum in Al-Azhar University of Gaza to students who attend the university. The basic idea of this system is a systematic introduction into computer science. The system presents topics with examples. The system is dynamically checks student's individual progress. An initial evaluation study was done to investigate the effect of using the intelligent tutoring system on the performance of students enrolled in computer science curriculum at Al-Azhar University, Gaza. The results showed a positive impact on the evaluators.
Meaningful learning in the tutoring system for programming
2008
Tutoring systems for programming helps students to understand features of target programming language, and develops their general problem solving skill. Our system guides novices in learning syntax and semantics of programming language, problem decomposition, program design and testing. The notional machine defined by programming language and its verbal description of instruction actions helps students to understand semantics of instructions. Advancement through the course material controlled by computer teacher supports connection of new concepts to the present student's knowledge.