「程式設計教育」對每個人都重要,愈早學愈好,而且女生或許更適合

Photo Credit: Donnie Ray Jones @ Flickr CC By 2.0
我們想讓你知道的是

全球都在大力投資程式設計教育,發展軟體應用產業,你是不是確實掌握了為什麼要投入的原因,以及投入時需要保持的正確心態?對所有人,特別是家長與老師,可以參考的幾個觀點。

唸給你聽
powerd by cyberon

上週參加女兒學校舉辦的「職業生涯探索日」活動,與數百名國高中學生分享我在高科技產業的多年經驗,特別強調軟體產業的發展,如何全面改變我們的生活,而且告訴他們,擁有程式設計的訓練,未來如何可以為自己的職業生涯,大大加分。

大家應該已經察覺,我們的生活裡,電腦軟體已經無所不在。過去只有工作或用電腦的時候才感覺到用軟體,現在從你的手機裡,上網購物、遊戲社交、音樂影視、書籍照片、到叫車叫外賣、訂餐廳訂旅館、甚至指揮其他的裝置,都是經由軟體及相關的服務在進行。未來,在人工智慧/機器人、大數據分析、無人車、VR/AR等技術的持續發展下,軟體改變人類的生活,只有更多。

從找工作的現實面來看,根據美國Business Insider雜誌2016年的統計,從市場的需求量,以及職位的薪資水平來合併考量,未來最熱門的前20個工作中,跟電腦軟體相關的就有四個(見圖),到了2024年,美國預計有100萬個電腦科學專業相關的職缺。常有預測許多現在的工作未來會消失,看起來,軟體工作的需求也只有更多,肯定不會消失。

Business_Insider_Software_job

在台灣我們也終於看到,政府跟隨著世界的潮流(其實已經落後),在107課綱中將「程式設計教育」,納入中小學的必修課程當中。台灣也有一些學術及民間的組織,已經積極配合這個趨勢,提供各種工具及形式,希望能幫助到程式教育的普及推廣。(參考我兩年多前的文章:連5歲小孩都會:英國將寫程式列為中小學必修,台灣卻連大學生都不想學

不少人擔心在台灣推廣程式教育,有關師資培養,課程設計、僵化的考試思維,以及基礎環境不足的諸多問題會是難題。不過我認為技術問題還好解決(文末推薦兩本書籍有描述國內外的經驗做法),關鍵還在於學習者(包括家長)在面對程式教育時的心態,是不是夠開放,能不能抓到重點。以下我分三個方面分享一些觀點,希望協助大家更成功地理解這個趨勢:

一、程式設計是綜合性的學習,不可用傳統的方式來教學、考試、及評量

多數專家已有共識,學習程式設計的最大重點,在於建構 「計算性思維」(Computational Thinking)的能力。寫程式的目的,即使在學習階段,幾乎都是以解決問題為導向,並且經常可以立即展現結果(比如說你寫一個簡單的小人跳舞程式,他的舞步就是你程式的結果)。因此,傳統的單向式教法、記憶式學法,都不能在這裡有所功效。

問題導向的學習,也是訓練學生理解問題、解構問題、尋求解決方案、以及不斷試驗改進的最好模式。在學習程式的過程中,學生一定會碰到很多問題(Bugs),也可以訓練他們如何有效去找資料、去跟網路上的專家/程式人員溝通、自主思考、或是經由團隊的密切合作來完成一個解決方案。

透過一個又一個的程式專案,學生累積了解決問題的經驗與能力,而且通常不僅是技術問題,而是各種生活或現實的問題。評量程式學習的成果,可以從軟體產出的展現(有無做出功能目的、UI設計是否友善、效能是否流暢、是否有延伸應用等等),到一些演算概念的檢核(可用開放式問題,避免抄襲),把評價軟體作品想像成評鑑美術作品,也有幾分類似。

二、不是每個人都能成為厲害的軟體開發人才,但是在跨領域應用發展上,絕對會加分

把程式設計當作數學或物理等基礎科目來訓練學習,雖然呈現方式有些不同(如前述),但是它能結合其他領域,應用的廣度,絕對不小於數學物理。

從簡單的軟體工具應用,例如在Excel中用Macro語言來計算財務模型,或是架設基本的網站/網頁,撰寫瀏覽和銷售服務(電子商務)的分析,到複雜的系統整合或專業領域應用,例如Maker潮流下3D列印的軟硬體設計,或是需要龐大運算的基因定序分析,幾乎所有領域,都因為能善用軟體開發,來達到前所未有的效果(與效率)。

隨著軟體及服務創新事業層出不窮,具備深厚的軟體開發經驗,在參與創業的機會上也大幅增加,甚至對於許多創業團隊來說,打造軟體方面的差異化,會是成功的關鍵因素。

我認為台灣在智慧生活以及軟硬整合兩個領域,具備培育及發展軟體人才的空間。前者與社會精緻化與創意化的演進密切相關,後者是台灣(電子)硬體產業累積實力的延續。並且,我相信多數的軟體創新會發生在新創公司,因此創業環境的再進步,高端軟體人才的多培育,以及跨產業/跨領域的創意整合,都是我們要努力的方向。

三、學寫程式越早越好,而且不是男生的專利,女生或許更適合

隨著程式開發工具的多樣化、視覺化、套裝化演進,各個年齡族群,各個開發目的的人們,可以選擇的軟體語言與學習路徑,已經相當的多。

我在大學及研究所修習電腦軟體的年代,還是以複雜的文字語法,接近機器運行的低階語言邏輯為主,確實需要比較多的專業學習,也讓許多人(特別是自認數理邏輯比較弱的人)感到卻步。然而,今天的軟體世界非常多元,有很大程度的程式開發是運用視覺化的介面環境,讓開發者迅速設計及展現程式結果。例如MIT媒體實驗室開發的Scratch語言已經風靡全球,連五歲兒童都能容易上手(Scratch Jr.)。

若是有些家長不喜歡孩子太早接觸電腦,還有所謂"Unplugged"的學習方式,利用非電子設備 (例如卡片、蠟筆、杯子等小工具)設計出來的遊戲或活動,來學習程式設計的部分技巧,適合親子共學,也相當有趣。

另外,女生從事軟體設計的工作趨勢越來越盛,為什麼呢?因為撰寫的程式十分需要細膩的思維,甚至有些藝術的天分,若是開發的軟體著重在終端用戶的體驗,在介面及流程設計上,女生的敏銳度及美感能力有時還佔有優勢。此外,軟體工作在空間和時間上比較自由,也不是靠體力來支撐,適合女性若是要兼顧家庭的彈性工作型態。因此我們應該鼓勵也會看到更多女性的工程師,在職場帶來貢獻,宅男工程師的形象,就不應再過度強調及固化了。

說句不是太誇張的話,我認為這一波科技與程式教育的成果,將會對於產業、社會、及國家的發展及競爭力有決定性的影響。當前各行各業都受到科技巨大的衝擊,組織裡各個階層的人員若有更多運算思維的訓練,以及對軟體科技趨勢的理解,將大大提升他們在面對變局,處理問題的能力,以及於競爭中勝出的機會。

有專家宣稱,未來世界可以分成兩種人,一種人會寫程式,能參與許多創新事業與領域的發展;另外不會寫程式的人,會在許多方面屈於劣勢,成為與社會進步不太相關、逐漸邊緣化的人。你想成為那一種人?

文末推薦讀者兩本新書,我這裡不少的想法,在書中都有更精闢的描述與精彩的案例,閱讀他們,相信可以幫助大家更認同此一趨勢,也激起大家更多推廣科技教育的熱情。

最後,我用美國總統歐巴馬(Barack Obama)在推廣程式教育時的一段話,與大家共勉:

學寫程式,不再是面對難懂的文字符號,而是培養邏輯、勇於嘗試、實現創意的過程,你準備好進入這個新世界了嗎?

參考閱讀:

(作者是瀚師科技創辦人,台大資訊工程系學士,史丹佛大學電腦碩士)

責任編輯:翁世航
核稿編輯:楊之瑜

或許你會想看
更多『評論』文章 更多『教育』文章 更多『孫憶明 (Jim)』文章

此篇文章含有成人內容,請確認您是否已滿 18 歲。

  • 我已滿 18 歲
  • 我未滿 18 歲
Loader