兒童程式設計到底是在教什麼?

這是「帥爸兒童程式教育園地」的第2篇文章,by帥爸P小編





兒童程式設計教的是一種「運算思維」能力
先來解釋一下,何謂「運算思維」,這是一種解決問題的方式

這聽起來似乎有點玄,但這可不是帥爸小編逕自開心所下的定義,而是知名的華裔電腦科學家周以真博士(Jeannette M. Wing)在2006年發表的《運算思維》(Computational thinking)研究中,所定義的概念。

她認為運算思維是一種思考方式(再聽一次,還是有點玄),是用電腦科學所能有效執行的方式來對問題進行表述並提出解決方案。

是該說點你我比較聽得懂的話了,簡單來說,就是「用電腦的思考方式來解決問題」!

「運算思維」能力能幹嘛?
你和我和他,你們、我們、他們…… 每天總有處理不完的事,很多時候事情還像剪不斷,理還亂的線球般,糾結成一塊,到底該從哪件事開始理,甚至很多人都無從解起。

舉個例來說,全職媽媽得在晚上七點前煮好一頓晚餐、陪大寶寫功課、幫二寶洗澡、打包好家裡的垃圾、把下午晾曬好的衣物摺疊好……等等這些事情都得處理的情況下,你要如何利用處理現有資源分配時間呢?

把七點以前需完成的待辦事項看成是一套作業系統,電腦便會在系統之下,調配有限資源,完成所有任務。若完成不了,就crash掉了……

為了不要悽悽慘悽悽,就得掌握運算思維的能力。運算思維有幾個重要過程組合而成,分別是:拆解、規律、歸納、演算法




1. 拆解:將一個問題拆解成數個步驟。

2. 規律:預測問題的規律,並找出模式進行測試。

3. 歸納:找出模式中的重要原則及關鍵因素。

4. 演算法:設計出解決類似問題的指令流程。

這套能力就是電腦思考方式的關鍵!即便是一個龐大又錯綜複雜的問題,也必須先切成小步驟來看待,之後找出規律、進行歸納,最後設計出演算法,以待下回相同任務時,可以啟用。

兒童程式設計教的是一種「創造力」
程式設計是發揮創造力的最佳利器,千萬別以為程式設計師是不懂得應變的,頂多就是不擅交際而已(喂~~)。這裡想說的其實是,即使面對的是相同的專案,也不可能有兩個人寫出一模一樣的程式碼,程式設計的領域有千萬種解法,端看設計師的功力(經驗累積)以及發想(創造力)堆疊而成。

兒童程式設計教的是一種「邏輯思維力」
數學不好,是不是程式設計也學不好?

這大概也是很多父母的窠臼,總覺得那些看似漫天飛舞的程式碼,一定需要深厚的數學底子作為後盾,才能將程式碼梳理的爐火純青。

其實帥爸認識很多程式設計師數學都不好!這麼一講,應該可以讓很多爸媽安心地拋開數理偏見了。

程式設計其實更看重「邏輯思維」的能力,從發現問題、觀察問題到解決問題的過程,無疑不需要清晰的邏輯來加持,你總不希望好不容易寫出來的程式碼,執行時出現斷點,整天都在debug吧!



想了解更多「兒童程式設計」、「兒童程式教育」、「手機成癮」、「網路成癮」、「運算思維」議題,請關注帥爸的部落格,帥爸有很多觀點想與你分享。