Skip to main content

PROBSOL: A Web-Based Application to Develop Problem-Solving Skills in Introductory Programming

  • Conference paper
  • First Online:
Smart Technologies and Innovation for a Sustainable Future

Abstract

Problem-solving skills are considered as an important part of learning to program for novice programmers. Different techniques such as pseudocode and flowchart are used to develop these skills. In this study, a web-based application ‘PROBSOL’ was developed and offered to the novices in an introductory programming course to acquire problem-solving skills. The PROBSOL application is based on pseudo-code technique. One of the advantages of this application for novices is to focus on problem domain without worrying about the syntax of the programming language. Practice questions related to all the topics included in the introductory programming course were prepared and offered in the application. The results show a positive impact on the students’ learning outcomes and attrition rate. Students (treatment group) who used the PROBSOL application show better results compared to the control group.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 139.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 179.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Bureau of Labor Statistics, U.S. Department of Labor. Occupational Outlook Handbook, 2014–15 Edition, Computer Programmers. http://www.bls.gov/ooh/computer-and-information-technology/computer-programmers.htm. Last accessed 28 Aug 2015

  2. Guzdial, M., Soloway, E.: Log on education: teaching the Nintendo generation to program. Commun. ACM 45(4), 17–21 (2002)

    Article  Google Scholar 

  3. Lahtinen, E., Ala-Mutka, K., Järvinen, H.M.: A study of the difficulties of novice programmers. ACM SIGCSE Bull. 37(3), 14–18 (2005)

    Article  Google Scholar 

  4. Sykes, E.R.: Determining the effectiveness of the 3D Alice programming environment at the computer science I level. J. Edu. Comput. Res. 36(2), 223–244 (2007)

    Article  Google Scholar 

  5. Yadin, A.: Reducing the dropout rates in an introductory programming course. ACM Inroads 2(4), 71–76 (2011)

    Article  Google Scholar 

  6. Watson, C., Li, F.W.B.: Failure rates in introductory programming revisited. In: Proceedings of ITiCSE, ACM, Uppsala, Sweden (2014)

    Google Scholar 

  7. Zingaro, D.: Examing interest and grades in computer science 1: a study of pedagogy and achievement goals. Trans. Comput. Edu. 15(3). ACM (2015)

    Google Scholar 

  8. De Raadt, M.: Teaching programming strategies explicitly to novice programmers’. Ph.D. thesis, University of Southern Queensland, Australia. Retrieved June 2013, USQ ePrints (2008)

    Google Scholar 

  9. Webster, M.: Overview of Programming and Problem Solving, Merriam-Webster’s Collegiate Dictionary, 10th edn. Retrieved on 15 July 2013, http://computerscience.jbpub.com/vbnet/pdfs/mcmillan01.pdf (1994)

  10. Kölling, M., Rosenberg, J.: 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, MO, USA (1996)

    Google Scholar 

  11. Ala-Mutka, K.: Problems in learning and teaching programming—a literature study for developing visualizations in the codewitz-minerva project. Codewitz Needs Anal. Retrieved 20 Dec 2013, http://www.cs.tut.fi/~edge/literature_study.pdf (2004)

  12. Iqbal, S., Harsh, O.K.: A self review and external review model for teaching and assessing novice programmers. Int. J. Inf. Edu. Technol. 3(2), 120–123 (2013)

    Google Scholar 

  13. Koulouri, T., Lauria, S., Macredie, R.D.: Teaching introductory programming: a quantitative evaluation of different approaches. Trans. Comput. Edu. 14(4). ACM (2015)

    Google Scholar 

  14. Allan, V.H., Kolesar, M.V.: Teaching computer science: a problem solving approach that works. SIGCUE outlook, ACM 25(1–2), 2–10 (1997)

    Article  Google Scholar 

  15. Yoo, J., Yoo, S., Seo, S., Dong, Z., Pettey, C.: Can we teach algorithm development skills?. In: Proceedings of the 50th Annual Southeast Regional Conference, pp. 101–105, ACM, New York (2012)

    Google Scholar 

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

  17. Australian Computer Society: The ICT Profession Body of Knowledge. Retrieved 25 Sep 2015, https://acs.org.au/__data/assets/pdf_file/0013/24502/The-ICT-Profession-Body-of-Knowledge-23-Sept-2013.pdf (2013)

  18. De Raadt, M., Toleman, M., Watson, R.: Textbooks Under Inspection, University of Southern Queensland, Australia. Retrieved May 2013, http://eprints.usq.edu.au/167/1/TechReport_Draft_10.pdf (2005)

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

    Article  Google Scholar 

  20. Soloway, E.: Learning to program = learning to construct mechanisms and explanations. Commun. ACM 29(9), 850–858 (1986)

    Article  Google Scholar 

  21. Hyde, D.C., Gay, B.D., Utter, D.: The integration of a problem solving process in the first course. In: Proceedings of the Tenth SIGCSE Technical Symposium on Computer Science Education, pp. 54–59, ACM, (1979)

    Google Scholar 

  22. Malik, I.S., Coldwell-Neilson, Jo.: A model for teaching an introductory programming course using ADRI. Edu. Inf. Technol. Springer, https://doi.org/10.1007/s10639-016-9474-0 (2017)

    Article  Google Scholar 

  23. Malik, I.S.: 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 (2016)

  24. Oda, Y., Fudaba, H., Neubig, G., Hata, H., Sakti, S., Toda, T., Nakamura, S.: 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), USA, https://doi.org/10.1109/ase.2015.36 (2015)

  25. Taheri, S.M., Sasaki, M., Ngetha, H.N.: 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 (2015)

  26. Malik, I.S., Coldwell-Neilson, J.: Impact of a new teaching and learning approach in an introductory programming course. J. Edu. Comput. Res. 55(6), 789–819. Sage https://doi.org/10.1177/0735633116685852 (2017)

    Article  Google Scholar 

  27. Malik, I.S., Coldwell-Neilson, J.: Comparison of traditional and ADRI based teaching approaches in an introductory programming course. J. Inf. Technol. Edu. Res. 16, 267–283. http://www.informingscience.org/Publications/3793 (2017)

  28. Malik, I.S.: Improvements in Introductory Programming Course: Action Research Insights and Outcomes. Syst. Pract. Action Res. Springer, https://doi.org/10.1007/s11213-018-9446-y (2018)

    Article  Google Scholar 

  29. Malik, I.S., Mathew, R., Chowdhury, M.U., Coldwell-Neilson, J.: Impact of assurance of learning (AOL) in programming course for novices. In: Proceedings of 2nd BCS the Chartered Institute for IT International Conference, BCS Learning and Development, United Arab Emirates (2014)

    Google Scholar 

  30. Malik, I.S., Coldwell-Neilson, J.: Gender differences in an introductory programming course: new teaching approach, students’ learning outcomes, and perceptions. Edu. Inf. Technol. Springer, https://doi.org/10.1007/s10639-018-9725-3 (2018)

    Article  Google Scholar 

  31. Malik, I.S.: Role of ADRI model in teaching and assessing novice programmers. Ph.D. thesis, Deakin University, http://hdl.handle.net/10536/DRO/DU:30088862 (2016)

  32. Paramasivam, G., Manohar, J., Malik, I.S.: Bringing technology into the classroom: receptivity and satisfaction level of faculty members using smart board—an experimental study. In: Proceedings of International Conference on Applied Information and Communication Technology, Oman (2014)

    Google Scholar 

  33. Malik, I.S., Al-Emran, M.: Social factors influence on career choices for female computer science students. Int. J. Emerg. Technol. Learn. 13(5), 56–70 (2018)

    Article  Google Scholar 

  34. Eldow, A., Shakir, M., Abdullah, M.Y., Iqbal, S.: Using Information communication technology as a teaching tool in Sudanese Governmental Universities of Khartoum State. Int. J. Inf. Visual. 1(4), 150–156

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sohail I. Malik .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

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. Springer, Cham. https://doi.org/10.1007/978-3-030-01659-3_34

Download citation

Publish with us

Policies and ethics