Title
Promoting Mastery Learning in an Introductory Programming Course
Abstract
Programming is a complex skill requiring computational thinking, knowledge of the programming language, and the ability to distinguish, combine, and manipulate appropriate components to solve a problem. Practice is an effective strategy for teaching programming because it fosters skill mastery especially when students get sufficient experience and feedback. However, properly implementing programming practice is difficult because instructors need to assign appropriate problems for each student, evaluate solutions, and provide feedback. We conducted a pilot study on an introductory C++ programming class that applied mastery learning to optimize practice, used a repository of programming problems to reduce instructor effort, and leveraged unit tests to provide feedback and facilitate grading. The class had a lecture component to introduce programming concepts and a lab component for practice. We used mastery learning to control the number of practice-problems students solved on a topic before moving to a more advanced one. We assumed mastery when students answered three programming problems correctly in a row without help. If they sought help, they had to successfully solve a new set of three problems in a row. We also assumed mastery if they solved ten problems because it should have given them sufficient practice. We observed that experienced students asked fewer questions and quickly progressed across topics, while other students got much-needed help from instructors. The repository saved time for preparing problems and the unit tests helped answer students' low-level questions. Unit tests already checked students' solutions against expected results, so it significantly reduced checking time.
Year
DOI
Venue
2020
10.1145/3287324.3293780
Proceedings of the 50th ACM Technical Symposium on Computer Science Education
Keywords
Field
DocType
introductory programming, mastery learning, programming problem repository, unit testing
Mastery learning,Grading (education),Computer science,Unit testing,Computational thinking,Multimedia,Class (computer programming)
Conference
ISBN
Citations 
PageRank 
978-1-4503-5890-3
0
0.34
References 
Authors
0
1
Name
Order
Citations
PageRank
Paul Salvador Inventado1167.35