The objective of this paper is to describe a design method for instruction in computer programming. One of the goals of instruction is to help students develop their own organization of the concepts associated with a domain so they can apply these ideas to new problems. In computer programming domain, the most effective method is developing some real software to solve the familiar problem. Students can learn a lot of knowledge and skills of program comprehension and system design, developing real software and their own organization of the concepts at a time. I designed and practiced “Recycling Learning Circle” for instruction, utilizing visual programming languages owing to its easy designing for graphical user interface, adopting “Learning by teaching” method, “CSCL” and “Archives”. I report the effectiveness of this method from the reaction of the students in this class and many software output.