本研究針對已具備運算思維基礎之學生,藉由 App Inventor 來學習 App 物件,探 討經過 App 開發基礎環境介紹、App 的必要物件開發課程、App 的進階物件設計課程 及 App 的專題應用與製作後的學習成效,從研究中能明顯看出有運算思維先備知識的 學生在無需額外學習運算思維之下,能夠專注於學習 App 物件,且在學習 App 應用程 式開發中能輕易上手。學生從未接觸 App 應用程式至著手開始研究及設計 App 應用程 式,在課程結束後能自行製作出完整的 App 應用程式,此成果尚為滿意。App Inventor 課程中不需接受特定程式語法及面對產生的非預期錯誤,且減少程式基礎教學只焦距 在理解程式的執行與邏輯的方式且學生又已有運算思維程式基礎,更能提升學生學習 App 應用程式的效率。
本研究結果顯示,具有運算思維背景之學生能夠設計的 App 應用程式廣度甚廣,
在短短一周的製作時間內所製作出的專題內大多皆有按鈕、標籤、畫布、圖像精靈、
文字輸入盒、微型資料庫,少數學生專題內也能運用到日期選擇器、對話框、下拉選 單、計時器,且學生皆能已運算思維概念來撰寫,可以看出已有運算思維概念之學生 確實能藉由此課程吸收 App 物件知識,且善用已具備的能力來完成專題。學生皆已能 製作出具有列表、函數、判斷式等運算思維概念及具有完整資料庫運用的手機程式,
無論是完整的單機遊戲,或是隨手可見的小工具,皆可以使用已具備的先備知識將 App 應用程式功能運用的透徹。在學習方面多數同學能夠輕易使用上課所教學之物 件,少數物件因為每一個學生專題需求不一,故在專題使用率沒有預期的高,但是在 課程觀察中仍可以統計出學生的學習成效皆有成長。學生對於檔案管理該物件並無法 透徹學習,能看出以修習過運算思維之學生對於列表的熟悉度仍然須加強,學生須在 此部分做深入的探討與學習,故在使用上有明顯降低。本實驗課程藉由手機的運作及 積木式的組合程式來提升學生對於 App 程式設計的興趣,使學生能獨立開發不同深度 的手機 App 工具。
未來研究方向將針對已具備運算思維基礎之學生開設不同種類課程,探討對於學 習不同種程式語言是否也能有效學習,學習環境將不侷限在視覺化程式設計中,可考 慮直接使用文字式語言來做研究。在未來也希望能將此課程延伸,探討已有 App 物件 概念及運算思維之學生是否能運用文字式程式語言來製作類似的 App 應用程式。
39
參考文獻
Andrew, J.K., Myers, B.A., & Aung, H.H. (2004) Six Learning Barriers in End-User Programming Systems.
Barr, V. & Stephenson, C. (2011) Bringing Computational Thinking To K-12: What Is Involved And What Is The Role Of The Computer Science Education Community?
Chatzinikolakis, G., & Papadakis, S. (2014) Motivating K-12 Students Learning Fundamental Computer Science Concepts with App Inventor.
Giordano, D., & Maiorana, F. (2014) Use of Cutting Edge Educational Tools for an Initial Programming Course.
Jeff, G., Abelson, H., Wolber, D., & Friend, M. (2012) Teaching CS Principles with App Inventor.
Johnson, L.F. (1995). C in the first course considered harmful. Communications of the ACM, 38(5), 99-101.
Kirsner, K. (1998). Implicit and explicit mental processes. Mahwah NJ: LEA.
Papert, S., & Harel, I. (1991) Situating Constructionism.
Pearson, E. & Bohman, P. (Eds.), Proceedings of World Conference on Educational
Multimedia, Hypermedia and Telecommunications 2006 (pp. 1976-1982). Chesapeake:
VA: AACE.
Peng, C., & Ronghuai, H. (2017) Design Thinking In App Inventor Game Design and Development: A Case Study.
Po-Yao, C. (2016) Exploring Students' Computational Practice, Design and Performance of Problem-Solving Through a Visual Programming Environment.
Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B., & Kafai, Y. (2009) Scratch:
Programming ForAll.
Sarah, H., Richard, G., & Michael, W. (2013) Cultivating A K12 Computer Science Community: A Case Study.
Shanmugasundaram, V., Juell, P., Groesbeck, G., & Makosky, M. (2006). Evaluation of Alice World as an Introductory Programming Language.
40
Soares, A. (2013) Reflections on Teaching App Inventor for Non-Beginner Programmers:
Issues, Challenges and Opportunities.
Voštinár, P. (2017) Using App Inventor for Creating Educational Applications Winslow, L. E. (1996). Programming pedagogy: A psychological overview. SIGCSE
Bulletin, 28, 17-22.
Won Kim, S., & Youngjun, L. (2017) A Study of Educational Method Using App Inventor for Elementary Computing Education.
Yadav, A., Hambrusch, S., T.Korb, J., Zhou, N., & Mayfield, C. (2011) Introducing Computational Thinking in Education Courses.
Zaranis, N., Orfanakis, V., Papadakis, S.J., & Kalogiannakis, M. (2016) Using Scratch and App Inventor for teaching introductory programming in Secondary Education. A case study.
We Are Social (2018) Https://Wearesocial.Com/Blog/2018/01/Global-Digital-Report-2018 . 李恩萱(2018)。大學生運算思維與程式設計學習成就研究。
林振煇 (2003)。應用 Bottom-Up 法進行程式教學。論文發表於第 11 屆國際電腦輔助教 學研討會 (ICCAI2003)。國立臺灣師範大學,臺北市。
何昱穎、張智凱、劉寶鈞(2010)。程式設計課程之學習焦慮降低與學習動機維持–以 Scratch 為補救教學工具。
林育慈、吳正已(2016) 。運算思維與中小學資訊科技課程。國家教育研究院教育脈動 電子期刊。6,5-20。
匯流新聞網(2017)。2017 年全球手機用戶將突破 50 億人 亞洲貢獻最大。取自 https://cnews.com.tw/2017 年全球手機用戶將突破 50 億人-亞洲貢獻最大/
41
附錄
42 (d) App Inventor
(e) Arduino/Raspberry Pi (f) Scratch
(g) 其他
43
44
13. 我想要學會開發 App 因為 (可複選)
(a) 純粹個人興趣,可以炫耀 (b) 課業學習上有此需要
(c) 想要開發實用的 App 作為同學、社團、社交上的工具 (d) 想要開發實用的 App 上架賺錢
(e) 其他
14. 其他任何有關參與本課程的動機(詳答) 15. 我對於參與本課程的期望是(詳答)
45
46
6. 整體而言,對於課程內容吸收(學會)程度約為(單選) 1(完全不會) - 5(全部都會)
7. 整體而言,課程與原先預期符合程度約為(單選) 1(非常不符合) - 5(非常符合)
8. 對於後半課程的期望(詳答) 9. 專題題目與簡要說明(詳答) 10. 專題預計使用到的功能(複選題)
(a) 按鈕 (b) 畫布 (c) 圖像精靈 (d) 標籤
(e) 文字輸入盒 (f) 日期選擇器 (g) 計時器 (h) 對話框 (i) 微型資料庫 (j) 下拉選單
47
48
49
附件四 CHIPPY 挑戰賽基礎題
一. 蛋糕促銷
奇比甜點店為了慶祝開店滿 1 週年,決定在官網舉辦促銷活動。店內所 有蛋糕原價皆為 300 元,每筆訂單運費為 80 元,本次促銷活動規則如下:
購買 1~5 個蛋糕,每個蛋糕皆享 9 折優惠;購買 6~10 個蛋糕,每個蛋糕 皆享8折優惠;購買 11~15 個蛋糕,每個蛋糕皆享7折優惠;購買 16 個 蛋糕以上,每個蛋糕皆享6折優惠;若折扣後滿 1200 元再享免運優惠。
請設計本次促銷活動的計價程式,程式需於使用者輸入蛋糕購買數量後,
輸出顧客應付總金額。
二. 射箭比賽
奇比射箭場將舉辦射箭比賽,為了節省人力成本,故全面採用電腦自動 計分。每位選手的成績為射五箭後的總得分,箭靶上的得分區域劃分為 1 至 10 分。每次射箭計分方式如下:
1. 箭靶原始得分若低於前一次,該次成績僅採計原始得分。
2. 箭靶原始得分若與前次相同(不含連續滿分),該次成績將以兩倍計算。
3. 箭靶原始得分若高於前一次或連續兩次皆為滿分,該次成績將以三 倍計算。
請寫程式依照上述規則計算選手的比賽成績。程式將在使用者分次輸入 五箭之原始得分後,輸出選手的成績。
三. 搭電梯
松鼠國中共 30 名學生前往台北 101 進行企業參訪活動,但因電梯正在維 修,只剩一台可以搭乘,故所有學生只能輪流搭電梯上樓。
電梯最高乘載量為 200 公斤,老師請學生們排成一列依序進入電梯,若 學生進電梯時發出超重警鈴,則該學生直接退出等待下一趟,而該趟電 梯直接上樓。
請寫程式計算電梯最少需來回幾趟才能接送所有學生,在依序輸入 30 筆 學生的體重資料後,程式將輸出最少來回趟數。
50
附件五 CHIPPY 挑戰賽進階題
一. 跳水比賽
跳水比賽為求公平性,決議去除評審中較極端的成績。比賽共聘用五位 評審,各自給予每位參賽者 0 至 10 分的評價,參賽者的總成績為扣除五 位評審中的最高分及最低分後,另外三位評審的評分總和。請寫程式在 輸入五位評審的評分 (分數未排序) 後,輸出參賽者的總成績。
二. 幸運號碼
新版樂透彩的數字範圍為 1 至 99,在每期開獎之前,玩家可任意選擇 5 個不重複的數字購買,對中號碼的數量與對應的中獎金額如下。
•頭獎:對中 5 個號碼,獎金 100000
•貳獎:對中 4 個號碼,獎金 10000
•參獎:對中 3 個號碼,獎金 2000
•肆獎:對中 2 個號碼,獎金 500
•伍獎:對中 1 個號碼,獎金 200
本期的幸運號碼為 7、24、31、42、45、56、63、78、80、99。請設計本 期的樂透彩對獎程式,在輸入 5 個號碼後,輸出中獎金額。
三. 訂飲料
奇比擔任總務股長後,發現班上經常有訂購飲料的需求,所以決定寫程 式統計訂餐金額。跟學校合作的飲料店共有 5 種外送品項。
1 號是珍珠奶茶(每杯 45 元)、2 號是伯爵紅茶(每杯 25 元)、3 號是烏龍綠 茶(每杯 30 元)、4 號是四季春茶(每杯 40 元)、5 號是黑糖珍珠鮮奶茶(每杯 60 元)。
同學將依序輸入欲購飲料編號,輸入-1 表示結單,程式將計算訂單總金 額並輸出。