Abstract
A significant problem in Computer Science Education is introducing students to programming. Many novice programmers show difficulties in mastering the basics of writing programs. Many students may abandon their study of Computer Science due to these problems. Intelligent Tutoring Systems have been developed to provide guidance and feedback to students. Previous systems require the instructor to prepare extra documentation for the software to function. This creates more work for lecturers who wish to implement such a system. We have developed an Intelligent Tutoring System that will guide a student step-by-step through the writing of simple programs in the language of C++. It will also provide feedback on any mistakes they make. This system will require only a correct version of the code for it to develop its feedback scheme.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Ade-Ibijola, A.: Automatic novice program comprehension for semantic bug detection. PhD Thesis, University of the Witwatersrand, Johannesburg (2016)
Ade-Ibijola, A.: Definitions of plan similarity. In: Personal Communication (2015)
Ade-Ibijola, A., Ewert, S., Sanders, I.: Abstracting and narrating novice programs using regular expressions. In: Proceedings of the Annual Conference of the South African Institute for Computer Scientists and Information Technologists (SAICSIT 2014), pp. 19–28 (2014)
Corbett, A.T., Koedinger, K.R., Anderson, J.R.: Intelligent tutoring systems. Handbook of Human-Computer Interaction, pp. 849–850 (1997)
Ebrahimi, A.: Novice programmer errors: language constructs and plan composition. Int. J. Hum. Comput. Stud. 41(4), 457–480 (1994)
Ebrahimi, A., Schweikert, C.: Empirical study of novice programming with plans and objects. ACM SIGCSE Bulletin 38(4), 52–54 (2006)
Johnson, W.L., Soloway, E.: PROUST: knowledge-based program understanding. IEEE Trans. Softw. Eng. 3, 267–275 (1985)
Kranch, D.A.: Teaching the novice programmer: a study of instructional sequences and perception. Educ. Inf. Technol. 17(3), 291–313 (2012)
Kumar, A.N.: Model-based reasoning for domain modeling in a web-based intelligent tutoring system to help students learn to debug C++ programs. In: Cerri, S.A., Gouardères, G., Paraguaçu, F. (eds.) ITS 2002. LNCS, vol. 2363, pp. 792–801. Springer, Heidelberg (2002)
Lane, H.C., VanLehn, K.: Teaching the tacit knowledge of programming to novices with natural language tutoring. Comput. Sci. Educ. 15(3), 183–201 (2005)
Singh, R., Gulwani, S., Solar-Lezama, A.: Automated feedback generation for introductory programming assignments. ACM SIGPLAN Notices 48(6), 15–26 (2013)
Torgashov, P.: Fast colored textbox for syntax highlighting. http://www.codeproject.com/Articles/161871/Fast-Colored-TextBox-for-syntaxhighlighting
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Durrheim, M.S., Ade-Ibijola, A., Ewert, S. (2016). Code Pathfinder: A Stepwise Programming E-Tutor Using Plan Mirroring. In: Gruner, S. (eds) ICT Education. SACLA 2016. Communications in Computer and Information Science, vol 642. Springer, Cham. https://doi.org/10.1007/978-3-319-47680-3_7
Download citation
DOI: https://doi.org/10.1007/978-3-319-47680-3_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-47679-7
Online ISBN: 978-3-319-47680-3
eBook Packages: Computer ScienceComputer Science (R0)