Multimedia System for Self-learning C/C++ Programming Language

  • José GalindoEmail author
  • Patricia Galindo
  • José María Rodríguez Corral
Conference paper
Part of the Learning and Analytics in Intelligent Systems book series (LAIS, volume 7)


The C programming language is widely used in computer and industrial engineering. Because of that, such programming language is also widely used as a language to teach programming to industrial engineering students. In Spain, many universities use this language compulsory in the first year, or even in higher courses. Our experience shows that learning computer programming in four months is an arduous task, but curricula require it. Such learning process is also tough by the fact that many students cannot attend classes regularly and, even if they attend, sometimes the class is no longer at the level they require. In this work we develop a series of files in “presentation” format (.ppsx) and videos that allow students to see several explanations about the most complicated programming C topics: functions, arrays, structures, strings, arrays with structures… This multimedia material includes explanations (voice-over), and animations with examples. Students can watch and listen to the explanations whenever and wherever they want (tablet, PC, phone…). Surveys made to students reveal that it is also interesting for students who regularly attend classes, and they prefer to use this course material only at home, outside of regular classes.


Programming languages Multimedia teaching Autonomous learning C/C++ language 



The authors would like to express their gratitude to the University of Málaga, supporting this work under the PIE17-175 project entitled “Autoaprendizaje de programación de ordenadores”.


  1. 1.
    Annamalai, S., Salam, S.N.A.: A multimedia approach towards learning C programming: a discussion from novice learners’ perspective. J. Telecommun. Electron. Comput. Eng. 9(2–12), 99–103 (2017)Google Scholar
  2. 2.
    Chansilp, K., Oliver, R.: Using multimedia to develop students’ programming concepts. In: Proceedings of EDU-COM 2002, pp. 91–101 (2003)Google Scholar
  3. 3.
    Erwig, M., Smeltzer, K., Wang, X.: What is a visual language? J. Vis. Lang. Comput. 38, 9–17 (2017)CrossRefGoogle Scholar
  4. 4.
    Galindo, J., Galindo, P.: Teaching computer programming for industrial engineering without teacher. In: 7th Teaching & Education Conference, pp. 58–66 (2019).
  5. 5.
    Gomes, A., Mendes, A.J.: Learning to program-difficulties and solutions. In: Proceedings of the International Conference on Engineering Education (ICEE), Coimbra, Portugal (2007)Google Scholar
  6. 6.
    Horn, M.S., Solovey, E.T., Crouser, R.J., Jacob, R.J.: Comparing the use of tangible and graphical programming languages for informal science education. In: Proceedings of the 27th Conference on Human Factors Computing Systems (CHI), Boston, MA, USA, pp. 975–984 (2009)Google Scholar
  7. 7.
    Lahtinen, E., Ala-Mutka, K., Järvinen, H.: A study of the difficulties of novice programmers. In: Proceedings of the 10th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE), Caparica, Portugal, pp. 14–18 (2005)Google Scholar
  8. 8.
    Law, M.Y., Lee, C.S., Yu, Y.T.: Learning motivation in e-learning facilitated computer programming courses. Comput. Educ. 55(1), 218–228 (2010)CrossRefGoogle Scholar
  9. 9.
    Lee, M.J., Koo, A.J.: Personifying programming tool feedback improves novice programmers’ learning. In: Proceedings of the Seventh International Workshop on Computing Education Research, pp. 109–116 (2011)Google Scholar
  10. 10.
    Milne, I., Rowe, G.: Difficulties in learning and teaching programming-views of students and tutors. Educ. Inf. Technol. 7(1), 55–66 (2002)CrossRefGoogle Scholar
  11. 11.
    Monk, S.: Programming Arduino: Getting Started with Sketches. McGraw Hill, New York (2012)Google Scholar
  12. 12.
    Naz, S., Shirazi, S.H., Iqbal, T., Irfan, D., Junaid, M., Naseer, Y.: Learning programming through multimedia and dry-run. Res. J. Appl. Sci. Eng. Technol. 7(21), 4455–4463 (2014)CrossRefGoogle Scholar
  13. 13.
    Rodríguez Corral, J.M., Ruíz-Rube, I., Civit Balcells, A., Mota-Macías, J.M., Morgado-Estévez, A., Dodero, J.M.: Study on the suitability of visual languages for non-expert robot programmers. IEEE Access 7, 17535–17550 (2019)CrossRefGoogle Scholar
  14. 14.
    Weragama, D., Reye, J.: Analysing student programs in the PHP intelligent tutoring system. Int. J. Artif. Intell. Educ. 24(2), 162–188 (2014)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  • José Galindo
    • 1
    Email author
  • Patricia Galindo
    • 1
  • José María Rodríguez Corral
    • 2
  1. 1.Dpto. Lenguajes y Ciencias de la ComputaciónUniversity of MálagaMálagaSpain
  2. 2.Dpto. Ingeniería InformáticaUniversity of CádizCádizSpain

Personalised recommendations