skip to main content
10.1145/1953163.1953196acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

Extreme apprenticeship method in teaching programming for beginners

Published:09 March 2011Publication History

ABSTRACT

Learning a craft like programming is efficient when novices learn from people who already master the craft. In this paper we define Extreme Apprenticeship, an extension to the cognitive apprenticeship model. Our model is based on a set of values and practices that emphasize learning by doing together with continuous feedback as the most efficient means for learning. We show how the method was applied to a CS I programming course. Application of the method resulted in a significant decrease in the dropout rates in comparison with the previous traditionally conducted course instances.

References

  1. O. Astrachan and D. Reed. AAA and CS 1: the applied apprenticeship approach to CS 1. In SIGCSE '95: Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education, pages 1--5. ACM, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. Bandura. Social foundations of though and action: a social cognitive theory. Prentice-Hall, 1986.Google ScholarGoogle Scholar
  3. K. Beck. Test Driven Development: By Example. Addison-Wesley, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. K. Beck and C. Andres. Extreme Programming Explained: Embrace Change (2nd Edition). Addison-Wesley Professional, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Bergin and R. Reilly. The influence of motivation and comfort-level on learning to program. In Sroceedings of the 17th Workshop on Psychology of Programming, PPIG'05,, 2005.Google ScholarGoogle Scholar
  6. T. R. Black. Helping novice programming students succeed. J. Comput. Small Coll., 22(2):109--114, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. R. E. Bruhn and P. J. Burton. An approach to teaching java using computers. SIGCSE Bull., 35(4):94--99, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. E. Caspersen and J. Bennedsen. Instructional design of a programming course: a learning theoretic approach. In ICER '07: Proceedings of the third international workshop on Computing education research, pages 111--122. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. Collins, J. Brown, and S. Newman. Cognitive apprenticeship: Teaching the craft of reading, writing and mathematics. In Knowing, Learning and Instruction: Essays in honor of Robert Glaser. Hillside, 1989.Google ScholarGoogle Scholar
  10. A. Collins, J. S. Brown, and A. Holum. Cognitive apprenticeship: making thinking visible. American Educator, 6:38--46, 1991.Google ScholarGoogle Scholar
  11. S. Grissom and M. J. Van Gorp. A practical approach to integrating active and collaborative learning into the introductory computer science curriculum. In Proceedings of the seventh annual consortium on Computing in small colleges midwestern conference, pages 95--100, USA, 2000. Consortium for Computing Sciences in Colleges. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Hassinen and H. Mayra. Learning programming by programming: a case study. In Baltic Sea '06: Proceedings of the 6th Baltic Sea conference on Computing education research: Koli Calling 2006, pages 117--119. ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. C. Heines. http://katas.softwarecraftsmanship.org/.Google ScholarGoogle Scholar
  14. K. Huffman and M. Vernoy. Psychology in Action. Wiley, 2003.Google ScholarGoogle Scholar
  15. T. Jenkins. The motivation of students of programming. In ITiCSE '01: Proceedings of the 6th annual conference on Innovation and technology in computer science education, pages 53--56. ACM, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. M. Kölling and D. J. Barnes. Enhancing apprentice-based learning of java. In SIGCSE '04: Proceedings of the 35th SIGCSE technical symposium on Computer science education, pages 286--290. ACM, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. R. Lepper. Motivational considerations in the study of instruction. Cognition and Instruction, 5(4):289--309, 1988.Google ScholarGoogle ScholarCross RefCross Ref
  18. L. Lumsden. Motivation, Cultivating a Love of Learning. ERIC Clearinghouse on Educational Management, University of Oregon, 1999.Google ScholarGoogle Scholar
  19. R. Martin. Review of the Pete McBreen's book Software Craftmanship, http://www.mcbreen.ab.ca/SoftwareCraftsmanship/.Google ScholarGoogle Scholar
  20. R. E. C. Paul A. Kirschner, John Sweller. Why minimal guidance during instruction does not work: An analysis of the failure of constructivist, problem-based, experiental, and inquiry-based teaching. Educational Psychologist, 41(2):75--86, 2006.Google ScholarGoogle ScholarCross RefCross Ref
  21. A. Pears, S. Seidman, L. Malmi, L. Mannila, E. Adams, J. Bennedsen, M. Devlin, and J. Paterson. A survey of literature on the teaching of introductory programming. In ITiCSE-WGR '07: Working group reports on ITiCSE on Innovation and technology in computer science education, pages 204--223. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. D. Perkins, C. Hancock, R. Hobbins, F. Marsin, and R.Simmons. Conditions of learning in novice programmers. In Studying the novice programmer, pages 261--279. Lawrence Erlbaum, 1989.Google ScholarGoogle Scholar
  23. A. Robins, J. Rountree, and N. Rountree. Learning and teaching programming: A review and discussion. Computer Science Education, 13:137--172, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  24. H. Roumani. Design guidelines for the lab component of objects-first cs1. In SIGCSE '02: Proceedings of the 33rd SIGCSE technical symposium on Computer science education, pages 222--226. ACM, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. J. C. Spohrer and E. Soloway. Novice mistakes: are the folk wisdoms correct? Commun. ACM, 29(7):624--632, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. D. Stipek. Motivation to Learn: From theory to practice. Prentice Hall, 1988.Google ScholarGoogle Scholar
  27. L. S. Vygotsky. Mind in Society: The Development of Higher Psychological Processes. Harvard University Press, Cambridge, MA, 1978.Google ScholarGoogle Scholar
  28. K. J. Whittington. Infusing active learning into introductory programming courses. J. Comput. Small Coll., 19(5):249--259, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. S. Wiedenbeck, D. LaBelle, and V. Kain. Factors affecting course outcomes in introductory programming. In Workshop on Psychology of Programming, PPIG'04, pages 97--109, 2004.Google ScholarGoogle Scholar
  30. B. C. Wilson and S. Shrock. Contributing to success in an introductory computer science course: a study of twelve factors. In SIGCSE '01: Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education, pages 184--188. ACM, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. L. Winslow. Programming psychology - a psychological overview. SIGCSE Bulletin, 27:17--22, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Extreme apprenticeship method in teaching programming for beginners

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader