10/25/2022

學習程式設計的心法與方法

心法

剛剛辦公室時間,三位大三的學生,說他們昨晚花了兩個小時,抓不到相對應的欄位;我就從頭到尾,教他們如何系統化地找到資源 (利用關鍵字,搜尋講義和上課程式碼)。

也鼓勵他們,利用分段學習法,每天三次、每次十分鐘,培養熟悉感,以避開初期高學習曲線的死亡幽谷 (1)然後持續三個月,並增加時間,以進入桃花源記的豁然開朗 (2)。

針對困難的問題和作業,用平常使用軟體的經驗,思考如何將作業,拆成好幾個步驟。先用口語或文字的表達、或流程圖,列出這一些步驟,再轉成程式的邏輯,例如 if、for、或邏輯判斷。

也可以讀一些相關書籍,例如暢銷書密碼、改變世界的九大演算法等等;透過書籍,可以了解資訊技術和文學創作、生活的關係,無形中增加相關的背景知識,也提供正規學習外的調劑,提升學習的樂趣另外一種學習的角度,知道資訊軟體的用途;重點不在於真正會寫程式,而是了解其功能,增進跨領域溝通與整合的能力

同學練習 Python 時,常見的錯誤
  1. 錯誤訊息在底部。 
  2. 不知道程式檔放在哪裡:程式檔先命名,然後使用搜尋找到所在的資料夾。
  3. 程式檔案和被呼叫的 (圖) 檔案沒有在同一個資料夾,所以找不到被呼叫的檔案。找到檔案所在地,利用第一個方法。
  4. 讀檔時,名字不對、有空白、大小寫不一樣、沒有引號 (Quotation Mark),所以找不到被呼叫的檔案
  5. 系統回覆看不懂你下的指令,原因是沒有先 import 需要的套件。
  6. 明明要畫 a 圖,結果出現 b 圖;或者 Python 看不懂變數;解決辦法之一,使用 Cell / Run All,重新執行該檔
  7. 沒有遵守正確的呼叫方式:例如 insurance.head(2)、insurance.age.mean()
    • insurance: Dataframe
    • age: Column name of insurance. It depends on your dataset.
    • head, mean: Python functions, comes with ()
    • 2: argument

使用別人套件
  1. 使用 ChatGPT 加註解 (comment)。
  2. 將複雜指令,拆解成多個步驟,逐一列印 (print),或使用 debugger 觀看執行結果 (運算思維與程式設計 6.1 追蹤和除錯,Anaconda Spyder)
  3. 使用英文關鍵字找資料,例如 keyword + Python (or Gurobi) + example。
  4. 了解基本觀念 (Python 程式設計)。
軟體
(1) 根據我長期的教書經驗,許多同學,無法處理初期的錯誤,就放棄了學習。
(2) 初極狹,才通人。復行數十步,豁然開朗。

沒有留言:

張貼留言