[程式教育] 為什麼要學習程式語言?
程式教育的重要性
自從108課綱將資訊科技納入必修課程之後,程式語言相關的教育組織或團體也開始如雨後春筍的發展。在部分歐美國家,程式語言屬於國民教育的一部分,早已行之有年。但在台灣的教育體系及環境下,要讓「程式語言」這門知識,達到所謂的普及通識,還是有一大段進步的空間。
學習程式語言,不是為了將來成為程式設計師(軟體工程師)。就如同,學習作文的目的,不是為了將來成為作家。在身邊事物都充斥著資訊科技的現在,舉凡看到的、聽到的、用到的,幾乎都是透過程式指令所產生的應用。
學習程式語言,至少可以培養以下三種能力。這篇文章我們分別就這三個能力來加以說明,程式語言教育的重要性。
能力一、邏輯思考力
程式,是透過一連串的指令,讓電腦產生相對應的動作,以達成某種特定的功能。為了讓電腦能順利的運作,這一串所謂的指令,就是由程式語言所撰寫而成的。在學習的過程中,學習者必須有系統性地思考,針對需解決的各種不同情境,而培養出邏輯性的思維。
能力二、創造發想力
程式設計,雖然是屬於電腦科學的一環,但也有人說,程式設計是一門藝術。要讓電腦透過指令去執行特定的功能,在設計上部會只有一種方法可行。簡單來個比喻,透過導航到某一個目的地,途經的路線不會只有一條可以到達,可以依照路徑、時間等不同影響因子,而產生多種組合的可選擇路線。不像是非題、選擇題有唯一正確解,程式設計就如同問答題、申論題,沒有標準答案,因此可以培養學習者的創造力。
能力三、問題解決力
有一句話這麼說,「科技始終來自於人性」。科技的發展,旨在解決現實生活中不方便的地方,透過技術節省人力與時間。程式語言主要用來開發應用程式,也就是為了解決用戶的某一個痛點。從發現問題開始,搭配上述的兩種能力,尋找出解決方案,再經由程式語言將其加以實現。
108課綱所強調的「素養」教育
這三種能力,都是所謂的「軟能力」(Soft Skill)。學習程式語言,表面上是為了獲得一種技能 —「撰寫程式」的技能,這是一種硬能力(Hard Skill)。硬能力可以透過大量練習來精進,換個角度來看,可取代性也比較高。
而軟實力,就如同108課綱所強調的「素養」教育,是透過學習某一科目,將其與生活結合並加以應用,其學習到的不只是科目專業能力,而是背後所培養的「多元」能力,方能適應未來多變且難以預測的工作型態。
學習的目的重在「過程」
回到開頭問句:「為什麼要學習程式語言?」。試問:「為何要學英文?英文有什麼重要性?」是單純為了「考試」而學?還是為了「溝通」而學?目的不同,動機不同,學習的心態與效果自然也不盡相同。
如果學習只是為了「考高分」,那只是在訓練考試機器而已。如何「學以致用」?學習可以為自己帶來什麼樣的幫助?這些是學習前可以好好思考的問題。
學習「程式語言」,能培養的多元能力,絕對是足以應付各種不同領域的共通能力。從這一篇文章中,相信你已經可以理解「為什麼」(Why?)要學習程式語言,下一篇文章,我們將說明「什麼」(What?)是程式語言。