第五章 結論與建議
第二節 建議
以下根據本研究的實施過程與結果,對未來相關研究提出建議。
一、 建議重覆本研究,擴增樣本數,以改進教材的缺失
由於合作教師的授課班級數限制,本研究只能採2班做為研究對象,樣本數 稍嫌不足,以至於一些觀察到的心智模型因為出現次數過少而當作個案予以排 除,但可能被排除的心智模型亦屬於機器車前導組織課程所建構出來的心智模 型,因此建議未來相關研究者可以增加實驗班級數,以確實找出所有機器車能建 構出來有助於學生學習程式的心智模型。
由於實驗組機器車教學時間僅2小時,研究者並未在前導組織教材中帶入變 數的概念,並且由於控制組較實驗組多2小時傳統程式設計的緣故,為了平衡教 學進度,控制組多了2題變數概念的隨堂練習題,因而發現實驗組在變數概念上 的產生錯誤心智模型的比率較控制組來的高。因此建議改善教材的內容,使課程 能夠兩邊平衡、盡善盡美。
二、 增加觀察員以及輔導員的角色
由於研究參與人員僅有教學者1名、觀察者2名,但是程式設計課程對學生而 言是一個嶄新的學習活動,因此大多數的學生在解題的過程中都會產生問題,但 是僅3名的問題解決者是無法解決到所有學生的問題的,因而可能造成學生學習 上的落差。因此以一班35人左右的高中班級為例,建議有6名輔導員,一人負責6 位以內的學生較為適當。
65
參考文獻
林寶山(1990):教學論:理論與方法。台北:五南出版社。
張春興(1994):教育心理學:三化取向的理論與實踐。台北:東華出版社。
教育部(1995):高級中學課程標準。台北:教育部。
莊雅茹(1995):高中學生電腦課程看法之調查。中等教育, 46(1),125-130.
何榮桂、陳麗如(2001):中小學資訊教育總藍圖的內涵與精神。資訊教育雜誌,
85,22-28。
陳宏煒(2003):高中電腦課程實施現況調查。國立台灣師範大學資訊教育研究 所碩士論文。
劉洲(2005):應用 LEGO Mindstorms 在高中程式設計教學的成效探討。國立 臺灣師範大學資訊教育研究所碩士論文。
游鎮嘉(2006):應用史賓機器人於英語教室做為教師之教學伙伴。國立中央大 學資訊工程研究所碩士論文。
葉佳軒(2006)機器人教育之互動因素分析研究-以高職機械科與電子科學生為 例。國立台北教育大學玩具與遊戲設計研究所碩士論文。
許雅惠(2006):應用 LEGO Mindstorms 視覺化環境輔助程式設計觀念學習。
國立臺灣師範大學資訊教育學系碩士論文。
曾義智(2007):應用機器人於程式設計教學─實體機器人與模擬軟體使用成效 比較。國立台灣師範大學資訊教育研究所碩士論文。
教育部(2008):普通高級中學課程綱要。台北:教育部。
謝亞錚(2009):機器人輔助程式設計教學之學習成效與學生心智模型探討。未 出版碩士論文,國立臺灣師範大學資料教育研究所,台北市。
Adelson, B. (1981). Problem solving and development of abstract categories in
66
programming languages. Memory and Cognition, 9, 422-433.
Ausubel, D.P. (1960).The use of advance organizer in the learning and retention of meaningful verbal material. Journal of Educational Psychology, 51, 514-521.
Ausubel, D.P., & Fitzgerald, D. (1960).The role of discriminability in meaningful verbal material and retention. Journal of Educational Psychology, 52 , 266-274.
Ausubel, D.P. (1968). Education Psychology: A Cognitive View. New York: Holt, Rinehart and Winston.
Barnes, D. J. (2002). Teaching introductory Java through LEGO MINDSTORMS models. ACM SIGCSE Bulletin, 34(1), 147-151.
Beaubouef, T., & Mason, J. (2005). Why the high attrition rate for computer science students: some thoughts and observations. ACM SIGCSE Bulletin, 37(2), 103-106.
Becker, B. W. (2001) Teaching CS1 with Karel the Robot in Java. ACM SIGCSE Bulletin, 33(1), 50-54.
Bransford, J.D. and Johnson, M.K. (1972). Contextual prerequisites for understanding:
Some investigations of comprehension and recall. Journal of Verbal Learning andVerbal Behavior, 717-726.
Brusilovsky, P., Calabrese, E. J., Kouchnirenko, A., & Miller, P. (1997). Mini language: a way to learn programming principles. Education and Information Technologies, 2 (1), 65-83.
Cañas J. J., Bajo M. T., & Gonzalvo P. (1994). Mental models and computer programming. International Journal of Human-Computer Studies, 40(5), 795-811.
Dagdilelis, V., Satratzemi M., & Evangelidis, G. (2004). Introducing secondary education students to algorithms and programming. Education and Information Technologies, 9(2), 159-173.
Dagdilelis, V., Sartatzemi, M., & Kagani, K. (2005). Teaching Robots in Secondary
67
Schools: Some New and Not-So-New Pedagogical Problems. Proceedings of the Fifth IEEE International Conference on Advanced Learning Technologies (ICALT'05), 757 - 761, Kaohsiung, Taiwan.
Dooling, D.J. and Lachman, R. (1971). Effects of comprehension on retention of prose. Journal of Experimental Psychology, 88, 216-222.
Dooling, D.J. and Mullet, R.L. (1973). Locus of thematic effects on retention of prose.
Journal of Experimental Psychology, 97, 404-406.
du Boulay, B., O’Shea, T., & Monk, J. (1989). The black box inside the glass box:
presenting computing concepts to novices. In E. Soloway & J.C. Spohrer (Eds.), Studying the novice programmer, pp. 431-446. Hillsdale, NJ: Lawrence Erlbaum.
Ellinger, H. (2003). A nature sense of algorithm: Children should learn computer programming as a basic skill. Retrieved Febuary 13, 2008, from
http://hunter.ellinger.org/education/ProgrammingForChildren.htm.
Fagin, B., Merkle, L. (2003). Mesuring the effectiveness of robots in teaching computer science. ACM SIGCSE Bulletin, 35(1), 307-311.
Flowers, T. R., & Gossett, K. A. (2002). Teaching problem solving, computing, and information technology with robots. Journal of Computing Sciences in Colleges, 17(6), 45-55.
Guzdial, M.& Soloway, E. (2002). Teaching the Nintendo generation to program.
Communications of the ACM, 45(4), 17-21.
Hartmann, W., Nievergelt, J., & Reichert, R. (2001). Kara, finite state machines, and the case for the programming as part of general education. Proceedings of the 2001 IEEE Symposia on Human-Centric Computing Languages and
Environments, 135-141, Stresa, Italy.
Johnson-Laird, P. N. (1983). Mental Models. Cambrige University Press, Cambridge London.
Klassner, F. (2002). A case study of LEGO Mindstorms'™ suitability for artificial intelligence and robotics courses at the college level, Technical Symposium on Computer Science Education Proceedings of the 33rd SIGCSE technical
68
symposium on Computer science education, 8-12.
Lawhead, P. B., Duncan, M. E., Bland, C. G., Goldweber, M., Schep, M., Barnes, D. J., et al. (2003). A Road Map for teaching Introductory Programming Using LEGO Mindstorms Robots. ACM SIGCSE Bullelin, 35(2), 191-201.
Lesh, R.A. (1976). The influence of two types of advanced organizers on an instructional unit about finite groups. Journal for Research in Mathematics Education, 7, 87-91.
Mannila, L., Peltomaki, M., & Salakoski, T. (2006) What about a simple language?
Analyzing the difficulties in learning to program. Computer science education , 16(3), 211-227.
Mayer, R.E. (1975). Different problem solving compentencies established in learning computer programming with and without meaningful models. Journal of
Educational Psychology, 67, 725-734.
Mayer, R.E. (1976). Some conditions of meaningful learning of computer programming:Advance organizers and subject control of frame sequencing.
Journal of Educational Psychology, 68, 143-150.
Mayer, R. E. (1978). Advance organizers that compensate for the organization of text.Journal of Educational Psychology, 71, 880-886.
Mayer, R.E. (1979). Twenty years of research on advance organizer:assimilation theory is still the best predictor of results. Instructional Science, 8, 33-167.
Mayer, R.E. (1981). The psychology if how novices learn computer programming.
Computing Surveys, 13, 232-141.
Mayers, B. A. (1986). Visual programming, programming by example, and program visualization a taxonomy. Proceedings of the SIGCHI conference on Human factors in computing systems, 59-66. Boston, Massachusetts, United States.
Papert, S. (1980). Mindstorms: Children, computers, and powerful ideas. New York:
Basic Books.
69
Patterson-McNeill, H., & Binkerd, C. L. (2001). Resources for using LEGO Mindstorms. The Journal of Computing in Small Colleges, 16(3), 48-55.
Perkins, D. N., & Martin, F(1986). Fragile knowledge and neglected strategies in novice programmers. In E. Soloway and S. Lyengar, Eds . Empirical Studies of Programmers (pp.213-229). Hillsdale, NJ: Lawrence Erlbaum Associates.
Perkins, D. N., Schwartz, S., & Simmons, R. (1988). Instructional strategies for the problems of novice programmers. In R. E. Mayer, Ed. Teaching and Learning Computer programming. Hillsdale, NJ: Lawrence Erlbaum.
Pennington, N., (1987). Stimulus structures and mental representations in expert comprehension of compuer programs. Cognitive psychology, 19(3), 295-341 Putnam, R. T., Sleeman, D., Baxter, J. A., & Kuspa, L. K. (1989). A summary of
misconceptions of high school BASIC programmers. In E. Soloway and J. c.
Spohrer (eds.), Studying the Novice Programmers (301-314). Hillsdale, NJ:
Lawrence Erlbaum Associates.
Robin, A., Rountree, J., & Rountree, N. (2003). Learning and teaching programming:
a review and discussion. Computer Science Education, 13(2), 137-172.
West, L.H.T. and Fensham, P.J. (1976). Prior knowledge or advance organizers as effective variables in chemical learning. Journal of Research in Science Teaching,13: 297-306.
Wiedenbeck, S. & Ramalingam, V. (1999). Novice comprehension of small programs written in the procedural and object-oriented styles. International Journal of Human-Computer Studies, 51(1), 71-87.
Williams, A. B. (2003). The qualitative impact of using LEGO Mindstorms robots to teach computer engineering. ASEE/IEEE Frontiers in Education Conference, 46(1), 206-206.
Wolfe, D., Gossett, K., Hanlon, P. D., & Carver, C.A., Jr. (2003). Active learning using mechatronics in a freshman information technology course. 33rd ASEE/IEEE Frontiers in Education Conference, 3, 5-8, Boulder, Colorado.
70
71
72
11: System.out.println ( L );
12: System.out.println ( M );
13:
System.out.println ("請輸入 x:");
x = Integer.parseInt (input.readLine());
if ( x < 10) { y = a + b;
73 System.out.println ( ) System.out.println (“哈囉!”) 印出 哈囉!
input.readLine() x=input.readLine() 把使用者輸入的字串內容存到 變數 x 中。
Integer.parseInt(input.
readLine()) y= Integer.parseInt (input.readLine()) 把使用者輸入的內容轉成 int 的 型態,存到變數 y 中。
Double.parseDouble
(input.readLine()) z=Double.parseDouble(input.readLine()) 把 使 用 者 輸 入 的 內 容 轉 成 double 的型態,存到變數 z 中。
else if (a < b){印出”A 小於 B”}
else {印出”A 等於 B”}
當 money>0,
程式會重覆印出”money 大於 0”
直到條件不符合時(money<0) 才會跳出大括號,繼續往下執行 sum=sum+score 把 sum+score 之後再存回 sum
/*****************程式開始*****************/
int x = 1 ; while ( x <= 3) {
System.out.println (x) ; x = x + 1;
}
/****************程式結束****************/
ANS:
74
75
76
附錄 D 機器車前導組織教學講義
單元一 機器車程式環境介紹
1-1 機器車程式設計步驟 讓機器車動作的重要三大步驟有:
1. 撰寫程式:在此我們以軟體LeJos 來撰寫機器車程式。
2. 編譯程式:在中只要按下鍵盤「F9」程式就會自動完成編譯與存檔的動作。若是程式 有錯誤,也會在畫面下方出現錯誤的訊息。
3. 傳送程式到機器車:在程式完成編譯就可以將程式傳到機器車上執行。
1-2 LeJos 的環境
以下我們以「Ex0」為例,請各位同學跟著以下的步驟操作:
‧撰寫程式:
1. 點選桌面上的 eclipse 圖示,開啟編譯器。
2. 以滑鼠點選兩下開啟欲編輯的檔案資料夾,請點選「Ex0」。開啟 Ex0 資料夾後,再以 滑鼠左鍵點選「預設套件」兩下,再接著用左鍵點選 Ex0.java 兩下,這個就是我們要編
77
輯的 java 檔案;Ex0.java 下方的 SmartCar.java 檔案是機器車的設定檔,在整個課程中都 不需要開啟。(如上圖○1 )
3. Ex0.java 開啟以後,在編譯器右方會出現編輯區,兩條***線中間的部分,就是要撰寫 程式的地方。(如上圖○2 )
4. 正在編輯的檔案,檔案標籤會呈現藍色。若編譯後尚未存檔,標籤會有一個*字號。(如 上圖○3 )
‧編譯程式
在程式撰寫完之後,請按鍵盤
F9
按鈕存檔。存檔後,藍色標籤上的*字號會消失。存 檔後,若程式有語法問題,會在問題區出現錯誤訊息(如上圖○
5 )。‧傳送程式到機器車
若存檔後無錯誤訊息,代表沒有語法錯誤,就可以選擇下載到機器車(如上圖
○
4 )將 程式傳輸到機器車機器車執行。※ 請注意,將程式傳輸到機器車前,欲傳輸的檔案其標籤要呈現藍色,若不是呈現藍色,請用 滑鼠左鍵點選該檔案標籤,使其呈現藍色。
例如:欲傳輸 Ex0.java 到機器車上執行,則在傳輸前,要將 Ex0.java 的標籤點選成藍色。
4
………
78
1-3 機器車的外觀
學習機器車程式設計的第一步,就是要知道機器車的構造。我們使用的機器車,有一個主 機我們寫的程式可以儲存在這裡面,下面安裝有一左一右兩個馬達用來帶動機器車前進、後退,
上面安裝有一個光線感應器,以及一個觸碰感應器。
在模擬軟體當中,我們可以看到機器車如下圖所示:
右前視角 俯視圖
電源開關
程式開始 執行鈕 紅外線 接收區
左輪 右輪
車頭
車尾
A B
觸碰感應器
光感應器 touch sensor
light sensor
79
請設計一個程式,操控機器車做出以下動作:
使機器車能以順時針方向繞著以下方形行走,最後回到原點停止。
單元二 機器車程式大挑戰
◎ 請用你的語言寫出你的想法,對機器車下達指令:
ex 前進 50 公分 -> 右轉 90 度……。
80
【檔案名稱:Ex1】實際JAVA程式撰寫區:
【檔案名稱:Ex2】實際JAVA程式撰寫區:
/*******************************程式開始*******************************/
/*******************************程式開始*******************************/
/*******************************程式開始*******************************/
/*******************************程式開始*******************************/
想想看,上個程式你/妳有發現甚麼特別的地方嗎?
那如果要使機器車能以順時針方向”不斷”繞著以下方形行走(就像時鐘指針永不停止一樣)。要怎麼
81
請設計一個程式,操控機器車做出以下動作:
使機器車能以順時針方向”不斷”繞著以下方形行走。(注意:你事前並不知道 方形的長度。)
想想看,一旦題目變動,你就必須重新測量,而且一旦碰到牆壁,機器車就會被卡死在迷宮 內。這樣不是很麻煩嗎?如果你遇到不知道長度的題目你該怎麼辦呢?想一想,有沒有什麼更聰明
的方法哩?讓我們來看看以下題目……
【檔案名稱:Ex2】
◎ 請用你的語言寫出你的想法,對機器車下達指令:
82
有想法了嗎?沒有的話請看下圖提示:
現在讓我們來把以上想法&剛剛的題目改寫為程式吧!
【檔案名稱:Ex3】實際JAVA程式撰寫區:
/*************************************程式開始*******************************/
/************************************程式開始*********************************/
碰撞
83
請設計一個程式使機器車可以走進以下迷宮的最深處。
※注意:迷宮形狀固定,但大小不一定。
自我挑戰題【檔案名稱:Ex4】
自我挑戰題【檔案名稱:Ex4】