Learning problem solving skills: Comparison of E-learning and M-learning in an introductory programming course
- 17 Downloads
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.
KeywordsProblem solving skills Computer programming M-learning Pseudo-code E-learning
- 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.
- 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
- 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.Google Scholar
- Koulouri, T., Lauria, S., & Macredie, R. D. (2015). Teaching introductory programming: A quantitative evaluation of different approaches. Transactions of Computer Education, 14(4) ACM.Google Scholar
- 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.CrossRefGoogle 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.Google Scholar
- 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
- Reardon, S., & Tangney, B. (2014). Smartphones, studio-based learning, and scaffolding: Helping novice learn to program. Transaction on Computing Education, 14(4) ACM.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.Google Scholar
- Shuhidan, S.M. (2012). Probing the minds of novice programmers through guided learning, PhD thesis, RMIT University, Australia.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.CrossRefGoogle 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.