一理通、百理通!用程式學「運算思維」與「解決問題」

越來越多家長開始了解,學程式其實不是設計程式,而是學習背後「發現與解決問題」的思維

 

『爸爸,我們可以烤蛋糕嗎?媽媽說她不會,叫我來問你』

『爸爸也不會啊~』

『網路上可以查呀!我同學說他家是用氣炸鍋做的,我們也有氣炸鍋。我們先在網路上找食譜,然後去買材料,照著食譜做就好了,我們可以試試看嗎?』

『哇,你怎麼這麼厲害,全部都想好了』

『程式老師有教啊,一步一步想就知道要幹嘛了。那可以烤嗎?拜託~』

最近我們夫妻發現常被唸小五的女兒「指揮」行動,因為她的要求不再是以前那種天馬行空的想像,會同時說出「想要怎麼做、可以做什麼」,讓我們也不好再用「不懂、不會」帶過,只好放下手邊的事陪她一起動手。

原本是出於「好像大家都在學」的想法才讓她也去上課的,沒想到只是送她去學個程式設計,會給她帶來這麼明顯的影響,做什麼都唸著「一步一步來」。我們才逐漸理解,為什麼108課綱會將「程式教育」納入「科技領域」的規劃中,因為程式教育從來就不是只在學編碼coding!

 

「程式設計」不只是學「設計程式

 
程式設計如今已經成為「顯學」,各種課後輔導、營隊都想辦法要沾上邊,但許多人對於程式設計到底在幹什麼,還是存著一知半解的誤會。不是以為像電影《駭客任務》中黑底綠字、密密麻麻的天書,就是關在暗暗小房間裡,一個人對著五六個發亮螢幕飛快打字的宅男宅女。

對以孩童為教學目標的程式設計來說,目前最廣為人知的Scratch,是由美國麻省理工媒體實驗室(MIT Media Lab)所開發出來的圖形化程式語言,為的是幫助8歲以上的孩子認識程式設計的基礎邏輯。跟人們想象中「要輸入一堆print、()、=、str等看不懂的符號」不同,Scratch用拉動積木的方式來給電腦下指令,不只畫面色彩豐富多變,也能馬上看到不同指令帶來的變化,讓「寫程式」變得更加直覺、有趣而吸引人。

鼓勵孩子從小開始學習寫程式,能幫助他們在成長階段,建立起更有邏輯的思考方式與學習習慣,這樣的能力,足以提升他們的創造力,進而解決生活上的各種難題。

 Scratch不用寫程式碼,只要拉動積木方塊就能夠完成程式作品,學到解決問題的思維

 

運算思維讓電腦變成孩子的「大腦外掛」

 
可能不少人以為,學程式設計就是在學「怎麼coding編寫程式語言碼」,然而coding只是手段,程式設計的真正目的是要「讓電腦幫助我們達成目標」,因此學程式能學到最寶貴的東西,是培養起能用一輩子的「運算思維 (Computational Thinking)」。

美國卡內基梅隆大學的電腦科學家Jeannette M. Wing,在2006年提出「運算思維 Computational Thinking)」的概念,強調「『運算思維』是懂得利用電腦科學的基本概念,進行問題解決、系統設計與人類行為理解的思維模式」,簡單來說就是學會用電腦也能懂的方式思考,並知道如何利用它強大的運算能力,達成難以單靠人腦在短時間內得到的運算效果,幫助我們快速解決生活中會遇到的各種問題。

人類社會日趨複雜,單憑一個人的力量很難解決所有問題,因此我們越來越仰賴交流合作,不只著重人與人之間的對話互動,還包含了人與電腦間的人機溝通與協作。而擁有運算思維的人,等於獲得電腦的運算能力做為輔助,進而能處理更龐大且繁雜的問題。

想要培養運算思維,就必須在「用程式跟電腦說話」的過程中,先釐清自己的目標,才有辦法讓它照我們要的方式運算。就像使用Google map地圖時,我們得確認好想去的目的地,接著評估要搭大眾交通工具、還是開車或步行,Google才能提供路線供我們選擇。

設計程式時,我們也必須先想清楚最終希望「看到什麼成果」,而後逐步回推「要做哪些事來朝目標前進」,而這也正符合近年來備受世界各國重視與採用的PBL學習法。

一理通、百理通,當孩子懂得運算思維,也能應用在生活與課業的其他方面

 

PBL學「正確的學習態度」,打開「終身成長」大門

 
傳統的教育體制,是從小一到高三都拿著全套的「課本」,要求孩子一課一課地學習各個知識「點」,接著再由淺到深、串起有脈絡的「線」性邏輯。理想是希望他們未來能夠融會貫通、打破各科知識界線,建立起「全面性」的知識架構。然而,理想跟現實之間總是存在難以忽視的巨大鴻溝,孩子們光是「記住」為數龐大的記憶點都有點困難了,更不用說貫穿點線面的跨領域「整合運用」。

偏偏,生活中出現的千奇百怪問題,可能需要同時使用上各種知識、技術、經驗才能應付,孩子對於該從哪一科、哪一課才能找到用得上的資訊,根本就毫無頭緒,萬一問題的困難度超出學過的範圍,很容易直接卡住,不知道該怎麼辦。此時,問題導向學習法(problem-based learning,簡稱為PBL)就出現明顯優勢。

PBL是「以解決需求為導向」的學習方式,先界定自己碰到了什麼問題,同時將大問題拆解成一個個小問題,現有知識能解決的部分先處理,碰到超過現有能力的難題時,再向外延伸,補足需要的技能。由於得要馬上將學到的東西拿來解決實際遭遇的困難,因此不需要死背硬記,能順利「運用知識」,就是真正「學會了」,在這樣的學習過程中,不只解決了問題,還擴大了對世界的認知。

擁有這種「問題發現problem finding、問題解決problem solving」的能力,等於擁有一把通向未知世界的「萬用鑰匙」,讓孩子在面對問題時,不管多錯綜複雜,都能從動手拆解開始,接著找到每個待解決的小問題、動腦分析、發揮想像力設想可能的解方、逐步驗證、修改錯誤假設、而後再次驗證,直到徹底征服這個關卡。

經由程式教育,建立起運算思維與解決問題的能力,也等於在無形之中,不斷內化108課綱反覆強調的素養,面對未來成長路上的各種挑戰,孩子將能擁有「一招打遍天下」的最強武器!

 

什麼是2C2P?

tutorJr的程式學習課程,以「2C2P」的概念(Communication & Collaboration 溝通與合作;Problem Finding & Problem Solving 問題發現與問題解決),配合PBL學習法,幫助孩子們在學習程式設計的過程中,建立起彈性思考、動手解決問題的終身能力,進而廣泛地應用在學業與生活上。
發現與解決問題,真正的核心精神是在於對事物的探索與觀察
分享這篇文章:
立即領取 免費1對1外師體驗課

姓名

Email

國碼

手機

閱讀並同意接受會員服務使用條款隱私暨個資保護聲明
追蹤TutorABC