In this study, we developed a design-based coding education program to enhance learner’s computational thinking. Design-based coding education programs include design thinking processes such as needs analysis, design, prototyping, and testing to solve a given problem. First, we constructed a teaching and learning model of design-based coding education and developed 13 modules for a Python coding education program. The developed program was applied to 34 pre-service teachers for one semester. In order to verify the effectiveness of the developed educational program, we conducted a validity test of the model, a test of computing thinking awareness, and a coding ability test. The results indicated that the proposed design-based instructional model was more effective than the demonstration-based instructional model. It was also confirmed that the design-based coding education program had a positive effect on the perception of computational thinking. This study is expected to improve pre-service teachers’ recognition of software education and enhance their professionalism of teaching and learning ability.