Model of identification of programming knowledge units in applying during coding

Abstract


Studies that presented models for identifying students' knowledge in programming in computing learning environments did not investigate ways to identify knowledge units in the process of being applied during coding. This type of information can be useful for decision making in adaptive environments, such as offering support when the student is trying to apply specific knowledge. This work presents and evaluates a model based on syntax analysis. It accompanies the student coding and identifies units of programming knowledge in application. The results showed a good agreement between the model's inferences and experts' judgments.
Keywords: student knowledge identification, computer programming, computer-based learning environments

References

Ala-Mutka, K. M. (2005). A survey of automated assessment approaches for programming assignments. Computer Science Education, 15(2):83–102.


Brennan, R. L. and Prediger, D. J. (1981). Coefficient kappa: Some uses, misuses, and alternatives.Educational and Psychological Measurement, 41(3):687–699.


Burns, H. L. and Capps, C. G. (1988). Foundations of intelligent tutoring systems: An introduction. Foundations of intelligent tutoring systems, pages 1–19.


Cheang, B., Kurnia, A., Lim, A., and Oon, W.-C. (2003). On automated grading of programming assignments in an academic institution. C&E, 41(2):121–131.


Cohen, J. (1960). A Coefficient of Agreement for Nominal Scales. Educational and Psychological Measurement, 20(1):37–46.


Corbett, A. T. and Bhatnagar, A. (1997). Student Modeling in the ACT ProgrammingTutor: Adjusting a Procedural Learning Model With Declarative Knowledge. User Modeling, pages 243–254.


Fleiss, J. L., Levin, B., and Paik, M. C. (2004). The Measurement of Interrater-Agreement. Statistical Methods for Rates and Proportions, pages 598–626.


Jackson, D. and Usher, M. (1997). Grading student programs using assyst. SIGCSE Bull., 29(1): 335–339.


Kasurinen, J. and Nikula, U. (2009). Estimating programming knowledge with Bayesian knowledge tracing. ACM SIGCSE Bulletin, 41(3): 313.


Liang, Y., Liu, Q., Xu, J., and Wang, D. (2009). The recent development of automated programming assessment.Proceedings of CiSE 2009.


Parr, T. (2013). The Definitive ANTLR 4 Reference. Pragmatic Bookshelf, 2nd edition.


Patel, A., Panchal, D., and Shah, M. (2015). Towards improving automated evaluation of java program. In 49th Convention of the CSI Volume 1, pages 489–496. Springer.


Porfirio, A., Pereira, R., and Maschio, E. (2017). Atualização do Modelo do Aprendiz de Programação de Computadores com o Uso de Parser AST. CBIE 2017.


Porfirio, A. J. (2020). Identifying evidences of computer programming skills through automatic source code evaluation. PhD thesis, Universidade Federal do Paraná.


Randolph, J. J. (2005). Free-marginal multirater kappa (multirater κ free): An alternative to fleiss’ fixed-marginal multirater kappa. InJLIS 2005.


Singh, R., Gulwani, S., and Solar-Lezama, A. (2013). Automated feedback generation for introductory programming assignments. In 34th ACM SIGPLAN, NY, USA.


Sison, R. and Shimura, M. (1998). Student Modeling and Machine Learning.International Journal of Artificial Intelligence in Education, 9:128–158.


Vanlehn, K. (2006). The behavior of tutoring systems. International journal of artificial intelligence in education, 16(3):227–265.


Vier, J., Gluz, J. C., and Jaques, P. A. (2015). Empregando Redes Bayesianas para modelar automaticamente o conhecimento dos alunos em Lógica de Programação. Revista Brasileira de Informática na Educação, 23(02): 45.


Wang, L., Sy, A., Liu, L., and Piech, C. (2017). Deep knowledge tracing on programming exercises. L@S 2017 - Proceedings of the 4th (2017) ACM L@S, pages 201–204.


Woolf, B. P. (2008). Building Intelligent Interactive Tutors: Student-Centered Strategies for Revolutionizing e-Learning. Morgan Kaufmann, San Francisco, CA, USA.
Published
2020-11-24
KAUTZMANN, Tiago R.; JAQUES, Patricia A.. Model of identification of programming knowledge units in applying during coding. In: BRAZILIAN SYMPOSIUM ON COMPUTERS IN EDUCATION (SBIE), 31. , 2020, Online. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2020 . p. 982-991. DOI: https://doi.org/10.5753/cbie.sbie.2020.982.