The purpose of this research is to develop a programming learning system using the completion strategy for beginners. The completion strategy was proved to have feasible result for beginners. Based on the previous works, most of programming tutors require students to write programs and then to evaluate and explain the program correcmess. This “program generation” approach is not suitable to beginners. Therefore, the purpose of this research adopts the completion strategy to have beginners learn programming. The completion strategy is to utilize the well-designed programs to let students engage in completing, modifying, and extending their program. This research first investigates the programming learning theories; then initiates the system structure of the programming learning system. Template technique is used to implement the proposed system.