程式設計能力已成為各行各業的必備能力,對於初學者來說,程式設計涉及到了數學邏輯、文法規則等多種先備知識,因此需要有效的策略進行學習。其中遞迴被認為是較難學習的項目之一,需要學生建立正確的心理模型才能正確思考並撰寫出完整的程式,也由於遞迴程式需要同時思考基底與如何將程式拆分變小,對新手而言較難去兼顧多種條件並同時思考整體的遞迴程式。因此本文提出了基於鷹架理論的學習輔助系統,並以引導式填空幫助學生理解遞迴程式設計,透過分階段思考遞迴的概念,每次只須思考遞迴程式的一小部分,並根據系統反饋及時驗證答案,遇到錯誤時能夠及時針對該階段做修正,如此一步一步完成遞迴程式的撰寫。本研究設計了學習系統進行了教學實驗,對遞迴程式設計的概念和程式碼撰寫能力進行探討,結果顯示以分階段引導式填空學習的實驗組優於直接撰寫程式碼的控制組,顯示本研究提出之學習方式對遞迴程式學習有正面的效果。;Programming skills have become an necessity skill across all indus- tries. For beginners, programming involves a variety of prerequisite knowl- edge such as mathematical logic and grammar rules, thus necessitating ef- fective learning strategies. Recursive programming design is considered one of the difficult topics to learn. It requires students to establish a correct mental model in order to think correctly and write a complete program. Also, recursive programming needs to think about the base case and how to split the program into smaller parts at the same time, it is difficult for novices to consider multiple conditions while thinking about the overall re- cursive program. Therefore, this paper proposes a learning support system based on scaffolding theory to guided learners by fill-in-the-blank to help students understand recursive program design. Through staged thinking about the concept of recursion, each time only a small part of the recursive program needs to be considered, and the answer can be verified in time based on system feedback. If an error is encountered, it can be corrected in time ,thereby completing the recursive program step by step. This study designed a learning system and conducted teaching experiments to explore the concept of recursive programming and the ability to write sourcecode. The results showed that the experimental group, which used guided fill-in- the-blank outperformed the control group that wrote code directly. This outcome indicates that the learning method proposed in this study has a positive effect on learning recursive programming.