Abstract
Computer programming is not only to know about the languages or the processes, it is essentially to know how to do it. This involves a constructivist approach in learning. For a newbie in computer programming it is hard to understand the difference between know-about disciplines and the know-how-to-do-it ones. This leads to failure because when they understand they aren’t able to solve a programming problem it is usually too late to catch all the time meanwhile lost. Our solution is to get them to fail soon enough. This way they still have time to recover from an eventually bad start.
For an average student to realize a failure it is required a failed examination. This is the fourth year we are adopting automated weekly tests for fast failure and consequent motivation for study, in the university first year discipline of computer programming fundamentals. The results are convincing.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Robins, A., Rountree, J., Rountree, N.: Learning and Teaching Programming: A Review and Discussion. Computer Science Education 13(2), 137–172 (2003)
Cook, W.R.: High-level problems in teaching undergraduate programming languages. SIGPLAN Not. 43(11), 55–58 (2008)
Duke, R., et al.: Teaching programming to beginners - choosing the language is just the first step. In: Proceedings of the Australasian conference on Computing education. ACM, Melbourne (2000)
Teague, D., Roe, P.: Collaborative learning: towards a solution for novice programmers. In: Proceedings of the tenth conference on Australasian computing education, vol. 78. Australian Computer Society, Inc., Wollongong (2008)
Winslow, L.E.: Programming pedagogy – a psychological overview. SIGCSE Bull. 28(3), 17–22 (1996)
Spohrer, J.C., Soloway, E.: Novice mistakes: Are the folk wisdoms correct? Commun. ACM 29(7), 624–632 (1986)
Jenkins, T.: On the Difficulty of Learning to Program. In: 3rd annual Conference of LTSN-ICS (2002)
Gomes, A., Mendes, A.J.: Learning to program - difficulties and solutions. In: International Conference on Engineering Education – ICEE 2007, Coimbra, Portugal (2007)
Kolb, D., Fry, R.: Toward an applied theory of experiential learning. In: Cooper, C. (ed.) Theories of Group Process. John Wiley, London (1975)
Steffe, L.P., Gale, J. (eds.): Constructivism in Education. Lawrence Erlbaum Associates, Hillsdale (1995)
Ben-Ari, M.: Constructivism in computer science education. SIGCSE Bull. 30(1), 257–261 (1998)
Hadjerrouit, S.: Constructivism as guiding philosophy for software engineering education. SIGCSE Bull. 37(4), 45–49 (2005)
Wulf, T.: Constructivist approaches for teaching computer programming. In: Proceedings of the 6th conference on Information technology education, ACM, Newwark (2005)
Lui, A.K., et al.: Saving weak programming students: applying constructivism in a first programming course. SIGCSE Bull. 36(2), 72–76 (2004)
Ranjeeth, S., Naidoo, R.: An Investigation Into the Relationship between the Level of Cognitive Maturity and the Types of Errors Made by Students in a Computer Programming Course. College Teaching Methods & Styles Journal 3(2), 31–40 (2007)
Lahtinen, E., Ala-Mutka, K., Järvinen, H.-M.: A study of the difficulties of novice programmers. In: Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education. ACM, Caparica (2005)
Becker, D.A., Devine, M.: Automated assessments and student learning. Int. J. Learn. Technol. 3(1), 5–17 (2007)
Milne, I., Rowe, G.: Difficulties in Learning and Teaching Programming—Views of Students and Tutors. Education and Information Technologies 7(1), 55–66 (2002)
Lister, R., Leaney, J.: Introductory programming, criterion-referencing, and Bloom. In: Proceedings of the 34th SIGCSE technical symposium on computer science education. ACM, Reno (2003)
Costello, F.J.: Web-based Electronic Annotation and Rapid Feedback for Computer Science Programming Exercises. In: O’Neill, G., Huntley-Moore, S., Race, P. (eds.) Case Studies of Good Practices in Assessment of Student Learning in Higher Education, Dublin, pp. 61–63 (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Brito, M.A., de Sá-Soares, F. (2010). Computer Programming: Fail Fast to Learn Sooner. In: Lytras, M.D., et al. Technology Enhanced Learning. Quality of Teaching and Educational Reform. TECH-EDUCATION 2010. Communications in Computer and Information Science, vol 73. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13166-0_32
Download citation
DOI: https://doi.org/10.1007/978-3-642-13166-0_32
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-13165-3
Online ISBN: 978-3-642-13166-0
eBook Packages: Computer ScienceComputer Science (R0)