在生活學生在初學習物件導向程式語言時,會遇到學習上的困難。有學者也說寫程式對許多學生而言是個挑戰,而因為這個挑戰促使學生放棄學習的比例相當高 (T. Beaugouef and J. Mason, 2005)。建構主義強調「知識是認知個體主動建構的,不是被動的接受或吸收」且「藉由認知去建構出知識是為了適應並組織自己環境中的經驗」(Von Glasersfeld,1989),而「有經驗才會累積寫程式經驗」與「藉由概念的經驗來建構概念」這兩者又是個雞生蛋、蛋生雞問題。因此需要做法來幫助學生解決這個狀況。 圖形化使用者介面被認為具有「直覺」與「人性化」兩個特色(Mordechai Ben-Ari 1998)。使用視覺化的方式呈現並提供可直接操作的寫程式環境可降低學習障礙(Christopher D. Hundhausen, 2006)加上之前實驗的成功(原CYCU-Visual-C)所以設計一個「Visual-OOP」程式來幫助學生學習物件導向程式設計,希望教會學生寫OOP程式。 本研究中設計一個視覺化系統來解決「經驗累積」與「概念建構」的雞與蛋問題。希望透過這個系統可以幫助學生學習物件導向程式設計,並使用問卷以及回饋單詢問學生使用意見,最後進行OOP概念考來驗證Visual-OOP對學習物件導向程式設計的幫助。概念考結果指出對學生在學習概念上整體是有幫助的。而從問卷結果可看出此系統的一些設計與課程的規畫能讓學生對物件導向程式設計概念有深刻的印象。
When novices first learn object-oriented programming, they generally find it difficult to learn. Past research shows that writing programs for many students is a challenge. As a resut, many students gave up(T. Beaugouef and J. Mason, 2005). Constructivism emphasizes that "knowledge is not passively received but actively built up by the cognizing subject." It also emphasizes that "the function of cognition is adaptive and serves the organization of the experiential world, not the discovery of ontological reality" (Von Glasersfeld, 1989). While both "the writing of a program is based on programming knowedge" and "programming knowedge is constructed from the experience of programming" are true, these two are actually a chicken-and-egg problem. In this theris, we propose an approach to resolve this situation and help students learn introductory object-oriented programming. Graphical User Interface is considered to have "intuitive" and "humane" characteristics (Mordechai Ben-Ari 1998). The presentation is visual, and it also provides the user with a direct manipulation programming environment. As a result, the use of graphical user interface for programing can reduce the learning barriers (Christopher D. Hundhausen, 2006). Owing to this reason, and also because of the success of a past experiment (use of the original CYCU-Visual-C for programming), we design a Visual-OOP programing environment to help students learn object-oriented programming. As is the case with CYCU-Visual-C, the goal of Visual-OOP is to help students learn textual programing. In this study, a visualization system was designed to solve the above mentioned chicken and egg problem. A feedback questionnaire asked students’ opinion about using Visual-OOP. Furthermore, a concept test was used as a post test to validate the using of Visual-OOP, to see whether Visual-OOP can significantly help novices in learning the concepts of OOP.However, the result was not statistically significant. The post test result indicates that it is helpful for students in OOP concepts. From the result of the questionnaire, it can also be seen that the system left a deeper impression in the students regarding various OOP concepts.