Novice mistakes: are the folk wisdoms correct?
Communications of the ACM
AAA and CS 1: the applied apprenticeship approach to CS 1
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
Programming pedagogy—a psychological overview
ACM SIGCSE Bulletin
Proceedings of the eighth annual consortium on Computing in Small Colleges Rocky Mountain conference
Contributing to success in an introductory computer science course: a study of twelve factors
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
The motivation of students of programming
Proceedings of the 6th annual conference on Innovation and technology in computer science education
Design guidelines for the lab component of objects-first CS1
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Test Driven Development: By Example
Test Driven Development: By Example
An approach to teaching Java using computers
ACM SIGCSE Bulletin
Enhancing apprentice-based learning of Java
Proceedings of the 35th SIGCSE technical symposium on Computer science education
Infusing active learning into introductory programming courses
Journal of Computing Sciences in Colleges
Extreme Programming Explained: Embrace Change (2nd Edition)
Extreme Programming Explained: Embrace Change (2nd Edition)
Helping novice programming students succeed
Journal of Computing Sciences in Colleges
Instructional design of a programming course: a learning theoretic approach
Proceedings of the third international workshop on Computing education research
Learning programming by programming: a case study
Proceedings of the 6th Baltic Sea conference on Computing education research: Koli Calling 2006
A survey of literature on the teaching of introductory programming
Working group reports on ITiCSE on Innovation and technology in computer science education
Extreme apprenticeship method: key practices and upward scalability
Proceedings of the 16th annual joint conference on Innovation and technology in computer science education
Personifying programming tool feedback improves novice programmers' learning
Proceedings of the seventh international workshop on Computing education research
Management, structures and tools to scale up personal advising in large programming courses
Proceedings of the 2011 conference on Information technology education
Making teaching of programming learning-oriented and learner-directed
Proceedings of the 11th Koli Calling International Conference on Computing Education Research
A software craftsman's approach to data structures
Proceedings of the 43rd ACM technical symposium on Computer Science Education
Multi-faceted support for MOOC in programming
Proceedings of the 13th annual conference on Information technology education
Three years of design-based research to reform a software engineering curriculum
Proceedings of the 13th annual conference on Information technology education
PARSI: a tool for automatic assessment of office documents and basic IT skills
Proceedings of the 12th Koli Calling International Conference on Computing Education Research
Reading mobile games throughout the curriculum
Proceeding of the 44th ACM technical symposium on Computer science education
Proceeding of the 44th ACM technical symposium on Computer science education
The effectiveness of live-coding to teach introductory programming
Proceeding of the 44th ACM technical symposium on Computer science education
Issues with a course that emphasizes self-direction
Proceedings of the 18th ACM conference on Innovation and technology in computer science education
Scaffolding students' learning using test my code
Proceedings of the 18th ACM conference on Innovation and technology in computer science education
Massive increase in eager TAs: experiences from extreme apprenticeship-based CS1
Proceedings of the 18th ACM conference on Innovation and technology in computer science education
ACM Transactions on Computing Education (TOCE)
MOOC as semester-long entrance exam
Proceedings of the 14th annual ACM SIGITE conference on Information technology education
International Journal of Technology Enhanced Learning
Hi-index | 0.00 |
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.