第五章 結論與建議
第一節 結論
第一節 結論
壹、 機器車輔助程式設計對學生之問題解決能力無顯著影響
雖然在整體問題解決能力及其五項分項來看,實驗組與控制組之間並無顯著 差異,但經由統計分析結果可以發現,其中「解決問題」與「有效性」此二向度 結果已接近顯著(解決問題 p = .072;有效性 p = .077),表示機器車程式設計 課程對學生此二向度能力成長仍具有一定的影響力,研究者推測因實驗時間不足 及部分學生對機器車程式設計課程的學習態度及學習情形較不理想而造成此結 果。另在其它三向度中「界定原因」無顯著成長的原因,推測因教材中題型太過 單一而造成;「預防問題」無顯著成長的原因,透過比較程式設計問題解決與共 通性問題解決之間的差異,發現在程式設計問題解決中較缺乏與此能力相關的步 驟及過程,因此造成此能力無顯著成長;「變通性」無顯著成長則是因為在教材 中第二階段-競賽模式中,雖利用競賽的方式讓學生可互相參照他組機器車獲得 勝利的方法,但教學中並未在競賽結束後實際讓各組呈現他們程式設計的內容,
使學生無法實際了解他組設計概念,因此讓「變通性」此向度的成長有限。
41 貳、 女性學生對機器車程式設計較無興趣
由學習活動問卷可以明顯看出,實驗組學生雖整體對於機器車程式設計均持 正向態度,但若將男女分數分開,分別檢視其分數,可以發現實驗組男同學的學 習態度與學習情形分數較高於實驗組女同學,顯示女生在學習機器車程式設計時 較不認真,並且機器車程式設計對於女生有一定的難度。Stein及Nickerson(2004)
說「男生是真正對機器人感興趣,但女生的興趣卻在其他地方」。因此研究者推 測女生僅是對機器車此項工具較無興趣,而非對程式設計無興趣。
參、 男性學生對機器車程式設計有較高的興趣,在實驗後,其「解決方法」及
「有效性」二個問題解決面向之能力有顯著提升
由於實驗組中,透過問卷及課堂觀察發現男同學的學習態度與學習情形較優 於女同學,因此將男女分數分開,單獨看實驗組與控制組男生之間的比較,發現 在「解決方法」及「有效性」此二向度,實驗組男同學顯著高於控制組男同學。
其中「解決方法」分數較高,表示實驗組男同學在經過機器車程式設計教學後,
能提出更多樣而有效之解決問題構想;而「有效性」分數較高,表示實驗組男同 學在經過機器車程式設計教學後,思考變得更周密,並且更善於運用既有的知識 與經驗,來掌握最具關鍵性的要素或最有效率的方法。由於研究者在進行教學時,
主要以引導的方式來讓學生自行思考機器車該如何行動才能達到目的地,或該如 何組合指令才能讓機器車行動如預期,因此研究者認為,這樣的課程可以讓學生 更謹慎的去思考、去了解、去表達出自己想表達的想法,從而讓其思考更周密,
也更能掌握並運用自己所擁有的知識及經驗。
42 第二節 建議
以下根據本研究的實施過程與結果,對未來相關研究提出建議。
壹、建議重覆本研究,但增加其它程式設計環境進行比較
不同的工具應該會對能力的成長有不同的影響,因此研究者建議在未來的研 究中,可以加入不同的程式設計環境如Scratch、Alice等環境互相比較,以探討 不同程式設計環境對初學者問題解決能力的影響。
貳、增加輔導員
由於研究參與人員除研究者本人擔任教學老師外,僅有一名輔導員,而大多 數的學生在課程的過程中都會產生問題,更因為研究者為讓課程內容更符合問題 解決歷程,當學生發生問題時,研究者多以引導方式來為學生解答;但僅有2名 問題解決者較難顧全整班約12組30名學生,因此研究者建議增加輔導員至3名,
加上教學者共4名問題解決者於約12組30人之班級,平均一人負責3組學生較為適 當。
参、加強質性研究
由於本研究中研究者僅以問卷之方法蒐集質性資料,因此對於質性部分較無 深入探討,例如在態度問卷中,女同學的學習興趣較男生低,但研究者卻無法深 入了解女同學為什麼學習興趣會比較低,也無法知道為什麼男同學會對機器車程 式設計抱有如此大的熱情。研究者認為這是一個很值得探討的議題,去真正了解 性別變因對機器車程式設計的影響,因此建議加強質性研究,以探討其真正的原 因所在。
43
許雅惠(2006)。應用LEGO Mindstorms 視覺化環境輔助程式設計觀念學習。
國立臺灣師範大學資訊教育學系碩士論文。
劉洲(2005)。應用LEGO Mindstorms 在高中程式設計教學的成效探討。國立 臺灣師範大學資訊教育研究所碩士論文。
44
Andre, T. (1986). Problem and education. In G. D. Phye & T. Andre (Eds.), Cognitive classroom learning: Understanding, thinking, and problem solving , 169-204.
Orlando: Academic Press.
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.
Bruce, K. B. & Foster, J. N. (2004). LOOJ: Weaving LOOM into Java. ECOOP 2004:
Object-Oriented Programming. SpringerVerlag, Oslo, Norway.
Brusilovsky, P., & Spring, M. (2004). Adaptive, engaging, and explanatory
visualization in a C programming course. In L. Cantoni & C. McLoughlin (Eds.), Proceedings of World Conference on Educational Media, Hypermedia, and Telecommunications 2004, 1264-1271. Chesapeake: VA: AACE.
Carlson, P.& Bremmer, D. (2007).Transforming middle-school curricula to reflect the new IT literacies of 21st century STEM careers. American Society for
Engineering Education National Conference, Honolulu, HI, 22 – 25.
Cooper, S., Dann, W., and Paush, R. (2000). Alice: a 3-D tool for introductory programmingconcepts. Journal of Computing in Small Colleges, 15(5), 108-117.
COSTELLOE, E. (2004) Teaching Programming The State of the Art. Department of Computing, Institute of Technology Tallaght, Dublin 24. CRITE Technical
45 Report.
Dagdilelis, V., Sartatzemi, M. & Kagani, K. (2005). Teaching (with) robots in secondary schools: some new and not-so-new pedagogical problems.
Proceedings of Fifth IEEE International Conference on Advanced Learning Technologies. 757-761.
Dambrot, F. H., Watkins-Malek, M. A., Silling, S. M., Marshall, R. S., & Garver, J.
A. (1985). Correlates of sex differences in attitudes toward and involvement with computers. Journal of Vocational Behavior, 27, 71-86.
Deek, F. P., Kimmel, H. & McHugh, J. A. (1998). Pedagogical changes in the delivery of the first-course in computer science: Problem solving, then programming. Journal of Engineering Education, 87, 313-320.
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.
Duke, R., Salzman, E., Burmeister, J., Poon, J., & Murray, L. (2000). Teaching programming to beginners –choosing the language is just the first step.
Proceedings of the Australasian conference on Computing education, 79-86.
Ellinger, H. (2003). A natural sense of algorithm: Children should learn computer programming as a basic skill. Retrieved December 18, 2007, from
http://hunter.ellinger.org/education/ProgrammingForChildren.htm
Feurzig, W., Horwitz, P. & Nickerson, R. S. (1981). Microcomputers in education.
Report No. 4798.
Firestien, R. L. & Treffinger, D. J. (1983). Creative Problem Solving: Guidelines and Resources for Effective Facilitation. Gifted Child Today. January/February, 2-10.
46
Foshay, R. & Kirkley, J. (1998). Principles for Teaching Problem Solving.
http://www.plato.com/whitepapers.asp
Gandy, L., Bradley, S., Brookes D. A.& Allen, N. (2010)The use of LEGO
Minstroms NXT Robots in the Teaching of Introductory Java Programming to Undergraduate Students.ITALICS Volume 9 Issue 1 February 2010 ISSN:
1473-7507, 1-9.
Grandell, L., Peltomäki, M., Back, R. J. & Salakoski,T. (2006). Why complicate things?: introducing programming in high school using Python.ACE '06 Proceedings of the 8th Australasian Conference on Computing Education, 52, 71-80.
Hayes, J. R. (1980). The complete problem solver. Philadelphia: Franklin Institute Press.
Isaksen, S. G., Puccio, G. J. & Treffinger, D. J. (1993). An Ecological Approach to Creativity Research: Profiling for Creative Problem Solving. The Journal of Creative Behavior, 27(3), 149-169.
Kelleher, C., & Pausch, R. (2005). Lowering the barriers to programming. ACM Computing Surveys (CSUR), 37(2), 83-137.
Kimberly, V. H. (2002). Gender Differences in Computer Technolgy Achievement.
Middle School Computer Technologies Journal a service of NC State University, Raleigh, 5(2).
Malan, D., & Leitner, H. (2007). Scratch for Budding Computer Scientists. SIGCSE Procedings.
Mayer, R. E. (1992). Teaching for transfer of problem-solving skills to computer programming.In E. D. Corte, M. C. Linn, H. Mandl & L. Verschaffel(Eds), Learning environment and problem solving, 193-206. NY: Spring-Verlag.
47
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.
Meyer, R. M., & Burhans, D. T. (2007). Robotran: A Programming Environment for Novices Using LEGO Mindstorms Robots. Proceedings of the 20th International Florida Articial Intelligence Research Society (FLAIRS) Conference, 321-326.
Newell, A., & Simon, H. A. (1972). Human problem solving. Englewood Cliffs. NJ:
Prentice Hall.
Norton, S. J., McRobbie, C. J., Ginns, I. S. (2006). Problem Solving in a Middle School Robotics Design Classroom. Research in Science Education 37(3), 261-277.
Papert, S. (1980c). Mindstorms: Children, computers, and powerful ideas. New York:
Basic Books.
Parnes, S. J. (1987). Visioneering - State of the Art. The Journal of Creative Behavior, 21(3), 283-299.
Parsons, D., & Haden, P. (2007). Programming Osmosis:Knowledge Transfer from Imperative to VisualProgramming Environments. In S. Mann & N.
Bridgeman(Eds.), Procedings of The Twentieth Annual NACCQConference, 209-215.
Polya, G. (1981). Mathematical Discovery: On Understanding, Learning and Teaching Problem Solving. New York: Wiley.
Powers, K., Ecott, S., & . Hirshfield , L. (2007). Through the looking glass: teaching CS0 with Alice. Proceedings of the 38th SIGCSE technical symposium on Computer science education SIGCSE '07, 39 1, 213-217.
Putnam, R. T., Sleeman D., Baxter, J. A., & Kuspa, L. K. (1986). A summary of
48
misconceptions of high school basic programmers. Journal of Educational Computing Research, 2(4), 459-472.
Resnick, M., Martin, F., Sargent, R.& Silverman, B. (1996). Programmable Bricks:
Toys to Think With. IBM Systems Journal, 35(3-4), 443–452.
Satratzemi M., Dagdilelis V., & Kagani K. (2005). Teaching Porgramming with robots: A case Study on Greek Secondary Education. P. Bozanis, E.N. Houstis, (Ed.),pp. Lecture Notes in Computer Science (LNCS), Vol. 3746, 502-512.
Schunk, D. H. (2003). Learning theories: An educational perceptive(4th ed.).New Jersey: Prentice-Hall.
Shashaani, L. (1993). Gender-based differences in attitudes toward computers.
Computer and Education , 20(2), 169-181.
Smith, D. C., Cypher, A., & Tesler, L. (2000). Novice programming comes of age.
Communications of the ACM, 43(3), 75-81.
Stein, C., & Nickerson, K. (2004). Botball Robotics and Gender Differences in Middle School Teams. Proceedings of the 2004 American Society for Engineering Education Annual Conference.
Winslow, L. E. (1996). Programming pedagogy: A psychological overview. SIGCSE Bulletin, 28, 17-22
49 附錄A
單元一 樂高程式介紹
1-1 樂高程式設計的步驟
我們首先要知道撰寫樂高程式的二個步驟:
1. 撰寫程式:在此我們以 NXT Software 來撰寫樂高程式,利用拖曳的方法將物 件拉入視窗並加以執行。
2. 將程式傳輸到機器車執行:在程式正確撰寫完程後就可以將程式傳到機器車 上執行。
1-2
NXT Software的環境
拖曳式環境
可將畫面左側的區塊拖曳至程式圖中。各個區塊將執行專屬的函式,如移動馬達、
顯示訊息、偵測聲音,或量測距離。在整合一系列的區塊之後,即可隨心所欲讓 機器人進行相關動作!
下載並執行
只要撰寫程式完畢,即可下載至 NXT。透過無線藍芽功能或 USB 連接線,即 可將編譯完成的程式傳送至 NXT。NXT 將接著執行從主機電腦所接收的程式 碼。
使用者可建立多組程式,並下載至自己的 NXT 機器人。
50
1-3 機器車的外觀
學習樂高程式設計的第一步,就是要知道機器車的構造。我們使用的機器車,
有一個主機我們寫的程式可以儲存在這裡面,另外還有用來帶動機器車前進後退 的馬達、觸碰感應器、距離感應器、聲音感應器以及光感應器等等。
我們可以看到機器車如下圖所示:
51
單元二 機器車基本操作
2-1 機器車會依照你給的指令前進!
程式的內容次序與程式執行的結果有密切的關係,不同的次序會導致不同的 執行結果,會依照其程式內容依序執行之,而機器車程式執行的方式即是依序由 左至右執行。
例如:
這時機器車就會依序先前進 5 秒,然後左傳 90 度,再前進 5 秒,最後再右 轉 90 度。
52
2-2 機器車走迷宮
習題:
請設計一個程式使機器車能以順時針方向,走出如下圖所示的ㄇ字型迷宮。
(注意:請自行預估機器車要行走的距離。)
請問機器車要如何行進才能達到目的地呢?
根據上一題,你認為要用哪些指令區塊組合才能讓機器車達到目的地?請在下方 畫出:
53
54
間綠色的部分為前進,所以圖3-2所代表的意思為「不斷的前進」。
第二個是判斷式,如果「碰撞!」就「轉彎」的概念,在程式中,就是選擇 判斷式的概念。NXT Software 中判斷式的應用方式如下:
圖3-3中黃色的區塊代表此次判斷的方式,而圖中一個手指的形狀所代表 的是「碰撞感應器是否被按下」;而橘色則分為上下兩部分,上方代表按下碰撞 感應器,其內部綠色區塊所代表之指令為「左轉 90 度」;下方代表放開碰撞感應
圖3-3中黃色的區塊代表此次判斷的方式,而圖中一個手指的形狀所代表 的是「碰撞感應器是否被按下」;而橘色則分為上下兩部分,上方代表按下碰撞 感應器,其內部綠色區塊所代表之指令為「左轉 90 度」;下方代表放開碰撞感應