“為(wei) 什麽(me) 要學編程?”這個(ge) 問題,其實很多小學生、初中生的家長在問。
隨著在線教育的浪潮,編程學習(xi) 低齡化成為(wei) 趨勢。現在很多小學生都從(cong) Scratch(圖形化編程)或者 Python 開始學習(xi) 。但是在高中段、大學段的學生,編程學習(xi) 普及率反而沒有那麽(me) 高。
希望孩子具備解決(jue) 問題的能力是機構倡導的博雅教育核心之一。而Python 學習(xi) 就是「解決(jue) 問題」的過程,
我們(men) 的學生在 VIP Research 科研項目中和教授學習(xi) 物理方向的課題。但是需要涉及一些 Python 代碼來跑數據。因為(wei) 沒有基礎,所以在一開始的時候,遇到了許多問題。
在了解各方情況後,要求學生運行軟件進行複現。但是因為(wei) 這段 Python 嵌入了其他數據庫,所以我們(men) 的老師在自己的電腦編譯器上(PyCharm)跑一下,老師也遇到了問題。
因為(wei) 是物理類的程序,所以需要做幾件事:
1.具備基礎常識。知道一定需要下載庫,所以和教授、TA 確認了庫的名稱 Matplot,並拿到要跑的代碼;
2 在百科中,快速學習(xi) 了 Matplot,對此有概念;
3 安裝並嚐試跑代碼,遇到問題,根據報錯提示,一步一步 debug。
發現問題,一起解決(jue) 。比「結果」更重要的是「能定位問題 + 解決(jue) 掉問題」。
眾(zhong) 所周知,寫(xie) 代碼的第一難關(guan) 就是裝環境。這次學生需要使用的Pyplot 是 Matplotlib 的子庫,提供了和 MATLAB 類似的繪圖 API。是常用的繪圖模塊,能很方便讓用戶繪製 2D 圖表。
1、IT 常識
我們(men) 需要讓學生在 ta 的環境中,安裝 Matplotlib。把庫下載到電腦中,並在程序中使用。
希望孩子們(men) 具備基礎知識與(yu) 常識的。無論未來的專(zhuan) 業(ye) 是不是和 CS 有關(guan) 的,我都希望大家寫(xie) 過 Python,起碼知道導入導出,如何使用庫,還有一些簡單的 Python 語法。
2、具備快速學習(xi) 的能力和工具
其實像“百度百科”一樣,編程知識也有自己的“百科”。比如:www.runoob.com/https://www.w3schools.com/等。
當我們(men) 對一件事不了解的時候,不妨嚐試搜索,或者在相關(guan) 網站上找到信息。精準搜集信息也是一種能力。(當你們(men) 在大學遇到開卷的 quiz,你們(men) 就懂了...)
3、遇到困難,去分析問題
我們(men) 鼓勵學生做嚐試和思考。對於(yu) 編程而言,一旦沒有拿到想要的結果,是會(hui) 有“報錯”提示的,這時候我們(men) 需要進入到 debug 的環節。需要根據報錯來找出錯誤,並修複。
其實工程師們(men) 在真實的工作場景下,寫(xie) 代碼 vs debug 的時間支配可能是1:3,甚至更誇張。而且不是每個(ge) 工程師能記住所有語法,所以:有認知、能搜索快速得到信息、能一步一步 debug 是非常重要的。不僅(jin) 編程裏需要掌握著3步(3種能力),任何學科都應該具備。
評論已經被關(guan) 閉。