Abstract-The objective of this study is to use game based programming to facilitate the teaching of debugging for novice programmers. The programing errors which novice programmers frequently committed were involved in the game programs. Worksheets were designed to guide students how to apply debugging strategies to find these errors and correct them. The debugging practices include the programming concepts of variable assignments, boolean statements, if statements and loop statements. Forty-one senior high school students participated in this experiment for six weeks including pre-and post-achievement test. The data including programming achievement test, debugging self-efficacy and questionnaire results were collected and examined. Though students' debugging self-efficacy wasn't significantly enhanced after the experiment, the paired-samples T test results show that this model of debugging practices was effective in improving students' programming concepts. Furthermore, students showed positive attitudes to this learning model and programming learning in the future.Index Terms-Computer science education, debugging practice, game-based programming, scratch.