Skip to main content

Advertisement

Log in

Learning problem solving skills: Comparison of E-learning and M-learning in an introductory programming course

  • Published:
Education and Information Technologies Aims and scope Submit manuscript

Abstract

Problem solving skills are considered an integral part of grasping the precise concepts of the programming domain for novices in introductory programming (IP) courses. But these skills are mostly covered only in early lectures of such courses or are included in just a few early chapters of some relevant textbooks. Consequently, high failure and dropout rates are often reported in IP courses. In this study, we developed and introduced an application, called PROBSOL, which is designed to focus on, and enhance, novice programmers’ problem solving skills. Two versions of the application were developed, a web-based version and a mobile app. The applications were based on pseudo-code techniques. A survey was implemented to collect students’ feedback and semi-structured interviews were conducted to collect instructors’ opinion about the applications. Moreover, final exam grades over two semesters were compared to determine the impact of including the PROBSOL applications in the course. The results show that both students and instructors appreciated the applications and that their use supports students’ cognitive gains and engagement. Moreover, they promote students’ affective engagement in the IP course. The use of the applications improves novices’ programming understanding, logic capabilities and problem solving skills. However, students preferred the mobile version rather than the web-based version during the course. The comparison of students’ grades showed that the students’ achievements were improved and attrition rates were reduced after introducing the PROBSOL applications in the course.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

References

  • ACM-IEEE Joint Task Force on Computing Curricula,: Computer Science Curricula 2013 (2013). ACM Press and IEEE Computer Society press. https://doi.org/10.1145/2534860

  • Ala-Mutka, K. (2004). Problems in learning and teaching programming – a literature study for developing visualizations in the codewitz-minerva project, Codewitz needs analysis, retrieved 20/10/2018, http://www.cs.tut.fi/~edge/literature_study.pdf.

  • Australian Computer Society (2013). The ICT profession body of knowledge, retrieved 25/9/2015, acs.org.au/__data/assets/pdf_file/0013/24502/The-ICT-Profession-Body-of-Knowledge-23-Sept-2013.pdf.

  • De Raadt, M. (2008). Teaching programming strategies explicitly to novice programmers’, PhD thesis, University of Southern Queensland, Australia, retrieved 3/5/2018, USQ ePrints, https://eprints.usq.edu.au/4827/.

  • De Raadt, M., Toleman, M., & Watson, R. (2005). Textbooks under inspection, University of Southern Queensland, Australia, retrieved 5/6/2018, http://eprints.usq.edu.au/167/1/TechReport_Draft_10.pdf.

  • Hooshyar, D., Ahmad, R. B., Yousefi, M., Yusop, F. D., & Horng, S. J. (2015). A flowchart-based intelligent tutoring system for improving problem-solving skills of novice programmers. Journal of Computer Assisted Learning, 31(4), 345–361. https://doi.org/10.1111/jcal.12099.

    Article  Google Scholar 

  • Hulme, A. K. (2007). Mobile usability in educational context: What have we learnt? International Review of Research in Open and Distance Learning, 8(2), 1–17.

    Article  Google Scholar 

  • Iqbal, S., & Harsh, O. K. (2013). A self review and external review model for teaching and assessing novice programmers. International Journal of Information and Education Technology, 3(2), 120–123.

    Article  Google Scholar 

  • Iqbal, S., Chowdhury, M., & Harsh, O. K. (2013). Mobile devices supported learning for novice programmers. In Proceeding of the 2nd international conference on E-learning and E-technologies in education (pp. 277–282). Poland: IEEE.

    Google Scholar 

  • Kanaki, K., & Kalogiannakis, M. (2018). Introducing fundamental object-oriented programming concepts in preschool education within the context of physical science courses. Education and Information Technologies, 23(6), 2673–2698.

    Article  Google Scholar 

  • Keegan, D. (2012). The future of learning: From eLearning to mLearning, ZIFF papiere 119. Retrieved from https://files.eric.ed.gov/fulltext/ED472435.pdf. Accessed 20 Dec 2018.

  • Kölling, M., & Rosenberg, J. (1996). BlueJ - a language for teaching object-oriented programming. In Proceedings of the 27th SIGCSE Technical Symposium on Computer Science Education, pp. 190–194, St. Louis, USA.

  • Koulouri, T., Lauria, S., & Macredie, R. D. (2015). Teaching introductory programming: A quantitative evaluation of different approaches. Transactions of Computer Education, 14(4) ACM.

  • Malik, I.S. (2016a). Role of ADRI model in teaching and assessing novice programmers, PhD Thesis, Deakin University, Retrieved April 2017, http://dro.deakin.edu.au/view/DU:30088862.

  • Malik, I.S. (2016b). Enhancing practice and achievement in introductory programming using an ADRI editor. In Proceedings of the IEEE International Conference on Teaching, Assessment and Learning for Engineering, pp. 32–39, IEEE, Thailand, 7–9 December. https://doi.org/10.1109/TALE.2016.7851766.

  • Malik, I. S. (2019). Assessing the teaching and learning process of an introductory programming course with Bloom's taxonomy and Assurance of Learning (AOL). International Journal of Information and Communication Technology Education (IJICTE), 15(2), 130–145. https://doi.org/10.4018/IJICTE.2019040108.

    Article  Google Scholar 

  • Malik, I. S., & Coldwell-Neilson, J. (2016). A model for teaching an introductory programming course using ADRI. Education and Information Technologies. Springer. https://doi.org/10.1007/s10639-016-9474-0.

  • Malik, I. S., & Coldwell-Neilson, J. (2017a). Comparison of traditional and ADRI based teaching approaches in an introductory programming course. Journal of Information Technology Education: Research, 16, 267–283. Retrieved from http://www.informingscience.org/Publications/3793. Accessed 04 May 2018

  • Malik, S.I., & Coldwell-Neilson, Jo. (2017b). Impact of a new teaching and learning approach in an introductory programming course. Journal of Educational Computing Research, SAGE, vol. 55, No. 6, pp. 789–819, 2017. DOI: https://doi.org/10.1177/0735633116685852

  • Malik, I.S., & Coldwell-Neilson, Jo. (2018). Gender difference in an introductory programming course: New teaching approach, students’ learning outcomes, and perceptions. Education and Information Technologies, vol. 23, No. 6, pp. 2453–2475. DOI: https://doi.org/10.1007/s10639-018-9725-3, Springer.

  • Malik, S.I., Mathew, R., & Hammood, M.M. (2019). PROBSOL: A web-based application to develop problem solving skills in introductory programming. In: Al-Masri A., Curran K. (eds) Smart Technologies and Innovation for a Sustainable Future. Advances in Science, Technology & Innovation, pp. 295–302, Springer.

  • Oda, Y., Fudaba, H., Neubig, G., Hata, H., Sakti, S., Toda, T., & Nakamura, S. (2015). Learning to generate Pseudo-code from source code using statistical machine translation. In Proceedings of 30th IEEE/ACM international conference on Automated Software Engineering (ASE). https://doi.org/10.1109/ASE.2015.36, USA.

    Google Scholar 

  • Papadakis, S., Kalogiannakis, M., Zaranis, N., & Orfanakis, V. (2016). Using scratch and app inventor for teaching introductory programming in secondary education. A case study. International Journal of Technology Enhanced Learning, 8(3/4), 217–233.

    Article  Google Scholar 

  • Reardon, S., & Tangney, B. (2014). Smartphones, studio-based learning, and scaffolding: Helping novice learn to program. Transaction on Computing Education, 14(4) ACM.

  • Robins, A., Rountree, J., & Rountree, N. (2003). Learning and teaching programming: A review and discussion. Computer Science Education, 13(2), 137–172.

    Article  Google Scholar 

  • Sarkar, N., Ford, W., & Manzo, C. (2017). Engaging digital natives through social learning. Systemics, Cybernetics and Informatics, 15(2), 1–4.

    Google Scholar 

  • Shanthi, D., & Al-Mukheini, T.S. (2010). Impact of mobile learning in the colleges of applied sciences in Sultanate of Oman. In 2nd International conferences on higher education and quality assurance, 12–13 June, Muscat, Oman.

  • Shuhidan, S.M. (2012). Probing the minds of novice programmers through guided learning, PhD thesis, RMIT University, Australia.

  • Soloway, E. (1986). Learning to program = learning to construct mechanisms and explanations. Communications of the ACM, 29(9), 850–858.

    Article  Google Scholar 

  • Taheri, S. M., Sasaki, M., & Ngetha, H. N. (2015). Evaluating the effectiveness of problem solving techniques and tools in programming. In Proceedings of Science and Information Conference (SAI) IEEE. https://doi.org/10.1109/SAI.2015.7237253, UK.

    Google Scholar 

  • Tawafak, R. M., Romli, A. B., Arshah, R. B. A., & Almaroof, R. A. S. (2018). Assessing the impact of technology learning and assessment method on academic performance: Review paper. Eurasia Journal of Mathematics, Science and Technology Education, 14(6), 2241–2254. https://doi.org/10.29333/ejmste/87117.

    Article  Google Scholar 

  • Webster, M. (1994). Overview of programming and problem solving, Merriam-Webster’s collegiate dictionary, Tenth Edition, retrieved on 15/7/ 2018, http://computerscience.jbpub.com/vbnet/pdfs/mcmillan01.pdf.

  • Winslow, L. E. (1996). Programming pedagogy—a psychological overview. ACM SIGCSE Bulletin, 28(3), 17–22.

    Article  Google Scholar 

  • Yoo, J., Yoo, S., Seo, S., Dong, Z., & Pettey, C. (2012). Can we teach algorithm development skills? In Proceedings of the 50th annual southeast regional conference (pp. 101–105). New York: ACM.

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sohail Iqbal Malik.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Malik, S.I., Mathew, R., Al-Nuaimi, R. et al. Learning problem solving skills: Comparison of E-learning and M-learning in an introductory programming course. Educ Inf Technol 24, 2779–2796 (2019). https://doi.org/10.1007/s10639-019-09896-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10639-019-09896-1

Keywords

Navigation