Fostering Students-Driven Learning of Computer Programming with an Ensemble of E-Learning Tools

  • Ricardo QueirósEmail author
  • José Paulo Leal
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 746)


Learning through practice is crucial to acquire a complex skill. Nevertheless, learning is only effective if students have at their disposal a wide range of exercises that cover all the course syllabus and if their solutions are promptly evaluated and given the appropriate feedback. Currently the teaching-learning process in complex domains, such as computer programming, is characterized by an extensive curricula and a high enrolment of students. This poses a great workload for faculty and teaching assistants responsible for the creation, delivering and assessment of student exercises. In order to address these issues, we created an e-learning framework - called Ensemble - as a conceptual tool to organize and facilitate technical interoperability among systems and services in domains that use complex evaluation. These domains need a diversity of tools, from the environments where exercises are solved, to automatic evaluators providing feedback on the attempts of students, not forgetting the authoring, management and sequencing of exercises. This paper presents and analyzes the use of Ensemble for managing the teaching-learning process in an introductory programming course at ESEIG - a school of the Polytechnic of Porto. An experiment was conducted to validate a set of hypotheses regarding the expected gains: increase in number of solved exercises, increase class attendance, improve final grades. They support the conclusion that the use of this e-learning framework for the practice-based learning has a positive impact on the acquisition of complex skills, such as computer programming.


E-learning interoperability Distributed and interactive learning environments Programming and programming languages Teaching/learning strategies 



This work is partially funded by the ERDF through the COMPETE 2020 Programme within project POCI-01-0145-FEDER-006961, and by National Funds through the FCT as part of project UID/EEA/50014/2013.


  1. 1.
    Gross, P., Powers, K.: Evaluating assessments of novice programming environments. In: Proceedings of the First International Workshop on Computing Education Research, ICER 2005, pp. 99–110. ACM, New York (2005)Google Scholar
  2. 2.
    Eckerdal, A.: Novice programming students’ learning of concepts and practise. Ph.D. thesis, Uppsala, Uppsala University, Division of Scientific Computing, Numerical Analysis (2009)Google Scholar
  3. 3.
    Ala-Mutka, K.: A survey of automated assessment approaches for programming assignments. J. Comput. Sci. Educ. 15(2), 83–102 (2005). Scholar
  4. 4.
    O’Kelly, J., Gibson, J.P.: Robocode & problem-based learning: a non-prescriptive approach to teaching programming. SIGCSE Bull. 38(3), 217–221 (2006)CrossRefGoogle Scholar
  5. 5.
    Robins, A., Rountree, J., Rountree, N.: Learning and teaching programming: a review and discussion. Comput. Sci. Educ. 13, 137–172 (2003)CrossRefGoogle Scholar
  6. 6.
    Esteves, M., Fonseca, B., Morgado, L., Martins, P.: Improving teaching and learning of computer programming through the use of the Second Life virtual world. Br. J. Educ. Technol. 42(4), 624–637 (2010)CrossRefGoogle Scholar
  7. 7.
    Lahtinen, E., Ala-Mutka, K., Järvinen, H.-M.: A study of the difficulties of novice programmers. SIGCSE Bull. 37(3), 14–18 (2005)CrossRefGoogle Scholar
  8. 8.
    Schulte, C., Bennedsen, J.: What do teachers teach in introductory programming? In: Proceedings of the Second International Workshop on Computing Education Research, ICER 2006, pp. 17–28. ACM, New York (2006)Google Scholar
  9. 9.
    Jenkins, T.: On the difficulty of learning to program. In: 3rd Annual Conference of LTSN-ICS, Loughbourgh (2002)Google Scholar
  10. 10.
    Gomes, A., Mendes, A.J.: Learning to program - difficulties and solutions. In: Proceedings of the International Conference on Engineering Education (2007)Google Scholar
  11. 11.
    Leal, J.P., Queirós, R.: eLearning frameworks: a survey. In: International Technology, Education and Development Conference, Valencia, Spain (2010)Google Scholar
  12. 12.
    Queirós, R., Leal, J.P.: A survey on eLearning content standardization. In: Lytras, M.D., Ruan, D., Tennyson, R.D., Ordonez De Pablos, P., García Peñalvo, F.J., Rusu, L. (eds.) WSKS 2011. CCIS, vol. 278, pp. 433–438. Springer, Heidelberg (2013). Scholar
  13. 13.
    Vansteenkiste, M., Deci, E.L.: Competitively contingent rewards and intrinsic motivation: can losers remain motivated? Motiv. Emot. 27, 273–299 (2003). Scholar
  14. 14.
    Burguillo, J.C.: Using game theory and competition-based learning to stimulate student motivation and performance. Comput. Educ. 55(2), 566–575 (2010)CrossRefGoogle Scholar
  15. 15.
    Siddiqui, A., Khan, M., Akhtar, S.: Supply chain simulator: a scenario-based educational tool to enhance student learning. Comput. Educ. 51(1), 252–261 (2008)CrossRefGoogle Scholar
  16. 16.
    Douce, C., Livingstone, D., Orwell, J.: Automatic test-based assessment of programming: a review. J. Educ. Resour. Comput. 5(3), 4 (2005)CrossRefGoogle Scholar
  17. 17.
    Romli, R., Sulaiman, S., Zamli, K.: Automatic programming assessment and test data generation a review on its approaches. In: 2010 International Symposium in Information Technology (ITSim), vol. 3, pp. 1186–1192 (2010)Google Scholar
  18. 18.
    Tremblay, G., Guérin, F., Pons, A., Salah, A.: Oto, a generic and extensible tool for marking programming assignments. Softw. Pract. Exper. 38(3), 307–333 (2008)CrossRefGoogle Scholar
  19. 19.
    Spacco, J., Hovemeyer, D., Pugh, W., Emad, F., Hollingsworth, J.K., Padua-Perez, N.: Experiences with marmoset: designing and using an advanced submission and testing system for programming courses. SIGCSE Bull. 38(3), 13–17 (2006)CrossRefGoogle Scholar
  20. 20.
    Wang, F.L., Wong, T.-L.: Designing programming exercises with computer assisted instruction. In: Fong, J., Kwan, R., Wang, F.L. (eds.) ICHL 2008. LNCS, vol. 5169, pp. 283–293. Springer, Heidelberg (2008). Scholar
  21. 21.
    Mory, E.H.: Feedback research revisited. In: Handbook of Research for Educational Communications and Technology (2007)Google Scholar
  22. 22.
    Daly, C.: Roboprof and an introductory computer programming course. SIGCSE Bull. 31(3), 155–158 (1999)CrossRefGoogle Scholar
  23. 23.
    Truong, N.K.D.: A web-based programming environment for novice programmers. Ph.D. thesis, Queensland University of Technology (2007)Google Scholar
  24. 24.
    Lee, F., Heyworth, R.: Problem complexity: a measure of problem difficulty in algebra by using computer. Educ. J. 28(1), 85–107 (2000)Google Scholar
  25. 25.
    Queirós, R., Leal, J.P.: PETCHA - a programming exercises teaching assistant. In: ACM SIGCSE 17th Annual Conference on Innovation and Technology in Computer Science Education, Haifa, Israel. ACM (2012)Google Scholar
  26. 26.
    Rongas, T., Kaarna, A., Kalviainen, H.: Classification of computerized learning tools for introductory programming courses: learning approach. In: Kinshuk, Looi, C.-K., Sutinen, E., Sampson, D.G., Aedo, I., Uden, L., Kaahkaonen, E. (eds.) ICALT. IEEE Computer Society (2004)Google Scholar
  27. 27.
    Verdú, E., Regueras, L.M., Verdú, M.J., Leal, J.P., de Castro, J.P., Queirós, R.: A distributed system for learning programming on-line. Comput. Educ. 58, 1–10 (2011)CrossRefGoogle Scholar
  28. 28.
    Xavier, J., Coelho, A.: Computer-based assessment system for e-learning applied to programming education. In: Proceedings of 4th International Conference of Education, Research and Innovations, ICERI 2011, pp. 3738–3747. IATED (2011)Google Scholar
  29. 29.
    Guerreiro, P., Georgouli, K.: Enhancing elementary programming courses using e-learning with a competitive attitude. Int. J. Internet Educ. 10, 38 (2008)Google Scholar
  30. 30.
    Queirós, R., Leal, J.P.: Orchestration of e-learning services for automatic evaluation of programming exercises. 18(11), 1454–1482 (2012).
  31. 31.
    Nielson, F., Nielson, H.R., Hankin, C.: Principles of Program Analysis. Springer New York Inc., Secaucus (1999)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Informatics, CRACS & INESC-Porto LAPolytechnic of PortoPortoPortugal
  2. 2.Faculty of Sciences, CRACS & INESC-Porto LAUniversity of PortoPortoPortugal

Personalised recommendations