教育大未來 1:軟體打造科技大未來--程式設計是下一代最重要的生存技能 | 如何做好生意 - 2024年11月
教育大未來 1:軟體打造科技大未來--程式設計是下一代最重要的生存技能
科技是未來進步之鑰,程式設計是未來人力熱門需求!
你,還認為小孩學程式設計只是一種才藝學習嗎?
科技迅速改變我們的生活,程式設計不只是未來進步之鑰,更是未來人力熱門需求!軟體正在吃下全世界,科技未來世界就在眼前。但讓硬體運轉的是軟體,所以創客訓練和學習程式設計正蔚為風潮,也是科技社會重要趨勢。
孩子的未來不能等,擁抱程式學習,擁抱科技,你還在遲疑嗎?
作者徐宏義與羅曼如長年關心教育與科技發展,因而成立了EDUx基金會,提倡以數位科技和新的學習方式,希望能改變下一代的學習方式。
在本書第一部中,他們先以各種生活中的例子,如Drone(無人機)、Amazon、Facebook、Spotify、Airbnb、Twitter……說明軟體在各種領域,如零售、娛樂、音樂、電玩遊戲、電影、汽車、醫療、教育……等有何等威力,分析為何科技是我們的未來;接著,他們介紹了未來學家眼中的未來面貌,這是未來十年、二十年……五十之後就有可能發生的事;第三章則以各種已經可見的例子,如穿戴式科技、3D印表機、人工智慧律師、機器人助教……等,來說明未來世界其實就在眼前,連藝術領域也有活生生受科技影響的例子。
第二部的重點在目前頗為風行的Hour of Code(一小時學電腦程式設計),作者先說明Hour of Code的發展簡史、目前在全球的發展趨勢,還有EDUx基金會如何在台灣推廣Hour of Code,並提供了Hour of Code的各種學習資源,讓有心人可以嘗試與學習,而且學習程式設計從來不嫌早,四、五歲可以開始,也從不嫌晚,九十幾歲也都還來得及。Hour of Code不僅在英美是必修課程,在台灣也即將成為教育政策之重點。
那麼,一小時學電腦程式設計之後呢?作者接著說明為什麼小孩應該要學程式語言設計?他們列舉出十一大項理由,簡單歸納後就是:學習程式語言設計是一種思考訓練,可以學會程式設計的人獲得自由和快樂、提升他們的思考力、創造力、演算力、溝通力,還能訓練寫作和表達能力以及解決問題能力,以及軟體人才的前途無量。
但學程式設計只有一個小時怎麼夠呢?因此,作者接著說明目前最熱門的視覺程式語言是什麼、有哪些較常用的視覺程式語言(如Scratch、ScratchJr、Blocky、Kdou、Alice……),先讓為人父母者了解視覺程式語言以及小孩該從視覺程式語言開始學習的理由,同時也提醒父母師長應注意自己的盲點,千萬不要隨意進階,反而破壞了孩子學習程式設計的熱情,打壞了他們的學習胃口。最棒的是,作者在此介紹了一個Unplug(不使用電腦)的學習方式,讓家長和孩子可以愉快的學習到程式設計的精隨:演算(Algorithm)與程式(program)。
最後的單元則簡介了目前常用的各種程式語言,如:Python、JavaScript、PHP、Ruby、Java、C、C++、C#、SQL,還有網頁常會用到的HTML和CSS,說明它們的運用層面和差異,並從不同的需求分析如何選擇自己要從學習哪種程式語言開始?對父母引領小孩學習或是成人自主學習,都相當有益。
最後,作者提出一些值得省思的問題,希冀讀者能在閱畢後思考,從本書中獲得最大利益。
作者簡介
徐宏義
人工智慧專家,美國EDUx教育基金會及數位科技公司共同創辦人,長期致力研究未來科技、人工智慧、特殊資優教育、腦神經科學與行為認知心理學。
他認為落伍的、錯誤及反科學的教育方式,抹煞許多具資優潛質的小孩,不但埋沒了許多人才,更造成整體文明進程的遲滯甚至衰退。
他認為許多人類社會的問題,追遡其根源,問題都出在教育,因此他的心願是以改變教育來改變世界。
網站:dhsu.org
臉書:edux.tw/david
相關著作
《教育大未來2:未來最好的學校--新世代全才教育與創業訓練》
《教育大未來3:超強未來父母手冊--你不能不知道的11個教養觀念與作法》
羅曼如
三個Y及Z世代男孩的母親及生活教練,兒童教育心理專家、父母教育與親子關係專業顧問 。羅曼如並為EDUx Foundation合夥創辦人、iCode School 程式設計學校 (icodeschool.org) 課程總監,「EDUx未來學校」(EDUx School) 籌備處負責人。
她長期研究幼兒腦力發展及特殊資優教育。專長是教育、親子教養、教學方式、提升孩童的腦力及IQ,改變他們的學習行為與學習能力。她戮力推廣數位科技、互動式多媒體網上教學及新的學習方式,帶動新的教育潮流。
自2005年開始,在北美演說及主持研討會,傳授許多家長如何開發家中子女的潛能。她相信,所有的小孩都具天分及成功的條件,只要教育方式得當,都可以教出資優、快樂及有成就的小孩。
她亦在EDUx教育基金會擔任執行長,根據徐氏教育法(Hsu Method),推動以下訓練課程:(1)程式設計,(2)創業訓練,(3)腦力訓練,(4)科技與創業英文,(5)中英語溝通訓練。
網站:dhsu.org
臉書:edux.tw/joyce
徐宏義先生與羅曼如女士在美國矽谷創辦了「EDUx教育基金會」(EDUx Educational Foundation),將歐美國家,特別是美國矽谷最新的電腦程式設計教學、以及他們研究多年發展的特殊腦力訓練方式 (Brain Training)及創業訓練,加上美國風行全球的Hour of Code,Brain Day 等免費公益活動,帶給各地的兒童與青少年。
他們共同累積超過五十年以上的教育經驗,過去二十年來,他們經常受邀到美國的小學和中學去演講,分享他們的教學教養經驗,同時也對美國學校的教學方式和內容,提出建議。參訪過數百所學校,和上千位老師和家長交換過教育觀念與做法,接觸過許許多多的小孩,這些經歷促使他們開始將他們的教育理念系統化。
他們以數十年在教育上的研究與實際教學經驗,開創出一套最新的教學方式──徐氏教育法™ (Hsu Method™),依此擘畫了EDUx未來學校(EDUx School),致力於培養具有全球競爭力的領袖人才。
除了自己潛心研究與教學之外,他們花了近二十年訪談全球數百位教育專家、心理學家、藝術家、科學家、諾貝爾奬得主、腦神經科學家、科技界菁英及企業界成功人士,結果滋養並深化了他們的教育哲學,他們深知如何培養出在世界任何角落都能面對未來嚴峻挑戰的一流人才。
演講邀約,請洽 [email protected]。
EDUx網站:edux.tw
臉書:edux.tw/fb
相關著作
《教育大未來2:未來最好的學校--新世代全才教育與創業訓練》
《教育大未來3:超強未來父母手冊--你不能不知道的11個教養觀念與作法》
〈推薦〉
作者序 找回孩子的學習熱情 徐宏義
My Voice我的聲音
導論
第一部 科技是我們的未來
軟體正在吃下全世界,新科技正在快速把人類帶向一個新的時代,而這新時代的雛型已經在我們眼前……
Chapter 1: 軟體正在吃下全世界
Chapter 2: 未來的世界是科技的世界
Chapter 3: 未來的世界其實就在眼前
第二部 Hour of Code一小時電腦程式設計運動
Hour of Code是什麼?Hour of Code簡史、Hour of Code各種學習資源與EDUx在台灣推動Hour of Code之經驗分享。
Chapter 4: Code.org 推動Hour of Code,風行全球
Chapter 5: EDUx 在台灣推動Hour of Code
第三部 為什麼要學電腦程式設計?
政府領導人與科技界領袖等站在世界潮流先端的人都認為學習電腦程式設計很重要,而且電腦程式設計的學習早已風起雲湧,作者詳細說明了孩子應該立刻開始學習電腦程式設計的十一個理由。
Chapter 6: 你的小孩必須從今天開始學電腦程式的十一個理由
第四部 視覺程式設計語言
不管大人或小孩,如果沒有經驗,學程式為什麼最好由視覺程式入門?學習視覺程式設計的工具有哪些?
Chapter 7: 父母為何需要了解視覺程式設計語言?
Chapter 8: 視覺程式設計語言
第五部 進階程式設計語言
介紹銜接視覺程式設計後的程式語言,以及學了視覺程式設計之後,接下來學什麼程式語言,整個程式的學習地圖應該如何安排。
Chapter 9: 程式語言總覽
Chapter 10: 如何選擇學什麼程式語言?
問題省思
致謝
導論
這本書的內容很多,結構也有點複雜,因此在這裡請容我們做些簡單的導讀。
未來已經在我們的生活之中
本書的第一部分描述未來世界是什麼樣子。第一章講軟體正在吃下全世界。矽谷著名的投資人Marc Andreessen在二○一一年八月二十日在《華爾街日報》發表了一篇文章〈Why Software Is Eating the World〉(為什麼軟體正在吃下全世界),他由零售、娛樂、音樂、電玩遊戲、電影、攝影、電訊、汽車、石油、天然氣、財務、醫療、教育、國防等各個層面分析軟體的威力,舉了許多例子證明軟體已經在整個科技發展上佔有主導地位。
當然,強調軟體的發展,並不在於否定硬體的重要性。事實上,每一項硬體產品都需要許多軟體來控制,現在發展中的無人駕駛汽車,車上配備許多的電腦和感應器等各式各樣的硬體,這些硬體零組件要工作,全都要靠軟體從中奔走接續,把這些硬體串連起來,才能竟全功。所以未來的世界,當然是軟體當家的世界。
我們都知道,人類的社會不停的在往前走,這是個不變的趨勢。但是光知道這些是不夠的,甚至是危險的,因為我們常會因為知道世界大概的走向,而忽略了更重要的事情,那就是它往前的速度。
人類社會在不同時期進步的速度是不同的,我們會以過去的經驗來設想將來進展的快慢,但這是個危險的假設,因為如果假設錯誤,我們很有可能措手不及,連應變的時間都沒有。這不是危言聳聽,而是每天都在發生的事情。大家看到關廠的工人以及工作被機器取代的收費站雇員在抗議,覺得和自己無關,但真的是這樣嗎?
美國有一位作家Garrison Keillor,寫了一本小說叫《烏比岡湖日子》(Lake Wobegon Days),烏比岡湖是一個位在明尼蘇達州草原邊緣的小鎮,它是一個數十年都不變,被時間遺忘的小鎮。在這個小鎮裏,「所有的女人都很強壯,男人都長得好看,小孩都是中上之資。」這是他們對自己的評估。真象是,小鎮的人坐井觀天,生活在夢幻中,他們自以為是的都不是事實。後來有人就稱這種自我感覺良好,卻與事實不符的現象叫烏比岡湖效應(Lake Wobegon Effect)。
同樣的效應,心理學家則有一個比較學術的名稱,叫Dunning-Kruger E_ect,或Illusory Superiority(優越幻覺)。David Dunning 和Justin Kruger是康乃爾大學的心理學家,他們研究發現,能力低的人,常常會把自己的能力想像的比實際上高出許多,無法真正了解自己的程度在那裏。Dunning和Kruger對這種現象的解釋是某些能力不足的人缺乏自我評估的能力,以至於產生內在的幻覺(internal illusion),錯估自己所在的位置。
如果我們認為自己並非藍領階級,被遣散或工作被取代與己無關,就是犯了Dunning-Kruger效應的錯覺,以為可以自外於科技的進步或社會根本的變革。在新科技的巨輪下,現行的教育制度和學習方式早已過期。有人說,學校畢業後發現所學的東西已經過時。實際上,這樣的說法也是錯的。如果真要說的話,說上半年或去年學的東西已經過時還更接近事實。問題在於,許多學校教的東西,老早已經是過去式,將來要用的知識、應該具有的能力,卻是學校完全沒有教的,這才是令人擔憂的事情。
關廠工人可以責怪政府沒有未雨綢繆,缺乏應變方案,但沒有辦法改變受傷害的是自己的事實。同樣的,父母寄望政府趕上時代,改革教育,卻忽略了政府即使做得不錯,也只能趕上它所看到的時代,改革它所知道的教育,這是最好的狀況。但即使是最好的狀況,仍然不足以應付新科技帶來的大變動,這是危言,但卻是事實。
探索了軟體的威力之後,我們在第二章開始介紹在未來學家眼中,將來的十年、二十年、三十年、四十年、五十年,人類的世界──不只是在地球上──會是一個什麼樣的面貌。甚至人類自身在人工智慧、機器人,以及尖端生物科技的快速發展下,會變成什麼樣子。這裏面的分析,或許會令某些讀者覺得不可置信或完全不同意,但我們的目的是詳實的描述最有可能的未來,就像哈佛教授,也是未來學者George Church說的,「不管喜不喜歡,你自己要去習慣未來。」
第三章說明未來其實已經在我們伸手可及的範圍內,許多我們以為還在未來的事,其實都已經在我們的生活裏。就如同William Gibson講的名言,「未來已經到了,只是沒有平均分布罷了」。還沒到我們這裏來的東西,並不表示在地球上不存在。
如果它存在,我們就應該及早認識,及早應變。如果以為晚過幾年沒什麼差別,那就是忘記了世界的競爭是相對的,也就是說別人前進,我們雖然不動,其實和別人相較,我們是在往後退,這是很淺顯的道理。坐過火車,頭往窗外看過的人都知道,火車往前開動時,車站是在往後退的,火車加速愈快,車站後退的速度就更快。
本書第一部分的總結是,軟體正在吃下全世界,新科技正在快速把人類帶向一個新時代,而這新時代的雛型已經在我們眼前。
如果你是年輕人,或許還在學校求學,或許已經步入社會,對於這樣的新世界,你該怎麼準備自己?
如果你是父母,你的孩子在未來十年、二十年內也要步上舞台的中央,你希望他能平安、快樂,這是一定的,但是你也同時希望你的下一代活得有意義、有貢獻。
如果是這樣,你不能繼續睡在烏比岡湖畔,徜徉於只存在幻境的桃花源裏。請往下繼續讀,裏面提供了我們的答案。
一小時學電腦程式的效果
在美國的大賣場(如Costco)或超市(如Whole Foods)常有許多給顧客試吃的小攤位擺在賣場各處,我不吃這些試吃品,但常看人像逛夜市一樣,吃了一攤再換一攤,逛完之後,肯定吃飽了。我曾經問過大賣場的經理,這種試吃的效果如何,我指的是對銷售產品是否有效,他說效果非常好,我想這個就是人性。就像在台灣有些水果攤的老板會放些水果的切片,讓顧客嘗鮮,我看吃的人大多會買,買了水果之後,回家打開之後甜不甜,那就看老板的良心了。
我在本書的第二部分(第四章)談到現在全球最熱門的Hour of Code(一小時學電腦程式)之緣起和全球各國爭先參與的過程。Hour of Code是矽谷一對伊朗移民後裔兄弟Hadi和Ali Partovi想出來的,它吸引全世界的人──特別是小孩子和弱勢的族群──一起來體驗電腦程式設計。
如果把這對兄弟比喻成賣東西的商人,他們想賣的東西並不是「一小時學電腦程式」,雖然那是他端出來的東西,但那只是試吃品,他們真正要賣的,也就是他們的最終目標,是要推動下一代長期來學電腦程式設計。
他的作法看起來沒什麼特別,卻是非常聰明的手法,因為電腦程式給人的印象就是專業、困難、無趣,簡單的說,就是很難。但真的是這樣嗎?其實不盡然,視覺程式設計工具的發明(如MIT發明的Scratch),讓寫程式變得很容易,連四、五歲的小朋友都可以做,每個人都可以學得很開心,很有成就感。
程式設計是軟體開發的根本,而軟體是未來科技社會最重要的核心。沒有軟體,所有的硬體全部都要停擺,人類文明的基礎建設(Infrastructure)整個就會摧枯拉朽的癱瘓掉。所以程式設計是很重要的。它同時也是地球上每個國家未來競爭力的指標,哪個國家的軟體開發能力強,它就能在未來世界裏吃香喝辣,否則就是吃癟,這是再清楚不過的事了。
所以各國在以前是競相做軍備武器競賽,而現代的競賽已經改成軟體的競賽。美國了解這一點,所以當Partovi兄弟成立非營利組織Code.org開始推動程式人才的培養時,美國各大企業搶著參與,政府也不落人後,歐巴馬親自帶頭參加,寫下美國歷來總統的第一行程式,同時也積極的參與錄影和演講,告訴美國的下一代,國家要維持領先,要有更多的人投入程式設計的行業。
問題是,怎麼做?答案是,先來試一個小時再說。多數的小朋友試了一個小時之後都會說,我喜歡,我要學程式設計。Hour of Code聰明之處就在這裏,如果一開始就推動全民學程式,那麼阻力會很大,參加的意願也會很低,除了大家還不了解程式設計是什麼之外,主要是程式設計難學的形象和不知學了能做什麼的疑慮。
在這一章裏,我也談到Hour of Code的資源在哪裏。Code.org和參與夥伴們的作法是把所有的資源放在網上,讓所有有興趣讓小孩參加Hour of Code活動的單位,不管是學校也好,社區也好,教堂也好,甚至自學家庭或任何小團體都好,都能自己上他們的官網,在眾多的選項裏選擇合適的工具,由老師、家長、志工大哥哥、大姐姐帶著小朋友來學習,這是多麼棒的一件事!所以我把他們提到的資源,大致列舉了一些,供不同團體自由選擇。
接著,一個常被問到的問題是,「一小時學電腦程式之後呢?」當然,這也是Code.org等著大家來問的問題。他們在官網上也放上了更多的學習資源,這些都是比較長期的學習資源,因此我在提到「Beyond Hour of Code」(一小時學電腦程式之後)也羅列了一些。除此之外,我還提到Code.org並未提到的一些其他的學習資源。
接下來,在第五章,我提到EDUx如何在二○一三年年底,幾乎和Code.org同時,在台灣開始推動Hour of Code的公益活動,我們用個人的資金與力量,去任何要我們去的地方,推動小朋友學程式的活動,我們在臉書、部落格裡宣傳學程式的好處,我們連絡政府的單位和私人機構,只要他們願意聽,我們就去。
除了台北之外,我們跑到台東、屏東、高雄、台南、台中、桃園,我們不在意花多少錢,有多辛苦,只想做一件事,那就是推動我們心中的夢:把台灣變成軟體科技之島,成為世界的軟體中心。在我看來,那是解決台灣的經濟、社會、政治,以及最令我痛心的各種汙染的根本之計。這個夢當然不可能由我們單獨來完成,但只要這個夢想可以得到許多人的認同,並且大家攜手朝這個目標邁進,那台灣是有希望的。
我也在本章裏提到我們推動Hour of Code的十一點心得,其中包括給小孩學程式的建議,以及給政府在培養台灣軟體人才的建言,我也簡單說明了新加坡的作法,和新加坡能給台灣什麼啟示。
我提到新加坡這個國家並不是隨口說說,台灣常有人拿新加坡土地不大來調侃,這是一種夜郎自大的心態。新加坡的努力和成績有目共睹,總理李顯龍剛訪美回來,如果你有在注意,歐巴馬總統用最正式的國宴款待,從到場參加的美國各界重量級人士,你就知道美國非常重視新加坡這個盟友。
新加坡的經驗絕對有許多值得台灣借鏡之處,如果我們只自滿於小確幸,全民運動只是討論吃東西,然後經濟直直落,教育還是古時候那一套,那我不知道我們以後要吃什麼。
小孩學程式設計的理由
本書第三部分談到,為什麼小孩需要學電腦程式設計。關於這個議題,我們在二○一三年底在把美國的Hour of Code(一小時學電腦程式)免費公益活動帶到台灣來。那時候,家長會問:小孩需要學電腦程式嗎?會不會太小?學了有什麼用?
幾年後的今天,許多報導提到有若干國家已經把小學生學程式規畫到正式的學校科目裏,雖然晚了好幾年,台灣也終於依樣把程式設計放到新的課綱裏,大家好像準備好了,蓄勢待發,小學生要來學程式了。
問題是,為什麼要學程式設計?教育人士說,學程式是學邏輯思考。再問下去就沒有了。老師如此,教育者如此,其他人更遑論懂得了。小孩子為什麼要學程式設計的理由其實比表面上看到的要深得多。
我們在這一部分裏詳細解釋了為什麼要學程式設計的道理,我們提出了十一點理由,但是魔鬼真的藏在細節裏,幾條或每一條理由是什麼不重要,重要的是我們在解釋那個理由的細節,了解體會這些內容,對於我們為什麼要做這件事,怎麼做都很必要。因為知道「為何而戰」提升我們的動機,讓我們碰到困難能堅持下去。
在不懂的人沾點醬油、品味一下就以為學到了,就沾沾自喜的離開的時候,堅持下去的人才會看到自己領先的差距。
如果你是大學生或已畢業的人,請你仔細看這一部分,因為它和你息息相關,不管你的專業是什麼,程式設計是未來人的基本訓練,從事任何行業都會用到。說得更精確一點,程式設計所學到的對於你從事任何一件事都會有很大的助益,理由請看書的這一部分。
在美國,已經有許多人參加三個月到一年的程式設計密集訓練後,轉業成功,找到電腦程式設計的工作。對於不喜歡、不看好自己目前行業的人,程式設計絕不是天書,考慮轉行學程式設計,加入軟體開發的行列,絕對是一件可行的事。
我們開辦的「科技媽媽俱樂部」(Tech Mom Club)及「科技女孩俱樂部」(Tech GirlClub)鼓勵媽媽及女孩學程式設計。理由很簡單,程式設計是一件特別適合女孩做的事。
第一,程式設計不是純科學,它和設計連在一起,很需要美感。而許多女孩子的長處就是設計和美感的結合。
第二,程式設計是軟體,不是體力活,女性天生適合這項工作。
第三,軟體行業或新科技行業缺乏女性,因而需才孔急,女性在這一行裏會有先天的、或者更正確的說,有競爭的優勢。女孩子沒有理由不擁抱程式設計。
第四,媽媽們常要負擔在家照顧小孩的工作,隨時可以在雲端工作的程式設計是天上掉下來的禮物,媽媽學會程式設計後可以在家開創副業,這是一舉數得的事。
如果你覺得可能,沒有任何人可以告訴你,你做不到。
我們還需要說更多嗎?
科技的進步代表人類的壽命會迅速拉長,就如同你無法想像以前人類活到三、四十歲就結束了,你也無法想像科技是否可以將人類的平均壽命延長到一百歲、一百二十歲、一百五十歲,或超過二百歲。
不管怎麼說,你可以這樣看,如果你現在是四十來歲,你應該把自己看成是二十來歲;如果你是六十來歲,可以看成是三、四十歲。如果你同意這個說法,那你就會同意,你還有許多年可以活。
因此,幫你自己一個忙,不管幾歲,開始學寫電腦程式。
那麼學程式設計可以做什麼呢?
如果你是小朋友,在學寫程式的時候,老師一定有和你討論過,你學寫程式,想要用來做什麼呢?如果你沒有特別的想法,老師也會和你討論,了解你的興趣,知道什麼事會讓你興奮,接著就引導你去訂下一個目標,這樣會讓你學程式設計更有目的,更來勁。我們有國小高年級或國中的小孩,一進門就說他想要學程式來做一個遊戲給同學玩,觀察他的學習,你會發現他有比別人強的自我動機,這是很好的。
如果你是成年人,那你可能在學程式之前,老早已經想到為什麼你要來學,我碰過有人說,她想製作自己的網頁,把她的先生和小孩的照片放在網上,她覺得Facebook和Instagram好像比較零散,缺乏組織,她希望能做一個永久性的家庭網站,我們當然鼓勵她去達成目標。
有更多年輕人學程式設計的目的是想要拿它來找工作或創業,這是再棒不過的事了。程式設計真正的威力就在創業裏彰顯出來,程式設計就像是一部超級跑車,它有無窮的威力,如果沒有寬敞的賽車跑道讓它馳騁,那再好的超跑放在那裏,也只是一堆好看的廢鐵而已。但是如果開放一條空曠的跑道給它,它就能釋放出令人驚豔的能量。
創業就是學習程式設計之後的一條永無止境的跑道,在這條跑道上的名人堂有比爾蓋茲、賈伯斯這些人,你能不能登上創業的名人堂不重要,重要的是,像一位創業家說的:「我可以接受失敗。每個人都在某個地方跌過跤,但是我沒有辦法接受不去嘗試。」
說這句話的創業家叫喬丹(Michael Jordan),他碰巧也是過去打籃球的人,現在他是NBA球隊Charlotte Hornets(就是林書豪所屬的那一隊)的老闆。幾天前,我還在電視上看到他球隊輸了球,臉上沮喪的表情。但是對我來講,他在打球時是那麼的賣力和專注,退休了之後,還是那麼的拚命,他這輩子活得非常精采。如果像他已經有過大成就還這麼拚,年輕的你有什麼理由不去闖闖,活出你生命的光與熱來?
了解視覺程式語言
本書的第四部分談視覺程式設計(Visual Programming)。所謂視覺程式設計,就是說學程式的人是透過原創者設計的一個視覺介面來寫程式,學習者經由操作視覺介面提供的工具或元素進行創作,小朋友或任何初學者,經由這樣的介面來學習,避免掉枯燥繁重的一行一行的打出程式語言,但還是可以學到程式設計的精髓和體會程式運作的原理,是一件非常棒的發明。
第四部分的第七章說明為什麼父母或一般人需要了解視覺程式設計和其他的程式設計語言的細節。
我在學校學數學、科學時,常會懷疑為什麼要學那些東西,到底那些知識和我們生活有什麼關係,學了能做什麼用,不學又會影響什麼?在學校時,沒有人給我解答。我帶著這個疑問由中學、大學、研究所,一直到就業,自己有了小孩之後,才慢慢想通,給自己一個比較好的解答,也給孩子一個他們可以理解的答案。
在思考「為什麼」的過程,也是一個發現的旅途,你愈是去想,就愈會發現學的東西都會有用。數學、物理、化學、生物等,學得愈多,就愈通暢無障礙,那種感覺好像到處都亮綠燈,往哪個方向走都行得通。學得不夠、學得不好,就覺得到處都是路障,前後左右都行不通,那是很令人沮喪的事。
比如說,在學物理時,要用到某一部分的數學觀念或技巧,如果數學沒學好,那一部分的物理就通不了。學化學時,有時也要用到物理,如果物理沒弄懂,那一部分的化學就卡在那裏。中學學生物時,以為生物就是背許多的事實(facts),真的,那就是我對生物所有的印象。
上了大學之後,我就再也沒碰過生物,一直到有了小孩,小孩升到大學、研究所,一直在做和生物有關的學問,自己才重新拿起生物來瞧瞧,這個時候才發現生物真是一門很有趣,和我們息息相關的一門學問。
那時我就在想,如果在學校的時候,可以有老師或任何人,能夠幫學生把整個比如說中學的生物(或數理化)整體講過一遍,不是教細節,而是一個介紹性的總覽(Overview),告訴我們在未來的六年內──三年國中、三年高中,其實應該併在一起談,因為學問其實沒在管你國中或高中──你要學的是什麼,學的東西之間有什麼關聯,為什麼要學這些,學了之後可能有些什麼用處等等,那會非常非常有用。
有什麼用?我現在知道,有大用。學生經過這種預告式的介紹(Preview)之後,他會知道現在學什麼,接下來學什麼,之間的關聯是什麼,學習會變得有方向、有目的。舉個例子,不久前Pokémon Go正式入侵台灣,我知道會引起轟動。第一天的早上特地跑出去看看,果然一路上看到許多年輕人拿著手機,到處鑽來鑽去,在找他的怪獸。
下班後,我們例行性到大安公園散步,不得了了,到處都是找尋寶物的尋夢者。有小孩,有年輕人,有中年婦女和男士,整個公園的氣氛和平日完全不一樣。曼如說,這個情景讓她想到小時候過元宵節,每個人提著燈籠的熱鬧情景。
她提到燈籠,也勾起了我小時候的回憶。小時候,大年十五,鄰居的小孩子會不約而同的提著自己的燈籠在定點會合,附近有個廢棄的防空洞,我們都會進去探險。有些比較大的小孩都會裝神弄鬼,鬼吼鬼叫的,嚇得我們全身起哆嗦,也跟著鬼叫起來,鬼叫聲此起彼伏,尤其第一次進那個防空洞,它很深,你根本不知道會走到那裏去,有沒有出口,會不會碰到什麼怪東西。這是第一次的初體驗,嚇都嚇死了。
等到第二年之後,變成識途老馬,我知道裏面有什麼、沒有什麼,會走到哪裏去,漆黑的防空洞再也嚇不倒我了。我的意思是,一個鳥瞰式的整體介紹,可以排除學習者的恐懼,知道會碰到什麼,整個看起來是什麼樣子,學生就不會有恐懼,而且反而會引發他們的興趣,就好像期待約會一樣去迎接新的課程,這和完全不知道會碰到什麼,等著被驚嚇(shock)的經驗是完全不同的。
再說一個我個人的故事。我在高中時,對數學就很有興趣,但是不知道為什麼就是學不好,我當時的感覺是我太笨,沒有足夠的智力去了解那些內容,所以相當沮喪。於是我跑到台大數學系分別去找了楊維哲和黃武雄兩位教授,向他們請教高中數學要怎麼學,沒想到他們都答應和我談一下。
那是很多年以前的事,我已經忘了談話的內容細節,但是有一件事我記得非常清楚,兩位老師不約而同的談到一個技巧,就是在學期一開始拿到書時,先把整本書瀏覽一遍,不是細讀,而是一頁一頁翻看,大致上了解在說些什麼,可能用一兩天的時間,把整本書翻過一遍,就可以有一個整體的概念。
我忘了我當時實際上聽懂了多少,後來我也沒有再去找他們,他們當然也不會記得曾經指點過這樣一個高中生,但我對他們兩位一直感銘在心。我知道,其實這樣的風範一直影響著我。
現在我們從事EDUx基金會的工作,花很多力氣和許多自己的資源,想要改變整個教育的錯誤方向、觀念和作法,注入新科技的教育,雖然力量很微薄,但之所以還是像唐吉軻德一樣,明知不可為而為之,胸中的一股幫助別人的熱情未曾消滅,也是受到像兩位數學教授以及一路上幫助我小孩成長的許多人士,這所有的人給我們的啟示。
再回到剛才的題目,我要說的是,再漆黑恐怖、不可知的防空洞,如果你去過,第二次就不會那麼驚恐。同樣的,學一樣學問,如果有預覽、鳥瞰式的整體先介紹一遍,對未來的學習方向,會非常有助益。
我在本書的第七章就以學數學、物理、化學有什麼用當例子,來介紹為什麼需要知道學程式設計有什麼用,在學些什麼內容,以及學習順序應該為何。
我先由第八章的視覺程式設計開始介紹,說明為什麼學程式,不管大人或小孩,如果沒有經驗,最好由視覺程式入門;接著我提到學習視覺程式設計的工具是什麼。最有名的,是麻省理工學院開創的Scratch語言,但這絕對不是唯一的。我還介紹其他很多不同公司開發的不同視覺程式設計工具。
接著談Unplug(不插電),意思是說,不用電腦來學習程式設計。這不但可能,而且是一個很好的方式,Unplug讓學齡前、不識字、不會打字、不會使用電腦的小孩子,也可以有機會接觸程式設計,當小小孩經由Unplug知道什麼是演算法(Algorithm),什麼是程式(Program),他以後接觸視覺程式,就可以有更好的準備,學起來就會更順利。我還寫了一個Unplug的完整作法,家長有機會可以和孩子先玩一玩。
入門之後的銜接
接下來,第五部分的第九章我介紹了銜接視覺程式設計後的「正式」程式語言。我把「正式」兩字加上引號,是因為我認為視覺程式語言並非不正式的語言,只是一般人這麼說,在無傷整體了解之下,為了便利說明,暫時從俗。
我先介紹所謂的動態語言(Dynamic Languages),這包含了Python、JavaScript、PHP、Ruby;然後介紹非動態語言(Static languages),這包括有Java、C、C++、C#、SQL、Objective C/Swift。然後我介紹了HTML和CSS,這兩者雖然不能稱作是程式語言,但是它們是做網頁重要的工具,也是不能不學,不能不會的工具,所以在這裏說明,接著介紹要做iOS的應用程式(Apps),需要用到那些語言和工具。最後,介紹要做Android的應用程式,有哪些不同的方式可以選擇。
特別要說明的是,不管是製作網頁的HTML及CSS,或是製作iOS或Android的應用程式,有一點非常重要的是,這些都不是單純寫程式就可以解決的事,都牽涉到設計和美感素養,因此我也簡單談了一下設計訓練的重要性,這也就是為什麼在EDUx的系統裏,核心科目還包括設計思考及設計訓練的原因。
第十章,也是本書的最後一章,我談到學了視覺程式設計之後,接下來學什麼程式語言,整個程式的學習地圖應該如何安排。這分成兩部分,先談小孩子接下來學什麼語言,另一部分談高中或大學以上的成人,在選擇程式語言時,可以有哪些考量的取捨點。
小孩學程式語言的順序思考點比較單純,成人因為牽涉到職業及生涯,考慮起來就複雜許多,因此我提出了五點不同的思考方向,原因是一個人的精力和時間有限,不可能也不必要學習所有的程式語言,必須要有專攻的項目,所以需要有不同的考慮重點。
我建議可以由以下五個方向來考慮:第一,由想要做的事決定學什麼程式語言。第二,由程式設計專業來決定學什麼程式語言。第三,以未來薪資報酬的角度來思考未來要走的方向。第四,由程式語言的使用率(Popularity,也可以說是受歡迎的程度)來決定。第五,由程式語言受歡迎度的趨勢走向是往上或往下來決定。
這雖然只是考量點,但我提供的資訊會非常有用。一旦決定由什麼語言入手之後,就必須全力以赴,就像學音樂不一定要當音樂家,而是認同音樂的素養可以豐富我們的人生。學程式設計語言,不只是豐富人生,不管你未來從事什麼行業,程式的技能可以幫助你把工作提昇到另一個更高的層次。退一萬步說,程式的訓練是未來科技世界的公民每個人都必須要有的素養。
現在,繫好安全帶,準備進入你的科技與程式教育驚奇之旅吧。