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 Inventado | 1 | 16 | 7.35 |