如何「正確地」看待程式教育? (下)

Frankie
CodingBar
Published in
4 min readJan 2, 2019

文/Frankie

大家都已經察覺,我們的生活中,電腦軟體已經無所不在。過去只有工作或是準備報告的時候才感覺到用軟體,現在從用你的手機,購物、遊戲、社交、娛樂、攝影、訂餐廳、訂旅館、叫外賣,都可以經由軟體及相關的服務來完成。未來,在人工智慧、大數據分析、無人車、VR / AR 等技術的持續發展下,軟體對人類生活的改變 只有更多,沒有極限……. (詳見上篇文章)

延續上文,有幾個關於「如何正確看待程式教育」的觀點,Bar主想和各位分享!

程式設計是「綜合性」的學習,不該用傳統的方式來教學、評量

很多專家都已有共識,認為學習程式設計的最大重點,在於建構 「計算思維」的能力(詳情請見之前的文章)。寫程式的目的,不分大小,即使在學習的階段,都是以解決問題的專案為導向,並且應該要可以立即展現結果 。因此,傳統的填鴨式教法、記憶式學法、理論滿篇或紙上談兵法,都不能在這裡發揮功效。

「解決問題導向」的學習,也是訓練學生理解問題、解構問題、尋求解決方案、以及不斷改進的最好模式。在學習程式的過程中,學生一定會碰到很多問題(包括程式的 bugs),老師應適時引導他們如何有效尋找資料、跟網路上的專家溝通及交流、自主思考解決方案、或是透過團隊合作來完成這個專題。

透過一個又一個的程式專案,學生累積了解決問題的經驗與能力,而且不僅是技術問題,甚至是生活上的問題。評量程式學習的成果變成了檢視軟體的效能,如:有無做出功能目的UI 設計是否友善效能是否流暢是否有延伸應用等等…。

評價程式作品的方式有點像美術比賽,包含了一定程度的客觀理性,但也有一點主管喜好,有幾分類似。

越早學程式越好,而且這不是男生的專利,也許女生更適合

隨著程式開發工具的多樣化、視覺化、模組化發展,各個年齡層、各種開發目的的人們,可以選擇的程式語言與學習方式,已經變得相當多元。

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

若是有些家長不喜歡孩子太早接觸電腦,擔心有礙身體健康,還有所謂「Unplugged」的學習方式,例如之前 Code.org 的介紹文章中提到的「不插電活動」,利用非電子設備(例如卡片、蠟筆、杯子等小工具)設計出來的遊戲或活動,來學習程式設計的觀念,適合親子共學,也相當有趣。

另外,女生從事軟體設計的工作趨勢越來越盛,為什麼呢?因為撰寫程式十分需要細膩的思維,甚至是藝術天分,若是開發的軟體著重在終端用戶體驗,在介面及流程設計上,女生的敏銳度及美感是有優勢的。

此外,軟體工作在空間和時間上比較自由,也不是靠體力來支撐。因此我們應該鼓勵看到更多女性工程師,在未來發光發熱,宅男工程師的形象,就不應再過度強調及刻板了。

結語

新一代的程式教育成果,將會對於產業、社會、及國家的發展及競爭力有決定性的影響。各行各業都受到科技巨大的衝擊,組織裡各個階層的人員若有更多計算思維的訓練,以及對軟體科技趨勢的理解,將大大提升他們在面對變局的應變能力、處理問題的態度,以及從競爭中勝出的機會。

最後,Bar主用前美國總統歐巴馬在推廣程式教育時的一段話,與大家共勉:

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

--

--