程式設計與資料科學導論

week 2

謝舒凱

本週學習內容

  • 資料科學梗概

  • 確定程式編寫執行環境,與 AI 輔助程式環境 (vscode, colab, github, github copilot X, etc)

  • 認識 AI 助教,為自己的程式學習之路做好準備

    • chatGPT (and GPT-4 + plugins)、Google Bard、....
    • Github Copilot X (Chat)
    • others

資料科學 (數據科學)

  • data 是什麼?
  • 怎麼分類?(日常例子)
    • numerical, categorical, textual, visual, audio, etc.
    • integers, floats, strings, boolean, etc.

rightwiki

資料科學的過程

  • Data gathering
  • Data preprocessing
  • Data exploration
  • Data visualization
  • Data analysis and modeling
  • Data interpretation

我們要學的,就是怎麼用程式輔助我們進行這個過程?

重要的應用精神

數據是用來協助做決策的 The final aim of collecting data is decision-making.

學習之前的動機準備

  • 修這堂課的動機(興趣、專業、職涯規劃)
  • 你的程式學習經驗
  • 你的期待的應用領域與要處理的數據類型

LLM and AI

有了 chatGPT 為何還要寫程式?🫠

  • 程式設計是一種語言與邏輯思維學習

  • 為了讓 AI 能夠更好地理解我們的需求 (讓AI為你所用,不是你為它所用)

ChatGPT in action

快速提示語言使用入門

Understanding prompt design

https://www.freecodecamp.org/news/search?query=prompt

基本技巧

  • 重點標註 (引號、hashtag)
  • 限定回答字數 (e.g., 給我程式碼不超過 20 行;我要 300 字的文案)
  • 風格語氣
  • 範例 (few shot learning)
  • 分階段提問

人設很重要

persona settings

  • 不同的角色之對話串獨立出來

課堂練習

製作自己的學習課綱

資料科學外掛

GPT-4 plugins

據說要讓資料科學家失業的套件

  • code-interpreter > advanced data analysis

  • 用來當期末專題的比較基準

不課金也可以

Github Copilot X

  • 是一個 AI 程式設計助教

  • X 代表各種正在加入的功能 (如:chat, voice, doc, CLI,..)

righ

GitHub Copilot Chat in VSCode

  • 讓你可以跟 Copilot 對話的 vscode 外掛。

  • 申請排隊, 收到邀請信後,在安裝 Github Copilot chat extension 後,可以在 vscode 的左下角看到 Chat 的 icon。

Chat-Coding 使用體驗

  • 你可以在 Chat 裡面輸入你的需求,例如 “I want to write a python program to calculate the sum of 1 to 100.”(中文也可以)。

  • 之後更進階,可以把你的程式選取後,按右鍵有解釋、修復、簡化重寫、單元測試等選項(可選擇接受與否);或在聊天框內輸入 /

  • 實際展演一下。

另外一個課程資源

  • 我們申請到教育版的帳號,可以讓大家可以在學期間免費使用 DataCamp 的大多數課程。

  • 請再跟助教確認,你的帳號是否已經加入了這個組織。

總結

  • 本週的進度,請助教協助安置 (有 AI 助教的) 程式環境

  • 學習怎麼與 chatGPT 說話,知道你的需求。

  • 用程式環境寫第一個程式。

--- ## Prompts resources for programming