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.
- 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 ScholarDigital Library
- A. Bandura. Social foundations of though and action: a social cognitive theory. Prentice-Hall, 1986.Google Scholar
- K. Beck. Test Driven Development: By Example. Addison-Wesley, 2002. Google ScholarDigital Library
- K. Beck and C. Andres. Extreme Programming Explained: Embrace Change (2nd Edition). Addison-Wesley Professional, 2004. Google ScholarDigital Library
- 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 Scholar
- T. R. Black. Helping novice programming students succeed. J. Comput. Small Coll., 22(2):109--114, 2006. Google ScholarDigital Library
- R. E. Bruhn and P. J. Burton. An approach to teaching java using computers. SIGCSE Bull., 35(4):94--99, 2003. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- A. Collins, J. S. Brown, and A. Holum. Cognitive apprenticeship: making thinking visible. American Educator, 6:38--46, 1991.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- C. Heines. http://katas.softwarecraftsmanship.org/.Google Scholar
- K. Huffman and M. Vernoy. Psychology in Action. Wiley, 2003.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- M. R. Lepper. Motivational considerations in the study of instruction. Cognition and Instruction, 5(4):289--309, 1988.Google ScholarCross Ref
- L. Lumsden. Motivation, Cultivating a Love of Learning. ERIC Clearinghouse on Educational Management, University of Oregon, 1999.Google Scholar
- R. Martin. Review of the Pete McBreen's book Software Craftmanship, http://www.mcbreen.ab.ca/SoftwareCraftsmanship/.Google Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 Scholar
- A. Robins, J. Rountree, and N. Rountree. Learning and teaching programming: A review and discussion. Computer Science Education, 13:137--172, 2003.Google ScholarCross Ref
- 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 ScholarDigital Library
- J. C. Spohrer and E. Soloway. Novice mistakes: are the folk wisdoms correct? Commun. ACM, 29(7):624--632, 1986. Google ScholarDigital Library
- D. Stipek. Motivation to Learn: From theory to practice. Prentice Hall, 1988.Google Scholar
- L. S. Vygotsky. Mind in Society: The Development of Higher Psychological Processes. Harvard University Press, Cambridge, MA, 1978.Google Scholar
- K. J. Whittington. Infusing active learning into introductory programming courses. J. Comput. Small Coll., 19(5):249--259, 2004. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- L. Winslow. Programming psychology - a psychological overview. SIGCSE Bulletin, 27:17--22, 1996. Google ScholarDigital Library
Index Terms
- Extreme apprenticeship method in teaching programming for beginners
Recommendations
Instructional design of a programming course: a learning theoretic approach
ICER '07: Proceedings of the third international workshop on Computing education researchWe present a brief overview of a model for the human cognitive architecture and three learning theories based on this model: cognitive load theory, cognitive apprenticeship, and worked examples (a key area of cognitive skill acquisition). Based on this ...
Extreme apprenticeship method: key practices and upward scalability
ITiCSE '11: Proceedings of the 16th annual joint conference on Innovation and technology in computer science educationProgramming is a craft that can be efficiently learned from people who already master it. Our previous work introduced a teaching method we call Extreme Apprenticeship (XA), an extension to the cognitive apprenticeship model. XA is based on a set of ...
Whether to flip Extreme Apprenticeship: which is more effective in programming instruction?
AbstractProgramming knowledge is more important than ever in the digital world. However, teaching programming can be challenging, especially with novice learners. Considerable research has been conducted into the most effective methods for teaching ...
Comments