透過您的圖書館登入
IP:3.145.59.187
  • 學位論文

初等程式設計教學之探討

Investigating the Effects of an Integrated Pedagogical Approach to Teaching Introductory Programming

指導教授 : 夏延德

摘要


教初等程式設計是一件很困難的事情,特別是要測試學生在課程結束後的程式能力。儘管這麼多年的研究,都在尋找有效的教學方式,但可以說還沒有一個多數教學程式設計的老師認為是有效的解決方式。 本研究調查一個教學程式設計有效的教學方法,這方法是通過三個觀點所形成的:"總鋪師"、"運動教練"以及"修正由此產生的綜合方法的缺點"。 總鋪師在訓練學徒時,會使用各種技巧來幫助學徒:(1)了解辦桌的本質,(2)先擬定計畫再執行,(3)遵守辦桌的規矩以及流程,以及(4)確保辦桌的整體流程是可行的。基本上,這是傳統學徒制的模式。然而,將傳統學徒制應用在教學程式設計上有很多的限制,傳統的學徒制主要依賴眼睛"看到",學徒才能夠根據師傅的動作從中學習,師傅也才能夠看到學徒的工作方式來進行糾正。談到如何教新手寫程式,學徒(想學程式的學生)看不到師傅(想教程式的老師)是如何工作的(思考如何寫程式),更不用說要幫助學徒有"更好的思考"。 運動教練主要就是提供這方面的幫助,通過(1)精心安排一系列要克服的挑戰和(2)激勵和鼓勵學生克服這些挑戰來幫助學生成長,也逐步提高相關的能力。教學者還可以通過這種方式來幫助學習者學習寫程式(通過安排適當的挑戰並激勵學習者克服這些挑戰)。如此一來,可以避免新手需要"看到"老師的想法,也不需要老師"看到"新手的想法。新手(受訓者)只要能夠克服導師(教練)精心安排的挑戰,就能夠在程式方面取得進步。 至於"修正綜合方法的缺點"的方面,做必要的事情來產生完整的方法。 為了評估提出的教學方法的有效性,進行了一項教育實驗。讓學生在課程結束時完成兩份問卷並提交一份五千字的報告,接著分析問卷結果和五千字報告,以及選定的(程式)作業和考試結果。 從這個實驗中可以得出兩個結論,第一個是根據分析結果,可以說提出的教學方法是有效的,因為多數學生在課程結束後確實有寫程式的基本能力,第二個是另一種幫助學習者推動他們的ZPD(近側發展區)向前的方法-一種不同於一般所表示的鷹架輔助的方法-是本文中所描述的運動教練的方法。 關鍵字:初等程式設計、建構主義、學徒制、運動教練、近側發展區

並列摘要


Teaching introductory programming is a formidable task, especially when it comes to the final grand challenge of testing how well the students can program when the course is over. Despite years of research efforts in trying to find effective ways of teaching introductory programming, it can be said that a good solution (something that most instructors of introductory programming would consider to be effective) is still up in the air. This research investigates the effectiveness of a pedagogical approach for teaching introductory programming. The proposed pedagogical approach is formed by considering three perspectives : the perspective of a chef of "street-banquets," the perspective of a sports coach, and the perpective of amending the shortcomings of the resulting, integrated approach. When a chef of street-banquets trains an apprentice, the master uses a variety of techniques to help the apprentice to (1) understand the nature of street-banquets, (2) think before starting to arrange for a street-banquet, (3) follow the rules and protocols of street-banquets, and (4) make sure that the plan of arranging for a street-banquet is actually doable. This is basically a traditional apprenticeship approach at work. There is a limit, however, in applying a traditional apprenticeship approach to the problem of teaching introductory programming. Traditional apprenticeships rely on two things. One, the apprentices must be able to see the master at work in order to learn from it. Two, the master must also be able to see how the apprentices work in order to implement corrective measures. When it comes to teaching novices how to program, the apprentices here (the students who want to learn programming) cannot see how the master (the instructor who teachs programming) works (i.e., thinks about how to program, how to debug, how to modify, etc.). Similarly, the master here cannot see how the apprentices work (i.e., think about how to program, how to debug, how to modify, etc.), not to mention implementing corrective measures that can help the apprentices to "think better." This is where the perspective of a sports coach can help. A sports coach helps the trainees to make progress by (1) carefully arranging a seriers of challenges-to-overcome and (2) motivating and encouraging the trainees to overcome these challengers one at a time, thereby gaining improvements in their sporting abilities. An instructor can also help novices learn programming this way (i.e., by carefully arranging a sequence of challenges and motivating novices to overcome these challenges one at a time). This "sports coaching approach" effectively eliminates the need for novices to actually "see" how the instructor thinks, nor is there a definite need for the instructor to actually "see" how the novices think. As long as the novices (the trainees) can overcome, by sequence, the challenges that are carefully arranged for them by the instructor (the coach), they can make progresses in improving their programming abilities. As for the perspective of "amending," it is just to do whatever that is necessary so that the resulting, integrated approach is "complete." To evaluate the effectiveness of the proposed pedagogical approach, an educational experiment was carried out. The subjects were asked to complete two questionnaires and submit one 5000-word report near the conclusion of the introductory programming course. Then, the questionnaire results and the 5000-word reports, along with the results of selected (programming) assignments and exams, were analyzed. Two conclusions can be drawn from this experiment. One, based on the results of the analyses, it can be said that the proposed pedagogical approach was effective in that most students could indeed write basic programs when the course was over. Two, another way of helping learners to push their ZPDs (Zone of Proximal Developments) "forward" - a way that is distinct from what is generally known as the scaffolding approach - is to use the sports coaching approach described in this paper. Keywords:Introductory programming, constructivism, apprenticeship, sports coach, zone of proximal development

參考文獻


Bandura, A. (1977). Self-efficacy: toward a unifying theory of behavioral change. Psychological review, 84(2), 191.
丁國強(2015)。程式設計教學關鍵因素之研究-以Scratch課程為例。中華大學科技管理學系碩士論文。
伍宏麟(2011)。教學策略與學習工具對程式語言初學者學習成效及學習態度之影響。國立臺灣師範大學資訊教育學系在職進修碩士班學位論文。
蘇育廷(2014)。鷹架式環境對學習動機與學習成就的影響:以程式設計混成課程為例。國立嘉義大學數位學習設計與管理學系碩士學位論文。
邱文傑(2015)。翻轉教室教學對於大學生程式設計學習成效之研究。靜宜大學資訊傳播工程學系碩士論文。

延伸閱讀