Computer Programming: Fail Fast to Learn Sooner
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.
Keywordsprogramming education learning and teaching computer programming to novice students constructivism
Unable to display preview. Download preview PDF.
- 3.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)Google Scholar
- 4.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)Google Scholar
- 7.Jenkins, T.: On the Difficulty of Learning to Program. In: 3rd annual Conference of LTSN-ICS (2002)Google Scholar
- 8.Gomes, A., Mendes, A.J.: Learning to program - difficulties and solutions. In: International Conference on Engineering Education – ICEE 2007, Coimbra, Portugal (2007)Google Scholar
- 9.Kolb, D., Fry, R.: Toward an applied theory of experiential learning. In: Cooper, C. (ed.) Theories of Group Process. John Wiley, London (1975)Google Scholar
- 10.Steffe, L.P., Gale, J. (eds.): Constructivism in Education. Lawrence Erlbaum Associates, Hillsdale (1995)Google Scholar
- 13.Wulf, T.: Constructivist approaches for teaching computer programming. In: Proceedings of the 6th conference on Information technology education, ACM, Newwark (2005)Google Scholar
- 16.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)Google Scholar
- 19.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)Google Scholar
- 20.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)Google Scholar