Advertisement

An Interactive Tool to Support Student Assessment in Programming Assignments

  • Lina F. Rosales-CastroEmail author
  • Laura A. Chaparro-Gutiérrez
  • Andrés F. Cruz-Salinas
  • Felipe Restrepo-Calle
  • Jorge Camargo
  • Fabio A. González
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10022)

Abstract

The paper presents an interactive tool for analysis of a set of source code submissions made by students when solving a programming assignment. The goal of the tool is to give a concise but informative overview of the different solutions submitted by the students, identifying groups of similar solutions and visualizing their relationships in a graph. Different strategies for calculating the solution groups as well as for visualizing the solution graphs were evaluated over a set of real codes submitted by students of an algorithms class.

Keywords

Programming education Visualization Source code analysis 

References

  1. 1.
    Plotly python library (2014). https://plot.ly/python/. Accessed 14 April 2016
  2. 2.
    Scikit-learn clustering (2014). http://scikit-learn.org/stable/modules/manifold. Accessed 14 April 2016
  3. 3.
    Domjudge (2016). https://www.domjudge.org/. Accessed 15 May 2016
  4. 4.
    Java 7 grammar (2016). https://github.com/antlr/grammars-v4/tree/master/java. Accessed 5 April 2016
  5. 5.
    Python 3 grammar (2016). https://github.com/antlr/grammars-v4/tree/master/python3. Accessed 17 April 2016
  6. 6.
    Ala-Mutka, K.M.: A survey of automated assessment approaches for programming assignments. Comput. Sci. Educ. 15(2), 83–102 (2005)CrossRefGoogle Scholar
  7. 7.
    Cohen, W.W., Ravikumar, P.D., Fienberg, S.E., et al.: A comparison of string distance metrics for name-matching tasks. IIWeb. 2003, 73–78 (2003)Google Scholar
  8. 8.
    Frey, B.J., Dueck, D.: Clustering by passing messages between data points. Science 315(5814), 972–976 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Fruchterman, T.M., Reingold, E.M.: Graph drawing by force-directed placement. Softw. Pract. Exp. 21(11), 1129–1164 (1991)CrossRefGoogle Scholar
  10. 10.
    Gaudencio, M., Dantas, A., Guerrero, D.D.: Can computers compare student code solutions as well as teachers?. In: Proceedings of the 45th ACM technical symposium on Computer science education, pp. 21–26. ACM (2014)Google Scholar
  11. 11.
    Glassman, E.L., Scott, J., Singh, R., Guo, P.J., Miller, R.C.: Overcode: visualizing variation in student solutions to programming problems at scale. Acm Trans. Comput. Hum. Interact. (TOCHI) 22(2), 7 (2015)CrossRefGoogle Scholar
  12. 12.
    Jackson, D., Rinard, M.: Software analysis: a roadmap. In: Proceedings of the Conference on the Future of Software Engineering, pp. 133–145. ACM (2000)Google Scholar
  13. 13.
    Koschke, R., Falke, R., Frenzel, P.: Clone detection using abstract syntax suffix trees. In: Proceedings of the 13th Working Conference on Reverse Engineering, pp. 253–262. IEEE Computer Society, Washington, DC (2006) doi: 10.1109/WCRE.2006.18
  14. 14.
    Ng, A.Y., Jordan, M.I., Weiss, Y., et al.: On spectral clustering: analysis and an algorithm. Adv. Neural Inf. Process. Syst. 2, 849–856 (2002)Google Scholar
  15. 15.
    Nguyen, A., Piech, C., Huang, J., Guibas, L.: Codewebs: scalable homework search for massive open online programming courses. In: Proceedings of the 23rd International Conference on World Wide Web, pp. 491–502. ACMGoogle Scholar
  16. 16.
    Parr, T., Harwell, S., Fisher, K.: Adaptive LL(*) parsing: the power of dynamic analysis. ACM SIGPLAN Not. 49, 579–598 (2014)CrossRefGoogle Scholar
  17. 17.
    Pieterse, V.: Automated assessment of programming assignments. In: Proceedings of the 3rd Computer Science Education Research Conference on Computer Science Education Research, pp. 45–56. Open Universiteit, Heerlen (2013)Google Scholar
  18. 18.
    Revilla, M.A., Manzoor, S., Liu, R.: Competitive learning in informatics: the UVA online judge experience. Olymp. Inform. 2, 131–148 (2008)Google Scholar
  19. 19.
    Singh, P., Singh, S., Kaur, J.: Tool for generating code metrics for c# source code using abstract syntax tree technique. SIGSOFT Softw. Eng. Notes 38(5), 1–6 (2013). doi: 10.1145/2507288.2507312 Google Scholar
  20. 20.
    Torgerson, W.S.: Multidimensional scaling: I. Theory and method. Psychometrika 17(4), 401–419 (1952)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Winkler, W.E.: String comparator metrics and enhanced decision rules in the Fellegi-Sunter model of record linkage. In: Proceedings of the Section on Survey Research, American Statistical Association, pp. 354–359 (1990)Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Lina F. Rosales-Castro
    • 1
    Email author
  • Laura A. Chaparro-Gutiérrez
    • 1
  • Andrés F. Cruz-Salinas
    • 1
  • Felipe Restrepo-Calle
    • 1
  • Jorge Camargo
    • 2
  • Fabio A. González
    • 1
  1. 1.MindLab Research GroupUniversidad Nacional de ColombiaBogotáColombia
  2. 2.Laboratory for Advanced Computational Science and Engineering ResearchUniversidad Antonio NariñoBogotáColombia

Personalised recommendations