Skip to main content

Mapping the Problem-Solving Strategies of Novice Programmers to Polya’s Framework: SWOT Analysis as a Bottleneck Identification Tool

  • Conference paper
  • First Online:
ICT Education (SACLA 2021)

Abstract

The development of problem-solving skills continues to be a challenge in various disciplines including Computer Science. In this study, we used the principles of the Decoding the Disciplines (DtDs) paradigm to better understand the mental processes that novice programmers follow when answering source code comprehension (SCC) related questions. This understanding can be fundamental in helping novices to overcome problem-solving related challenges. While focusing on step 1 of the DtDs paradigm, the aim of this study was threefold. Firstly, we explored the problem-solving strategies utilised by novice programmers while they were attempting to answer SCC related questions. Secondly, the identified problem-solving strategies were mapped onto Polya’s four problem-solving steps. Finally, we utilised a SWOT analysis as a tool to identify problem-solving related learning bottlenecks. This study utilised an integrated methodological approach where data was collected by means of asking questions, observations, and artefact analysis. Thematic analysis of the collected data revealed a range of problem-solving strategies that these novice programmers utilised while performing various SCC tasks. These strategies were then mapped onto Polya’s problem-solving steps. Based on a SWOT analysis of these strategies, we identified six problem-solving bottlenecks that point to difficulties that are not sufficiently addressed in introductory CS courses.

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 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Similar content being viewed by others

References

  1. Alturki, R.A.: Measuring and improving student performance in an introductory programming course. Inf. Educ. 15(2), 183–204 (2016). https://doi.org/10.15388/infedu.2016.10

    Article  Google Scholar 

  2. Anyango, J.T., Suleman, H.: Teaching programming in Kenya and South Africa: what is difficult and is it universal ? In: Proceedings of the 18th Koli Calling International Conference on Computing Education Research, pp. 1–2. ACM, New York (2018). https://doi.org/10.1145/3279720.3279744

  3. Belski, I.: Teaching thinking and problem solving at university: a course on TRIZ. Creativity Innov. Manag. 18(2), 101–108 (2009). https://doi.org/10.1111/j.1467-8691.2009.00518.x

    Article  Google Scholar 

  4. Bransford, J., Brown, A., Cocking, R.: How People Learn: Brain, Mind, Experience, and School (Expanded). National Academy Press, Washington, D.C. (2000). https://doi.org/10.4135/9781483387772.n2

  5. Bransford, J.D., Stein, B.S.: The Ideal Problem Solver: A Guide for Improving Thinking, Learning, and Creativity, 2nd edn. W.H. Freeman, New York (1993)

    Google Scholar 

  6. Braun, V., Clarke, V.: Using thematic analysis in psychology. Qual. Res. Psychol. 3, 77–101 (2006). https://doi.org/10.1191/1478088706qp063oa

    Article  Google Scholar 

  7. Cheah, C.S.: Factors contributing to the difficulties in teaching and learning of computer programming: a literature review. Contemp. Educ. Tech. 12(2), 1–14 (2020). https://doi.org/10.30935/cedtech/8247

    Article  Google Scholar 

  8. Chi, M., Glaser, R., Rees, E.: Expertise in problem solving. In: Sternberg, R. (ed.) Advances in the Psychology of Human Intelligence, vol. 1, pp. 7–75. Lawrence Erlbaum Associates Inc, New Jersey (1982)

    Google Scholar 

  9. Conn, C., McLean, R.: Bulletproof Problem Solving: The One Skill That Changes Everything. Wiley, Hoboken (2019)

    Google Scholar 

  10. Cunningham, K., Blanchard, S., Ericson, B., Guzdial, M.: Using tracing and sketching to solve programming problems: Replicating and Extending an Analysis of What Students Draw. In: Proceedings of the 2017 ACM Conference on International Computing Education Research, pp. 164–172. ACM, New York (2017). https://doi.org/10.1145/3105726.3106190

  11. Diaz, A., Middendorf, J., Pace, D., Shopkow, L.: The history learning project: a department “decodes” its students. J. Am. Hist. 94(4), 1211–1224 (2008). https://doi.org/10.2307/25095328

    Article  Google Scholar 

  12. Egbert, J.: Methods of Education Technology: Principles, Practice, and Tools. Pearson, New Jersey (2017). https://opentext.wsu.edu/tchlrn445/

  13. Fedorenko, E., Ivanova, A., Dhamala, R., Bers, M.U.: The Language of programming: a cognitive perspective. Trends Cogn. Sci. 23(7), 525–528 (2019). https://doi.org/10.1016/j.tics.2019.04.010

    Article  Google Scholar 

  14. Fitzgerald, S., Simon, B., Thomas, L.: Strategies that students use to trace code: an analysis based in grounded theory. In: Proceedings of the 1st International Workshop on Computing Education Research, pp. 69–80. ACM, New York (2005). https://doi.org/10.1145/1089786.1089793

  15. Herrmann, J.W.: Rational decision making. In: Balakrishnan, N., Colton, T., Everitt, B., Piegorsch, W., Ruggeri, F., Teugels, J.L. (eds.) Wiley StatsRef: Statistics Reference Online, pp. 1–9. Wiley, New York (2017). https://doi.org/10.1002/9781118445112.stat07928

  16. Humphrey, A.S.: SWOT analysis. Long Range Plan. 30, 46–52 (2005)

    Google Scholar 

  17. Khomokhoana, P.J., Nel, L.: Decoding source code comprehension: bottlenecks experienced by senior computer science students. In: Tait, B., Kroeze, J., Gruner, S. (eds.) SACLA 2019. CCIS, vol. 1136, pp. 17–32. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-35629-3_2

    Chapter  Google Scholar 

  18. Lister, R., et al.: A multi-national study of reading and tracing skills in novice programmers. ACM SIGCSE Bull. 36(4), 119–150 (2004). https://doi.org/10.1145/1041624.1041673

    Article  Google Scholar 

  19. Loksa, D., Ko, A.J., Jernigan, W., Oleson, A., Mendez, C.J., Burnett, M.M.: Programming, problem solving, and self-awareness: effects of explicit guidance. In: Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems, pp. 1449–1461. ACM, New York (2016). https://doi.org/10.1145/2858036.2858252

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

    Article  Google Scholar 

  21. Malloy, C.E., Jones, M.G.: An investigation of African American students’ Mathematical problem solving. J. Res. Math. Educ. 29(2), 143–163 (1998)

    Article  Google Scholar 

  22. Margulieux, L.E., Morrison, B.B., Decker, A.: Reducing withdrawal and failure rates in introductory programming with subgoal labeled worked examples. Int. J. STEM Educ. 7(1), 1–16 (2020). https://doi.org/10.1186/s40594-020-00222-7

    Article  Google Scholar 

  23. Middendorf, J.K., Pace, D.: Decoding the disciplines: a model for helping students learn disciplinary ways of thinking. New Dir. Teach. Learn. 98, 1–12 (2004). https://doi.org/10.1002/tl.142

    Article  Google Scholar 

  24. Middendorf, J., Shopkow, L.: Overcoming Student Learning Bottlenecks: Decode Your Disciplinary Critical Thinking. Stylus Publishing LLC, Sterling (2018)

    Google Scholar 

  25. Moore, D., Zabrucky, K., Commander, N.E.: Validation of the metacomprehension scale. Contemp. Educ. Psychol. 22(4), 457–471 (1997). https://doi.org/10.1006/ceps.1997.0946

    Article  Google Scholar 

  26. Pace, D.: The Decoding the Disciplines Paradigm: Seven Steps to Increased Student Learning. Indiana University Press, Bloomington (2017)

    Book  Google Scholar 

  27. Patton, M.Q.: Qualitative Research & Evaluation Methods: Integrating Theory and Practice, 4th edn. SAGE, Thousand Oaks (2015)

    Google Scholar 

  28. Pinnow, E.: Decoding the disciplines: an approach to scientific thinking. Psychol. Learn. Teach. 15(1), 94–101 (2016). https://doi.org/10.1177/1475725716637484

    Article  Google Scholar 

  29. Plowright, D.: Using Mixed Methods: Frameworks for An Integrated Methodology. SAGE, Thousand Oaks (2011)

    Google Scholar 

  30. Polya, G.: How to Solve It: A New Aspect of Mathematical Method. Doubleday, University of Michigan (1957)

    MATH  Google Scholar 

  31. Powell, N., Moore, D., Gray, J., Finlay, J., Reaney, J.: Dyslexia and learning computer programming. ACM SIGCSE Bull. 36(3), 242 (2004). https://doi.org/10.1145/1026487.1008072

    Article  Google Scholar 

  32. Praveen, A.: Program comprehension and analysis. Int. J. Eng. Appl. Comput. Sci. 1(01), 17–21 (2016). https://doi.org/10.24032/ijeacs/0101/04

    Article  Google Scholar 

  33. Preece, J., Rogers, Y., Sharp, H.: Interaction Design: Beyond Human-Computer Interaction, 4th edn. Wiley, New York (2015)

    Google Scholar 

  34. Rahmat, M., Shahrani, S., Latih, R., Yatim, N.F.M., Zainal, N.F.A., Rahman, R.A.: Major problems in basic programming that influence student performance. Proc. Soc. Behav. Sci. 59, 287–296 (2012). https://doi.org/10.1016/j.sbspro.2012.09.277

    Article  Google Scholar 

  35. Renumol, V., Jayaprakash, S., Janakiram, D.: Classification of cognitive difficulties of students to learn computer programming. Indian Institute of Technology (2009). http://dos.iitm.ac.in/publications/LabPapers/techRep2009-01.pdf

  36. Samejima, M., Shimizu, Y., Akiyoshi, M., Komoda, N.: SWOT analysis support tool for verification of business strategy. In: IEEE International Conference on Computational Cybernetics, pp. 631–635. IEEE, Talinn (2006). https://doi.org/10.1109/ICCCYB.2006.305700

  37. Scalabrino, S., et al.: Improving code readability models with textual features. In: Proceedings of the 24th IEEE International Conference on Program Comprehension, pp. 1–10. IEEE, Austin (2016). https://doi.org/10.1109/ICPC.2016.7503707

  38. Scherer, R., Siddiq, F., Sánchez Viveros, B.: A meta-analysis of teaching and learning computer programming: effective instructional approaches and conditions. Comput. Hum. Behav. 109(106349), 1–18 (2020). https://doi.org/10.1016/j.chb.2020.106349

  39. Shopkow, L.: How many sources do I need? Hist. Teach. 50(2), 169–200 (2017)

    Google Scholar 

  40. Uwano, H., Nakamura, M., Monden, A., Matsumoto, K.I.: Analyzing individual performance of source code review using reviewers’ eye movement. In: Proceedings of the 2006 Symposium on Eye Tracking Research & Applications, pp. 133–140. ACM, New York (2006). https://doi.org/10.1145/1117309.1117357

  41. Yurdugül, H., Aşkar, P.: Learning programming, problem solving and gender: a longitudinal study. Proc. Soc. Behav. Sci. 83, 605–610 (2013). https://doi.org/10.1016/j.sbspro.2013.06.115

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Liezel Nel .

Editor information

Editors and Affiliations

Appendix

Appendix

Question 3

Consider the following source code fragment:

figure a

After this source code is executed, count contains:

figure b

Question 6

The following method isSorted should return true if the array is sorted in ascending order. Otherwise, the method should return false:

figure c

Which of the following is the missing source code from the method isSorted?

figure d

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Khomokhoana, P.J., Nel, L. (2022). Mapping the Problem-Solving Strategies of Novice Programmers to Polya’s Framework: SWOT Analysis as a Bottleneck Identification Tool. In: Leung, W.S., Coetzee, M., Coulter, D., Cotterrell, D. (eds) ICT Education. SACLA 2021. Communications in Computer and Information Science, vol 1461. Springer, Cham. https://doi.org/10.1007/978-3-030-95003-3_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-95003-3_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-95002-6

  • Online ISBN: 978-3-030-95003-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics