Skip to main content

Computer Programming: Fail Fast to Learn Sooner

  • Conference paper

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 73))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Robins, A., Rountree, J., Rountree, N.: Learning and Teaching Programming: A Review and Discussion. Computer Science Education 13(2), 137–172 (2003)

    Article  Google Scholar 

  2. Cook, W.R.: High-level problems in teaching undergraduate programming languages. SIGPLAN Not. 43(11), 55–58 (2008)

    Article  Google Scholar 

  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 

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

    Article  Google Scholar 

  6. Spohrer, J.C., Soloway, E.: Novice mistakes: Are the folk wisdoms correct? Commun. ACM 29(7), 624–632 (1986)

    Article  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 

  11. Ben-Ari, M.: Constructivism in computer science education. SIGCSE Bull. 30(1), 257–261 (1998)

    Article  Google Scholar 

  12. Hadjerrouit, S.: Constructivism as guiding philosophy for software engineering education. SIGCSE Bull. 37(4), 45–49 (2005)

    Article  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 

  14. Lui, A.K., et al.: Saving weak programming students: applying constructivism in a first programming course. SIGCSE Bull. 36(2), 72–76 (2004)

    Article  Google Scholar 

  15. 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)

    Article  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 

  17. Becker, D.A., Devine, M.: Automated assessments and student learning. Int. J. Learn. Technol. 3(1), 5–17 (2007)

    Article  Google Scholar 

  18. Milne, I., Rowe, G.: Difficulties in Learning and Teaching Programming—Views of Students and Tutors. Education and Information Technologies 7(1), 55–66 (2002)

    Article  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics