演算法中的問題解析
策展人: | 臺北市長安國中 呂添仁老師 |
---|---|
策展單位: | 教育大市集執行團隊 |
活動時間: | 2022-09-26 |
活動地點: | 臺北市長安國中 |
適用領域: | 科技領域-資訊科技、科技領域-生活科技 |
上傳日期: | 2024-03-25 |
筆者在很多資訊科技的研習中時常聽到有不少老師反應「演算法」很難上,尤其對非資訊本科系出身的老師來說更是如此。尤其演算法的問題解析,大多數都是照著教科書的內容帶過去,很少讓學生有發想、參與解決問題方法的機會。「問題解析」其實就是「將實際問題拆解成幾個單元,以規畫用電腦來解決問題的步驟」,因此重點就是「如何將問題拆解」及「設計解決的步驟」。
當然演算法必須搭配程式設計才行,演算法用來設計解題方法,程式設計用來實作解題程序,就像要先做好旅行計畫再出發、先畫好房子的設計圖再動工是一樣的道理。所以在設計這個單元時,也參考了教育大市集裡面侯偉富老師的「生活中的演算法」教案,先讓學生對演算法的概念有個基本的認識。另外在實際授課時,參考了教育大市集中「智慧教室」多位老師的經驗,運用大屏進行教學。
這個單元會對應的學習重點如下:
1. 學生先備知識
演算法的意義與特性、程式與電腦的關係。
2、教學策略
七年級學生的邏輯思考能力還在發展之中,能完全靠自己去拆解問題、想出問題解法、安排解題步驟的學生應該不多,但是多數的學生模仿能力卻很強。而在參考了市面上好幾個版本的課本後發現,所有課本幾乎都將解決問題的方法拆解為3個單元:輸入、處理、輸出。如下圖所示:
因此老師必須建立並遵循這樣的解題模式,往後任何題目都是用這個模式來設計解題方法。學生也會覺得老師的方法跟課本是一致的,隨著實做的題目增加,學生就會越來越熟悉這樣的解題模式。於是產生了3個重點:輸入什麼資料?輸出什麼資料?如何處理?接下來的教學內容,就是在引導學生思考這3個重點。
3. 教學內容
在大屏投影的簡報畫面 | 從生活情境切入(引導的方法) |
---|---|
學生幾乎都有到超商買東西的經驗,先請學生思考,假設用現金來結帳,當我們把商品給了店員,店員做了什麼動作(輸入了什麼資料),然後收銀機就會出現什麼資料(輸出)。請把答案跟同組同學討論,並寫在作業簿上。
● 輸出什麼資料 ● 輸出什麼資料 因為這是第1個範例,學生可能較不易馬上捉到重點,所以老師可以給較多的引導和提示。例如圖中的店員拿了什麼,對飲料上的一個什麼地方「嗶」了一下,然後收銀機的畫面就會出現什麼文字。 |
|
等公車時最怕無法知道什麼時候公車才會來,尤其是上學時如果時間沒有控制好就會遲到。還好有資訊科技,我們可以下載查詢公車APP,就可以知道預定到站的時間。
老師先示範,從學校附近的公車站,查詢某路線的公車(如左圖),步驟是: 1. 先輸入756 2. 點選「往北門」 畫面出現圖中紅框內的內容 接著請同學小組討論,在這個案例中 ● 輸出什麼資料 ● 輸出什麼資料 並寫在作業簿上。 |
|
上學進校門的第一件事,就是到川堂那邊的某一台機器上去「嗶」一下數位學生證。不久之後家長手機就會收到簡訊通知(如左圖)。
接著請同學小組討論,在這個案例中 ● 輸出什麼資料 ● 輸出什麼資料 並寫在作業簿上。 |
|
確認學生能否觀察到資料的輸入、輸出,是哪些資料?
經過以上3個範例,同學應該可以學到把現實問題,利用電腦來解決時,資料的流向是如何運作的。 |
教師可請同學分享以上3題的答案,並說明為什麼?教師再適時說明或提示重點。 |
評量:
聖誕節時,小潔全家到餐廳用餐,聖誕套餐每人特價199 元,消費金額滿500 元再享9 折優惠。若小潔全家都用餐,共要花費多少元呢? (本題是康軒版資訊科技七上課本的題目) |
|
以上的教學重點是在資料的「輸入、輸出」。現在我們在重點放在「處理」,特別要強調是「用電腦來處理」。
用左圖,也就是剛剛談到的超商結帳的範例,讓學生思考,店員掃了條碼後,到收銀機出現85元,中間的過程中,電腦做了什麼事情? |
|
老師show出上個步驟中問題的內容,原來電腦處理了3件事:
將條碼轉換成商品編號 依編號查出售價 將售價加總 總結: 用電腦解決任何問題,都必須先思考,有哪些資料要輸入,有哪些資料要輸出,如何把輸入的資料變成輸出的資料。 |
學生作答 | 成果講評 |
---|---|
學習較專注的學生,在老師的引導及同組同儕的討論下,幾乎可以全部答對。 | |
有些學生甚至可以比老師預計答的更好。例如Ex2輸出的資料中,多數學生只能答出到站時間、站牌、車牌,但這個學生可以寫出「車子定位」,這是一般學生比較觀察不到的。另外Ex3輸入資料的部份,他能寫出「金片」(應該是晶片),從他的文字描述可知他要表達的是「讀取晶片後,電腦就可以查出姓名、卡號、照片」,這也是這位學生觀察力出眾的表現。 |
學生對於「用電腦解決問題」其實並不熟悉,因為生活中一般人解決問題,是用「人的角度」來思考的,但是用電腦解決問題,就必須改成「用電腦的角度」來思考,其實這就是「運算思維」。電腦不是人腦,不會自動思考,不會自動算出答案,因此我們必須教會學生,要很明確的告訴電腦,要輸入什麼資料?然後中間要明確的指示電腦去做哪些步驟?最後才能得到要輸出的答案。
這套「輸入-處理-輸出」的解題模式,一開始就要建立好,在之後所有的問題,都是用這套模式來解決。
利用生活情境的範例,可以幫助學生快速建立起這套模式,尤其是範例的選用,務必是要「用電腦來解決的」。讀者可以發現,此文中的前3個範例(超商結帳、查公車APP、嗶學生證)都是如此。
國中 資訊教育