2020年12月23日 星期三

[雜記]從小開始學程式,好嗎?

以下是我高中同學前兩天丟訊息問我問題
覺得都花心力回答了,也把我的想法整理紀錄一下
紅色字體是他的對話,黑色是我的回答
(其實我都是下班11點才看到留言,所以並沒有和他直接聊天,而是Q&A的討論)

Q1:
我今天跟一些人爭辯了關於幼兒園階段學"程式"的問題。 可以訪問你嗎? 
像這個機器人,可以輸入一連串指令去讓它執行。 這個東西有跟程式教育的什麼觀念相關嗎? 還是只是一個玩具而已?



A1:

單看那個機器人影片,覺得很像就是操作搖控玩具,google 一下並沒有看到很深入的介紹。我猜想可能是藉有操作玩具的過程學習程式的思維,但整體來說有些喧賓奪主了。

這類兒童初學程式的工具,我覺得Scratch 還不錯
https://www.inside.com.tw/article/4038-everybody-learn-cs-1-scratch

網路上很多介紹,你可以研究看看。(我自己是知道有這個但沒有仔細去研究啦 XD)

Q2:另外,你們業內在說"程式寫的好的人"是指什麼意思
像寫Python、EXCEL VBA來解決工作遇到的問題,這些算嗎?
還是指同一個功能別人要寫1千行,他只要寫500行,讓電腦較快執行完?

 

A2:

覺得這題混雜兩個成分:程式寫得好是指什麼 以及  會寫程式的人是指什麼 

先說程式寫得好是指什麼,你提到的執行速度比較快確實是好程式的指標之一,但不只是如此。

執行過程中花費的資源(ex.記憶體空間的使用)
程式碼的可讀性以及可維護性 (別人可以輕鬆接手)
都是好程式的指標

你說的用python等語言解決自己的問題(工作or生活),是屬以「會寫程式的人」,他們不一定寫得程式品質很好,但至少能寫出增進工作效率或生活品質的程式,我就覺得這樣的人算是很會寫程式的人。

Q3、承上題,程式寫得好 跟離散數學有關嗎?
https://ithelp.ithome.com.tw/questions/10094477

A3:
   離散數學和程式差多有點多耶
   簡單來說,程式設計分成內功和外功兩種範疇

   離散數學算是內功的部分
   學完內功後,離可以擺出招式還是有點距離 XD

   但的確你內功越強,招式也會越厲害


Q4、程式寫得好,跟多早開始學程式語言有關嗎?

A4:  

   基本上以我讀資工系的經驗
   看到程式寫得好的(或學得好的)
   很多都是高中以前沒寫過程式的人

  
   就像作文終究是「把思考或情感文字化」一樣  
   程式終究是把解決問題的步驟條列與結構化
   重點還是在解決問題的步驟是否想清楚了
   (ex. 寫一個列出100以下所有的質數,那必需知道質數的定義以及怎麼判斷質數)

   所以我覺得早一點接觸程式的人不一定代表他可以寫出好程式
   但觀察小孩學程式或寫程式的過程中
   可以發現小孩子解決問題是否夠有邏輯性
   進而可以適當的修正或指導
   
   總之我並不會認為早學程式是無用的
   但要知道小孩子這麼早學程式的目的是什麼

   

source: https://pixabay.com/zh/photos/programming-coding-computer-4532296/


 

沒有留言:

張貼留言