Abstract
Studying programming in an Open Distance Learning setup can be more challenging than in a contact setup. It can be characterised as a ‘wicked problem’. Wicked problems are problems that are so complex that current problem techniques fail to solve it. Wicked problems require a kind of unorthodox, innovative or creative way. Programming can be considered a subject that presupposes the existence of a number of cognitive functions such as problem solving. Problem solving in general requires critical thinking, and critical thinking is characterised by logic, decision making, paying attention to detail, the availability of all different types of knowledge. All these are prerequisites in the learning of programming. This paper shows that treating programming as a wicked problem can shed some light onto the question why not many students can be successful in programming.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
For comparison see the ‘\(\pi \)’ Pédagogies Innovantes initiative with its ‘FabLab’ at Bordeaux INP, http://pi.espe-aquitaine.fr/eirlab-high-tech-fablab/.
- 2.
This was different in the early days of digital computing when the electronic hardware was scarce and expensive: in those days computer programmers were admired [13].
- 3.
Which is in most textbooks explained only informally and by means of examples.
- 4.
Recall Dijkstra’s striking analogon about calling surgery ‘knife science’ [6].
- 5.
Shortage of formal-grammatical linguistic training in nowadays Secondary Schools (prior to University) might perhaps contribute to the above-mentioned problems.
References
Bergin, S., Reilly, R.: Programming: Factors that Influence Success. ACM SIGCSE Bull. 37(1), 411–415 (2005)
Chamillard, A.T.: Using student performance predictions in a computer science curriculum. In: ITiSE 2006 Proceedings, pp. 25–30. ACM (2006)
Chinnapen, M.: Mathematics learning forum: role of ICT in the construction of pre-service teachers’ content knowledge. Technical report (2003)
Cleland, C.E.: Recipes, algorithms, and programs. Mind. Mach. 11(2), 219–237 (2001)
Conklin, J.: Wicked problems and social complexity. In: Dialogue Mapping: Building Shared Understanding of Wicked Problems. Wiley (2005)
Dijkstra, E.W.: On a Cultural Gap. Math. Intell. 8(1), 48–52 (1986)
El-Zakhem, I., Melki, A.: Identifying difficulties in learning programming languages among freshman students. In: Proceedings of 7th International Technology Education and Development Conference, pp. 1202–1206, Valencia (2013)
Giannakopoulos, A.: How critical thinking, problem-solving and mathematics content knowledge contribute to vocational students’ performance at tertiary level: identifying their journeys. University of Johannesburg, Doctoral Dissertation (2012)
Green, A.J.K., Gillhooly, K.: Problem solving. In: Cognitive Psychology, Oxford University Press (2005)
Halland, K.: Assessing programming by written examinations. In: Gruner, S. (ed.) SACLA 2016. CCIS, vol. 642, pp. 43–50. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-47680-3_4
Hawi, N.: Causal attributions of success and failure made by undergraduate students in an introductory-level computer programming course. In: Computers and Education, pp. 1127–1136 (2010)
Hiebert, J., Lefevre, P.: Conceptual and Procedural Knowledge in Mathematics. Laurence Erlbaum Associates, Mahwah (1986)
Hoenicke, I.: Programmierer am Ende. Die Zeit 7/1995, 10 February 1995
Jenkins, T.: On the Difficulty of Learning to Program. In: Proceedings of 3rd Annual Conference of the LTSN Centre for Information and Computer Sciences, pp. 53–58 (2002)
Jonassen, D.H.: Evaluating Constructivistic Learning. In: Constructivism and the Technology of Instruction: a Conversation. Lawrence Erlbaum Associates (1992)
Kiblasan, J.A., Abufayed, B.F.A., Sehari, A.A., Madamba, F.U., Mhana, K.H.K.: Analyzing the learning style and study habit of students in the faculty of nursing of Al Jabal Al Gharbi University, Gharyan, Libya. Clin. Nurs. Stud. 4(2), 48–56 (2016)
Mazlack, L.J.: Identifying potential to acquire programming skill. Comm. ACM 23, 14–17 (1980)
Mhashi, M.M., Alakeel, A.M.: Difficulties Facing Students in Learning Computer Programming Skills at Tabuk University: Recent Advances. Technical report (2013)
Robins, A., Rountree, J., Rountree, N.: Learning and teaching programming: a review and discussion. Comput. Sci. Educ. 13(1), 137–172 (2010)
Shavelson, R.J., Ruiz-Primo, M.A., Wiley, E.W.: Windows into the Wind. High. Educ. 49, 413–430 (2005)
Sweller, J.: Cognitive load theory, learning difficulty, and instructional design. Learn. Instruct. 4, 295–312 (1994)
Ventura, P.R.J.: Identifying predictors of success for an objects-first CS1. Comput. Sci. Educ. 15(3), 223–243 (2007)
Vincenti, W.: What Engineers Know and How they Know it: Analytical Studies from Æronautical History. John Hopkins University Press, Baltimore (1990)
Willman, S., Lindén, R., Kaila, E., Rajala, T., Laakso, M.J., Salakoski, T.: On study habits on an introductory course on programming. Comput. Sci. Educ. 34(8), 1–16 (2015)
Yaǧci, M.: Blended learning experience in a programming language course, and the effect of the thinking styles of the students on success and motivation. Turk. Online J. Educ. Technol. 4, 32–45 (2016)
Acknowledgements
Thanks to two of my colleagues, A. Mathew and B. Esan, for having made their submissions and having added value to this paper.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Giannakopoulos, A.P. (2017). Programming: A Wicked Subject?. In: Liebenberg, J., Gruner, S. (eds) ICT Education. SACLA 2017. Communications in Computer and Information Science, vol 730. Springer, Cham. https://doi.org/10.1007/978-3-319-69670-6_16
Download citation
DOI: https://doi.org/10.1007/978-3-319-69670-6_16
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-69669-0
Online ISBN: 978-3-319-69670-6
eBook Packages: Computer ScienceComputer Science (R0)