跳到主要內容

臺灣博碩士論文加值系統

(34.204.169.230) 您好!臺灣時間:2024/03/04 09:28
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

: 
twitterline
研究生:林則佑
研究生(外文):Ze-You Lin
論文名稱:使用視覺化程式設計系統幫助學生建立物件導向程式設計的概念
論文名稱(外文):Use Visual Coding to Help Novices Build up Object-Oriented Programming Concepts
指導教授:夏延德夏延德引用關係
指導教授(外文):Yen-Teh Hsia
學位類別:碩士
校院名稱:中原大學
系所名稱:資訊工程研究所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2011
畢業學年度:98
語文別:中文
論文頁數:83
中文關鍵詞:程式可視化視覺化寫程式物件導向程式設計繼承電腦輔助學習類別建構子初階程式設計教學物件建構主義視覺化程式設計
外文關鍵詞:Constructivismvisual programmingcomputer-assisted learningconstructorvisual codingprogram visualizationinheritanceclassintroductory programmingobjectobject-oriented programming
相關次數:
  • 被引用被引用:1
  • 點閱點閱:418
  • 評分評分:
  • 下載下載:6
  • 收藏至我的研究室書目清單書目收藏:0
在生活學生在初學習物件導向程式語言時,會遇到學習上的困難。有學者也說寫程式對許多學生而言是個挑戰,而因為這個挑戰促使學生放棄學習的比例相當高 (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.

摘要 I
ABSTRACT II
目錄 IV
表目錄 VI
圖目錄 VII
附錄 VIII


1. 簡介 1
2. 理論背景 2
2.1. 建構主義與教學 2
2.2. 視覺化程式 4
2.2.1. Visual programming 4
2.2.2. Program visualization 5
2.2.3. Visual programming、Program visualization與Visual coding 5
3. 相關研究 7
3.1. 建構主義教學 7
3.2. 相關視覺化系統 8
4. 教學設計 10
4.1. 目標 10
4.2. 要教的概念 10
5. 系統介紹 12
5.1. CYCU-VISUAL-C 12
5.2. 系統功能 13
5.3. 操作說明 16
5.3.1. 新增class 16
5.3.2. 建立function 17
5.3.3. 加入建構子 19
5.3.4. 宣告物件(變數) 20
5.3.5. 呼叫"自己 class"的function 與 呼叫"別的class"的function 20
5.3.6. 建立繼承的class與使用建構子及override 23
5.4. 系統的概念呈現介紹 24
5.4.1. Static & Non-static 24
5.4.2. Class & Object 25
5.4.3. private 26
5.4.4. 建構子 28
5.4.5. 繼承 29
6. 實驗 31
6.1. 研究方法及步驟 31
6.2. 課程規劃 31
6.2.1. Phase 1的課程設計 32
6.2.2. Phase 2的課程操作設計 33
6.3. 實行方式 34
6.4. 結果 35
6.4.1. 前測 – 期中考結果 35
6.4.2. 後測 – OOP概念考結果 36
6.4.3. 後測 – 概念學習問卷(自我認知) 36
7. 討論 38
7.1. 概念學習結果 38
7.2. 問卷結果 41
7.3. 期末考成績 47
8. 結論與未來規劃 49



表目錄
表3-1:相關視覺化系統比較。 8
表4-1:活動經驗安排與希望學生自行建構概念。 11
表5-1:STATIC與NON-STATIC的差別。 24
表5-2:CLASS與OBJECT比較。 25
表5-3:有無加PRIVATE之差別 26
表6-1:前測期中考原始資料ANOVA結果。 35
表6-2:前測期中考人數調整過後的ANOVA結果。 35
表6-3:後測OOP概念考的ANOVA結果。 36
表6-4:後測概念學習問卷T-TEST結果 37
表7-1-1:概念考中OBJECT與CLASS的ANOVA結果(滿分13) 38
表7-1-2:概念考中STATIC與NON-STATIC的ANOVA結果(滿分13) 38
表7-1-3:概念考中INHERITANCE(繼承)的ANOVA結果(滿分6) 38
表7-1-4:概念考中OVERRIDE(繼承後覆蓋FUNCTION)的ANOVA結果(滿分5) 39
表7-1-5:概念考中CONSTRUCTOR(建構子)的ANOVA結果(滿分5) 39
表7-1-6:概念考中PUBLIC, PRIVATE, PROTECTED的ANOVA結果(滿分10) 39
表7-2-1:VISUAL-OOP問卷第一部分人數累計圖。 42
表7-2-2:VISUAL-OOP問卷第一部分平均分數。 42
表7-2-3:第二部份程式貢獻人數統計。 43
表7-2-4:系統滿意度問卷結果。 46
表7-2-5:學生認為VISUAL-OOP需要改進之處。 47
表7-3:期末考ANOVA檢定結果。 48


圖目錄
圖5.1:舊版CYCU-VISUAL-C的程式主介面 12
圖5.2.1:VISUAL-OOP之介面 14
圖5.2.2:VISUAL-OOP的STATIC視點。 15
圖5.5.3:VISUAL-OOP的NON-STATIC視點。 16
圖5.3.4:建立新CLASS。 17
圖5.3.5:建立新CLASS之後。 17
圖5.3.6:新增FUNCTION按鈕(左STATIC編輯模式,右NON-STATIC編輯模式) 17
圖5.3.7:新增FUNCTION對話框 18
圖5.3.8:新增FUNCTION之後 18
圖5.3.9:新增建構子按鈕 19
圖5.3.10:新增建構子對話框 19
圖5.3.11:新增OBJECT。 20
圖5.3.12:呼叫自己CLASS的FUNCTION。 21
圖5.3.13:呼叫FUNCTION時參數沒填滿的訊息。 22
圖5.3.14:呼叫別的CLASS的FUNCTION。 22
圖5.3.15:建立新CLASS並繼承。 23
圖5.3.16:繼承後的CLASS其建構子會內建SUPER();。 23
圖5.3.17:繼承後的CLASS遇到與被繼承者同樣的FUNCTION設定。 23
圖5.4.1:OBJECT與CLASS對STATIC與NON-STATIC的關係 26
圖5.4.2:在編輯模式中宣告PRIVATE變數。 27
圖5.4.3:在CLASS1中宣告PRIVATE變數後在MIAN CLASS使用時的呈現。 27
圖5.4.4:原本變數值與建構子對變數修改的值。 28
圖5.4.5:在MAIN中使用建構子建立新的物件。 28
圖5.4.6:CLASS1的內容。 29
圖5.4.7:以CLASS2繼承CLASS1並加入其他變數FUNCTION後。 30

附錄
附錄1 VISUAL-OOP PHASE1 操作說明 55
附錄2 VISUAL-OOP PHASE2 操作說明 63
附錄3 VISUAL-OOP 使用問卷調查 67
附錄4 992 OOP小考 70


[Hundhausen et al., 2006] C. D. Hundhausen, S. Farley, and J. L. Brown “Can Direct Manipulation Lower the Barriers to Programming and Promote Positive Transfer to Textual Programming? An Experimental Study” Visual Languages and Human-Centric Computing, 2006,

[Moreno & Joy, 2007] A. Moreno and M. S. Joy “Jeliot 3 in a Demanding Educational Setting,” Electronic Notes in Theoretical Computer Science 178, 2007

[Beaugouef & Mason, 2005] T. Beaugouef and J. Mason, "Why the high attrition rate for computer science students: Some thoughts and observations," SIGCSE Bulletin 37 (2) pp. 103-106, 2005.

[Glasersfeld, 1989] E. von Glasersfeld “Constructivism in Education,” The International Encyclopedia of Education, Supplement Vol.1 1989.

[Ernest, 1995] P. Ernest, In L. Steffe & J. Gale (Eds.)“Constructivism in education,” 459-486, 1995.

[Ben-Ari, 1998] M. Ben-Ari "Constructivism in computer science education," Proceeding SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education, 257-261, 1998.

[Zhuang & Liu, 2010] H. Zhuang and L. Liu “Teaching Practice of Project-based VB Programming,” IEEE International Conference on Computer and Information Technology, 2010-2013, 2010.

[Lui et al., 2004] A. K. Lui, R. Kwan, M. Poon, Y. H. Y. Cheung “Saving Weak Programming Students: Applying Constructivism in a First Programming Course” The SIGCSE Bulletin Volume 36, Number 2, 72-76, 2004.

[Helminen, 2009] J. Helminen “Jype - An Education-Oriented Integrated Program Visualization, Visual Debugging, and Programming Exercise Tool for Python,” Faculty of Information and Natural Sciences Department of Computer Science and Engineering 2009.

[Barnes & Kölling, 2002] D. Barnes, and D. Kölling “Objects First with Java - A Practical Introduction using BlueJ,” Pearson Education/ Prentice Hall, 2002.

[Cox, 2008] P. T. Cox "Visual Programming Languages." Wiley Encyclopedia of Computer Science and Engineering, B. W. WAH Ed. John Wiley & Sons Inc., New York, 2008.

[Ferrucci et al., 2002] F. Ferrucci, G. Tortora & G. Vitiello "Exploiting Visual Languages in Software Engineering." Handbook of Software Engineering and Knowledge Engineering, S. K. CHANG Ed. World Scientific Publishing, Singapore, 53-76, 2002.

[Shu, 1992] N. C. Shu "Visual Programming." Van Nostrand Reinhold Computer, New York, 1992.

[Myers,1990] B. A. Myers "Taxonomies of visual programming and program visualization." Journal of Visual Languages and Computing 1, 97-123, 1990.

[Golin, 1990] E. J. Golin "A method for the specification and parsing of visual languages." PhD thesis, Brown University, 1990.

QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top