Skip to main content

Intelligent Tutor for Designing Function Interface in a Programming Language

  • Conference paper
  • First Online:
Intelligent Tutoring Systems (ITS 2022)

Abstract

Intelligent tutoring systems play an essential role in learning. In programming learning, the specificity of the learning process is related to creating code in a programming language and developing appropriate skills. One of the basic skills in code development is designing functions and their interfaces in a programming language. For these skills mastering using ITS, it is important to detect the student’s mistakes early and provide formative explanatory feedback for the student to help them find and fix the errors. In this paper, we propose the intelligent approach to explanatory feedback generation for the task of function prototype creation training. We developed an approach to automatic teaching function design, a formal model of the subject domain based on OWL ontology and Jena rules to detect errors in the students’ answers using software reasoners, and intelligent tutor based on the developed formal model.

The reported study was funded by RFBR, project number 20-07-00764.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 69.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 89.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://jena.apache.org.

  2. 2.

    https://pvs-studio.com/en/.

  3. 3.

    The fullscreen figures for all the stages are available at: https://github.com/Kirill34/PrototypeCreatingTutor.

References

  1. Brusilovsky, P., Su, H.-D.: Adaptive visualization component of a distributed web-based adaptive educational system. In: Cerri, S.A., Gouardères, G., Paraguaçu, F. (eds.) ITS 2002. LNCS, vol. 2363, pp. 229–238. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-47987-2_27

    Chapter  Google Scholar 

  2. Cavalcanti, A.P., et al.: Automatic feedback in online learning environments: a systematic literature review. Comput. Educ. Artif. Intell. 2, 100027 (2021). https://doi.org/10.1016/j.caeai.2021.100027

    Article  Google Scholar 

  3. Denisov, M., Anikin, A., Sychev, O.: Dynamic flowcharts for enhancing learners’ understanding of the control flow during programming learning. In: Basu, A., Stapleton, G., Linker, S., Legg, C., Manalo, E., Viana, P. (eds.) Diagrams 2021. LNCS (LNAI), vol. 12909, pp. 408–411. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-86062-2_42

    Chapter  Google Scholar 

  4. Fabic, G.V.F., Mitrovic, A., Neshatian, K.: Adaptive problem selection in a mobile python tutor. In: Adjunct Publication of the 26th Conference on User Modeling, Adaptation and Personalization. ACM (2018). https://doi.org/10.1145/3213586.3225235

  5. Jeuring, J., Gerdes, A., Heeren, B.: A programming tutor for haskell. In: Zsók, V., Horváth, Z., Plasmeijer, R. (eds.) CEFP 2011. LNCS, vol. 7241, pp. 1–45. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32096-5_1

    Chapter  Google Scholar 

  6. Kim, T., Kim, S., Ryu, D.: Coding™: development task visualization for SW code comprehension. In: 2021 Working Conference on Software Visualization (VISSOFT), IEEE, September 2021. https://doi.org/10.1109/vissoft52517.2021.00012

  7. Kumar, A.N.: Generation of problems, answers, grade, and feedback–case study of a fully automated tutor. J. Educ. Resour. Comput. 5(3), 3 (2005). https://doi.org/10.1145/1163405.1163408

    Article  Google Scholar 

  8. Kumar, A.N.: An epistemic model-based tutor for imperative programming. In: Roll, I., McNamara, D., Sosnovsky, S., Luckin, R., Dimitrova, V. (eds.) AIED 2021. LNCS (LNAI), vol. 12749, pp. 213–218. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-78270-2_38

    Chapter  Google Scholar 

  9. Le, N.T.: A classification of adaptive feedback in educational systems for programming. Systems 4(2), 22 (2016). https://doi.org/10.3390/systems4020022

    Article  Google Scholar 

  10. Liu, F., Li, G., Fu, Z., Lu, S., Hao, Y., Jin, Z.: Learning to recommend method names with global context (2022). https://doi.org/10.48550/arXiv.2201.10705

  11. Nie, P., Zhang, J., Li, J.J., Mooney, R.J., Gligoric, M.: Evaluation methodologies for code learning tasks, August 2021. https://arxiv.org/pdf/2108.09619.pdf

  12. O’Rourke, E., Butler, E., Díaz Tolentino, A., Popović, Z.: Automatic generation of problems and explanations for an intelligent algebra tutor. In: Isotani, S., Millán, E., Ogan, A., Hastings, P., McLaren, B., Luckin, R. (eds.) AIED 2019. LNCS (LNAI), vol. 11625, pp. 383–395. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-23204-7_32

    Chapter  Google Scholar 

  13. Papadakis, S., Kalogiannakis, M., Zaranis, N.: Developing fundamental programming concepts and computational thinking with Scratch Jr in preschool education: a case study. Int. J. Mob. Learn. Organ. 10(3), 187 (2016). https://doi.org/10.1504/ijmlo.2016.077867

    Article  Google Scholar 

  14. Psotka, J., Mutter, S.: Intelligent Tutoring Systems: Lessons Learned. Lawrence Erlbaum Associates, Mahwah (1988)

    Google Scholar 

  15. Rathore, A.S., Arjaria, S.: Intelligent Tutoring System, pp. 121–144 (01 2020). https://doi.org/10.4018/978-1-7998-0010-1.ch006

  16. Sirkiä, T.: Recognizing programming misconceptions. An analysis of the data collected from the UUhistle program simulation tool. Master’s thesis, Aalto University. School of Science (2012). http://www.uuhistle.org/publications/sirkia_masters_thesis.pdf

  17. Sychev, O., Anikin, A., Penskoy, N., Denisov, M., Prokudin, A.: CompPrehension - model-based intelligent tutoring system on comprehension level. In: Cristea, A.I., Troussas, C. (eds.) ITS 2021. LNCS, vol. 12677, pp. 52–59. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-80421-3_6

    Chapter  Google Scholar 

  18. Uehara, M.: Programming learning by creating problems. In: 2020 Eighth International Symposium on Computing and Networking Workshops (CANDARW), IEEE, November 2020. https://doi.org/10.1109/candarw51189.2020.00059

  19. Yoo, J., Pettey, C., Seo, S., Yoo, S.: Teaching programming concepts using algorithm tutor. In: EdMedia+ Innovate Learning, pp. 3549–3559 (2010)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Anton Anikin .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Litovkin, D., Anikin, A., Kulyukin, K., Sychev, O. (2022). Intelligent Tutor for Designing Function Interface in a Programming Language. In: Crossley, S., Popescu, E. (eds) Intelligent Tutoring Systems. ITS 2022. Lecture Notes in Computer Science, vol 13284. Springer, Cham. https://doi.org/10.1007/978-3-031-09680-8_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-09680-8_27

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-09679-2

  • Online ISBN: 978-3-031-09680-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics