Lesson 0: 關於程式設計與統計計算的觀念
本單元設計十多個課程介紹統計相關的計算問題。除了問題描述外,另搭配 Python 語言的片段程式以協助讀者加速進入統計計算的領域。具統計計算的能力,除了能解決統計相關的計算問題外,還能對學習中的統計理論進行實驗,加深對理論的瞭解,讓統計不只是冰冷的理論,還是活生生看得見的實務現象。這一切端賴對程式設計的掌握,以下說明如何使用本單元搭配的 Python 語言。
- 寫 Python 程式需要編輯與執行程式的環境,一般分為線上版與單機版。較常見的線上版有 Jupyter 系列的 Jupyter Notebook 與 JupyterLab、Google 的 Colab。其中 Jupyter 系列也可以安裝在個人電腦,不受線上版的一些限制。而 Google 公司的 Colab 則是純線上版,搭配 Gmail 帳號使用。不管是純線上版或安裝到個人電腦的版本,都使用瀏覽器做為開發工具。
- 以瀏覽器做為開發工具的程式設計環境適合初學者,主因當然是使用對於瀏覽器的熟悉,不須學習環境操作,只須關注於程式的學習。不過方便的環境也有不方便的地方。當程式的範圍隨著專案(projects)、課程、問題導向(譬如機器學習)、群組合作 … 等慢慢擴大,此時整合式的開發環境 IDE(Integrated Development Environment) 比較合適。
- IDE 的程式設計環境還可以分「套餐」與「單點」兩種選擇。所謂「套餐」,像 Anaconda 這樣巨大的統合軟體,包裝了寫作 Python 程式的各種套件與編輯軟體,免去初學者接觸像 Python 這類的自由軟體的失控現象。讓 Python 語言好像一個商業產品,安裝之後,甚麼都就緒了。
- 「單點」的環境指從 Python 語言的軟體安裝(選擇適當的版本)、使用何種程式編輯軟體(VS code, Spyder, … 不勝枚舉),到寫作程式時必須陸續安裝的 Python 套件(Packages) ,還有更多整合這些事情的瑣事,樣樣都能阻止初學者繼續學習的意願。
- 本課程的目的希望帶領初學者慢慢熟悉「單點」環境的建立,除了學習 Python 語言的程式設計技巧外,還能逐漸摸索自由軟體的精神,搭上自由軟體的龐大列車,享受自由軟體帶來的便利,而不是埋葬期間。
- 本課程建議使用 Microsoft 的產品 vscode (Visual Studio code) 作為開發的 IDE 環境。搭配 GitHub 的 Copilot 作為寫作程式的幫手,對新手與老手都有莫大助益。Copilot 目前被微軟訂為收費產品, 但若是 GitHub 的學生會員則可以免費使用(詳見:关于 GitHub Copilot 的计费)。GitHub 是目前程式設計師們常用的程式版本管理與發佈的渠道,儘早接觸,儘快獲益。