Upgrade to Pro — share decks privately, control downloads, hide ads and more …

寫程式好困難,用AI教你輕鬆學程式

 寫程式好困難,用AI教你輕鬆學程式

More Decks by 愛瘋一切為蘋果的彼得潘

Other Decks in Programming

Transcript

  1. 彼得潘簡介 App程式設計入 門 :iPhone.iPad 彼得潘的 Swift 程式設計入 門 正職: 作家

    副業: 專欄 & blog 作家, 工 程師,程式課程講師,顧問,家 教,評審,接案,企業包班,創業家,iOS APP 金 牌擺渡 人 iOS App 工 程師/外包廠商的 面 試鑑賞師
  2. 生 動有趣的程式教學 說真 心 話的電腦書 見 書如 見人 ,看了書就可以了解彼得潘 博客來單

    月 Top 1, 2012年度 百 大 電腦類 Top 6 歡迎寄照片給我,我可以把你們的照片放到我的新書
  3. 相關教學資源 • FB 粉絲團: 愛瘋 一 切為蘋果的彼得潘 http://www.facebook.com/iphone.peterpan • 個

    人 網站 http://apppeterpan.strikingly.com • blog: 彼得潘的App Neverland https://medium.com/@apppeterpan • 同學們的作業 文 章: 彼得潘的 Swift iOS App 開發教室 https://bit.ly/2mJdBjE • LINE: deeplovepeterpan
  4. 學程式的條件 •國中程度的英 文 單字能 力 。 • 小 學程度的數學能 力

    。 •尚可的英 文 打字速度。 •喜歡思考。 寫程式要常常思考跟解決問題。 •有耐 心 。 •花時間 大 量練習 -> 熟能 生 巧。 •那些年我們學不會的程式設計 https://shorturl.at/ovxI6
  5. 學程式的六個階段 2. 看懂別 人 寫的程式 3. 自 己 寫程式,不 一

    定對 4. 寫得對 6. 寫得好 5. 寫得快 1. 聽懂上課的內容 / 看懂書籍影片的內容 3 ~ 6 要靠 自己大 量的練習
  6. • 英 文 的聽說讀寫只要先 目 標加強單字。 • 寫程式會⽤到許多別⼈寫的東⻄,這些東 西 都以英⽂命名,單字意

    思知道的話比較能看懂跟記憶。 • 範例 AVSpeechSynthesizer : 講話的合成器。 多認識⼀些英 文 單字
  7. • 為什麼學程式要寫 blog https://shorturl.at/hLX49 • 轉職 工 程師 工 作的正相關條件

    ? medium 的作業 文 章 https://shorturl.at/gmwT7 • 彼得潘的 Swift iOS App 開發教室 https://medium.com/彼得潘的-swift-ios-app-開發教室 • 海 大 iOS App 程式設計 https://medium.com/海 大 -ios-app-程式設計 寫 blog 記錄 克服遺忘曲線 20分鐘後,42%被遺忘掉,58%被記住。 1 小 時後,56%被遺忘掉,44%被記住。 1天後,74%被遺忘掉,26%被記住。 1周後,77%被遺忘掉,23%被記住。 1個 月 後,79%被遺忘掉,21%被記住。
  8. • 不知道寫什麼 ? • 彼得潘的 100 道 Swift iOS App

    謎題 https://shorturl.at/fsv36 • 真的有 人 寫到 100 篇嗎 ? • 同學的 100 篇 文 章 • https://shorturl.at/dgszF • 學 生 們開 心 地 大 量地 用 AI 學習和寫 文 章 • 教課時發現學 生 都在 用 AI 問問題 • 範例:藏寶圖 API 彼得潘的 100 道題 目 & 同學的 100 篇 文 章
  9. 請 AI 當 小 老師學程式 今天的投影片明天就過時了,因為 AI 日 新 月

    異, 明天、下星期、下個 月 的 AI 更厲害,有更多新功能
  10. • 台灣的學⽣比較不好意思問問題。 • 問 人 要考慮很多,問 AI 不 用 考慮。

    • 時間: 半夜或假 日 怕吵到 人 。 • AI 不 用 休息,隨傳隨到。 • 怕問太多讓 人 覺得煩。 • AI 超有耐 心 ,問它 一 百遍也不會封鎖你。 • AI 可以溫柔地 用 學 生 感興趣的主題教學。 • 請 AI 當程式 小 老師 • https://shorturl.at/xMSUW AI 是讓你問到飽的老師
  11. • ChatGPT 付費 20 美 金 升級 GPT 4 有更多功能,像是比較聰明,連網抓新資料,辨識圖

    片,解析網 頁 和 pdf,執 行 python 程式, 生 成圖表和圖片,使 用 套件,講話聊 天 https://chat.openai.com Bing Chat 也是使 用 GPT 4(安裝 Edge 可以使 用 很多功能) https://www.bing.com/ • Google Bard https://bard.google.com/ • Claude https://claude.ai 有哪些不錯的 AI ? 通 用 AI
  12. • GitHub Copilot https://github.com/features/copilot • Visual Copilot https://www.builder.io/ • Cursor

    https://cursor.sh/ • Amazon CodeWhisperer https://aws.amazon.com/codewhisperer/ • Google IDX https://idx.dev/ • Meta Code Llama https://about.fb.com/news/2023/08/code-llama-ai-for-coding/ 有哪些不錯的 AI ? 程式專 門 AI
  13. 練習時間 連到 GPT、Bing、Bard、Claude 問問題 • ChatGPT https://chat.openai.com • 範例 https://chat.openai.com/share/875dfb23-6ee9-40b8-90f8-31c1da885524

    • Bing • https://www.bing.com/ • Bard https://bard.google.com/ • 範例 https://g.co/bard/share/36a329f26230 • Claude https://claude.ai 優先練習 GPT & Bard
  14. • AI 回答有可能會錯,不過英 文方 面 它是專家,比較不會出錯 • AI 翻譯比 Google

    翻譯好。 • 程式很多 文 件和教學都是英 文 。 • 練習英 文 對話 請當我的女朋友,跟我練習英 文 對話,只 用 英 文 回答我,並針對我的回答提出改善的地 方 。 https://chat.openai.com/share/ce695c61-36f6-43fd-9c21-27b6ec76444d • 利 用 AI 看英 文小 說學英 文 • 我是 小 朋友,請 用 更簡單的英 文 單字改寫。可以 用 來改寫技術 文 章。 • https://rb.gy/dt69y 利 用 AI 學英 文 和翻譯
  15. 用 Bing 聊天的 DALL·E 畫圖 https://shorturl.at/fmEO7 GPT 4 也可以畫圖 Emilia

    from "Re:Zero" and Peter Pan from Disney sitting side by side, coding together with MacBook 其它 AI 畫圖: Midjourney、Adobe Fire fl y、Stable Di ff usion
  16. 請 AI 畫程式教學的素材 我是教 小 朋友的程式老師,正在教 function input & output

    的概念。請以 生 活中的例 子 設計 一 個有趣的圖片,說明 function input & output 的概念 廚師在廚房裡將食材(輸入)加入攪拌碗中,經過攪拌 後,出現了 一 個寫有 "Function Result" 的美味蛋糕(輸 出), 一 群 小 朋友驚奇地看著。 魔術師在舞台上將兔 子 (輸入)放入魔法帽中,念了魔 法咒語後,從帽 子 中取出了五顏六 色 的花束(輸出), 小 朋友們興奮地 鼓 掌。 https://shorturl.at/afU56
  17. 請 AI 因材施教教程式 — 指定年紀/興 趣/ 角色 語氣,讓程式學習更活潑易懂 說明 https://cutt.ly/n479PCM

    聊天記錄 https://chat.openai.com/share/87057bb3-ad59-4a51-ba57-c2db9f9296eb • 請對五歲 小 朋友以台灣中 文 介紹 IDE • 請對喜歡 皮 卡丘的學 生 以台灣中 文 介紹 IDE • 你是我的女朋友,請 用 可愛撒嬌貼 心 浪漫的語氣教我 IDE • 編 一首 國語流 行 歌,透過歌詞介紹 IDE • 請模仿論語介紹 IDE。
  18. • 範例: 你知道 Xcode 15 的 Quick Actions 嗎 ?

    VS Code 和 Android Studio 有類似的功能嗎 ? https://chat.openai.com/share/79ad4843-fe6b-4 ff f-a4d2-6308ab286efa 請 AI 教 IDE 的操作
  19. 請 AI 用 table format 說明比較 • give me a

    table, 用 台灣中 文 比較 Python & Swift • 請 AI 以 table 說明程式/演算法/資料結構 • 用 table format 說明遞迴(recursive) function 運算的過程
  20. 練習時間 請 AI 用 table format 說明比較 • give me

    a table, 用 台灣中 文 比較 Python & Swift • 用 table format 說明 bubble sort 演算法 • 用 table format 比較前端 工 程師和後端 工 程師 • 用 table format 比較 自 學和上課學程式 • 我想學習 Python 程式,請幫我排出學習進度表, 用 table format 顯 示 可以分別 用 GPT & Bard 測試
  21. 請 AI 出題 目 學 生 剛學會 Python 的數學運算,還沒有學變數。 請出

    一 些有趣的課堂練習題,以有趣的故事為主題 • 神秘的寶藏: 傳說中, 一 位海盜將他的寶藏藏在 一 個神秘的島上。他在地 圖上留下了這樣的線索:「從 大 石 頭開始,向前走 500 步, 然後向右轉走 250 步,之後再向前走 300 步,最後向左轉 走 100 步,寶藏就在那裡!」如果每 一 步約等於 0.8 米,那 麼海盜需要走多少米才能找到寶藏呢? • 神秘的星球: 在 一 個遙遠的星球上, 一 年只有 100 天, 一 天只有 15 小 時, 一 小 時只有 40 分鐘, 一 分鐘只有 50 秒。請問,這個星 球 一 年有多少秒呢? 學習程式時,覺得老師出的作業太少?請 AI 出題 目
  22. 宣告變數(variable)存資料 number 6 number = 6 名字 內容 declare number

    想像名叫 number 的盒 子 或容器裡裝著 6 6
  23. number 6 number = 6 age 18 age = 18

    名字(name) & 內容(value) 名字 名字 內容 內容
  24. 請 AI 寫押韻的程式教學 文 章 • 說明 https://shorturl.at/bvKY1 • 例

    子 : 介紹 python 的變數 https://chat.openai.com/share/c310cb70-41b0-4f2c-a47b-9e9b9e05ac7c
  25. 請 AI 編有趣的故事教程式 • 說明 https://shorturl.at/bfmpU • 例 子 :

    請編 一 個夏洛克福爾摩斯的猜凶 手 的推理故事,說明 python 的變數 https://chat.openai.com/share/545bf8d6-8297-4bdb-b81f-8d5989d2a12f
  26. 變數名字的注意事項 • 通常寫英 文 的 小 寫,雖然也可以寫中 文 , 日文

    等其它 語 言 。 • 最好 用 完整的英 文 單字,不要縮寫。很長也沒關係, 讓 自己 和別 人 容易理解比較重要。
  27. 請 AI 提供命名的建議 https://shorturl.at/DH056 我想 用 python 宣告 一 個儲存某個學

    生 名字的變數, 請列出三個建議的名字,並針對每個建議說明理由。
  28. 練習時間 變數題 目 一 家五 口 (兩個 大 人 ,

    一 個學 生 , 一 個學童, 一 個幼童) 去六福村主題遊樂園要付多少錢? ps:也可以計算 自己 全家 人 去六福村玩主題遊樂園要付 多少錢 ? https://www.leofoovillage.com.tw/Infos/Tickets/
  29. 請 AI 解答 沒有連網的 GPT 3.5 用 python 程式計算 一

    家五 口 (兩個 大人 , 一 個學 生 , 一 個 學童, 一 個幼童)去六福村主題遊樂園要付多少錢? 票價資訊如下 成 人 (18歲以上):NT$ 1,199 學 生 (12 至 18歲):NT$ 1,099 學童(6 至 12歲或 身高 120cm):NT$ 899 幼童(3 至 6歲或 身高 100cm):NT$ 699 https://chat.openai.com/share/1c64fe58-5365-4c8b-8de8-72b71b098f1d
  30. 請 AI 解答 連網的 GPT 4 (Browse with Bing) 用

    python 程式計算 一 家五 口 (兩個 大人 , 一 個學 生 , 一 個 學童, 一 個幼童)去六福村主題遊樂園要付多少錢? 票價資訊參考以下連結 https://www.leofoovillage.com.tw/Infos/Tickets/ https://chat.openai.com/share/e1973e71-bf82-4cc4-996d-c1f6f22fafe6
  31. 請 AI 解答 可以執 行 python 程式的 GPT 4 (Advanced

    Data Analysis) 用 python 程式計算 一 家五 口 (兩個 大人 , 一 個學 生 , 一 個 學童, 一 個幼童)去六福村主題遊樂園要付多少錢? 票價資訊如下 成 人 (18歲以上):NT$ 1,199 學 生 (12 至 18歲):NT$ 1,099 學童(6 至 12歲或 身高 120cm):NT$ 899 幼童(3 至 6歲或 身高 100cm):NT$ 699 https://chat.openai.com/share/4420f154-92b8-4fa8-bcff-42ca6d884399 注意: Advanced Data Analysis 目 前只能執 行 python 程式
  32. • 模擬上課學程式的體驗 ,等學 生 回答完成了 AI 才講解下個步驟 • 連結 •

    請 一 步 一 步慢慢教,列出 一 連串的步驟 • 連結 • Demo 範例 https://chat.openai.com/share/20baad3a-4b4e-4297-b4ee-49ccc2602ee9 請 AI 一 步 一 步慢慢教
  33. 使 用 Edge bing chat 請 AI 說明程式的 文 件

    https://developer.apple.com/documentation/swiftui/datepicker 請閱讀 DatePicker 文 件,教我如何使 用 它
  34. 使 用 AI 快速建立程式資料 連結 用 struct Zodiac 定義型別,建立 一

    個 array,成 員的型別是 Zodiac,array 裡包含 十二 星座,寫 中 文 var zodiacs = [ Zodiac(emoji: "♈ ", name: " 白羊 座", date: "3 月 21 日 -4 月 19 日 ", strengths: "勇敢,決 心 , 自 信,熱情,樂觀"), Zodiac(emoji: "♉ ", name: " 金牛 座", date: "4 月 20 日 -5 月 20 日 ", strengths: "可靠,毅 力 , 力 量,決 心 "), Zodiac(emoji: "♊ ", name: "雙 子 座", date: "5 月 21 日 -6 月 20 日 ", strengths: "靈活,多才多藝,好奇 心 ,溝通能 力 "), Zodiac(emoji: "♋ ", name: "巨蟹座", date: "6 月 21 日 -7 月 22 日 ", strengths: "感情智慧,照顧,關 心 ,保護"), Zodiac(emoji: "♌ ", name: "獅 子 座", date: "7 月 23 日 -8 月 22 日 ", strengths: "尊嚴,領導 力 ,魅 力 , 自 信"), Zodiac(emoji: "♍ ", name: "處女座", date: "8 月 23 日 -9 月 22 日 ", strengths: "分析,注意細節,實 用 "), Zodiac(emoji: "♎ ", name: "天秤座", date: "9 月 23 日 -10 月 22 日 ", strengths: "外交,公平,正義"), Zodiac(emoji: "♏ ", name: "天蠍座", date: "10 月 23 日 -11 月 21 日 ", strengths: "激情,毅 力 ,決 心 "), Zodiac(emoji: "♐ ", name: "射 手 座", date: "11 月 22 日 -12 月 21 日 ", strengths: "熱情,冒險,幽默"), Zodiac(emoji: "♑ ", name: "摩羯座", date: "12 月 22 日 -1 月 19 日 ", strengths: "決 心 ,紀律,野 心 "), Zodiac(emoji: "♒ ", name: " 水 瓶座", date: "1 月 20 日 -2 月 18 日 ", strengths: "創新,創造 力 ,智慧"), Zodiac(emoji: "♓ ", name: "雙 魚 座", date: "2 月 19 日 -3 月 20 日 ", strengths: "同情 心 ,直覺,藝術天賦") ] struct Zodiac { let emoji: String let name: String let date: String let strengths: String }
  35. 練習時間 使 用 AI 快速建立程式資料 用 Python 的 class 定義型別,建立

    一 個 array, 成員的型別是 Zodiac,array 裡包含 十二 星座, 寫中 文
  36. 使 用 GPT 4 Browse with Bing 搜尋網路資料 https://shorturl.at/eDN68 用

    JSON 寫 一 個台灣公 車 307 的路線資訊,路線資訊如下 https://ebus.gov.taipei/EBus/VsSimpleMap?routeid=0100030700&gb=1
  37. 請 GPT 4 Advanced data analysis 寫 python 程 式解析

    html,將資料存成 JSON 檔 • JSON 例 子 https://shorturl.at/ktzTU • array 例 子 https://chat.openai.com/share/30e9ca64-dfbf-4c13-a510-9d80f9e26d27 AI 可能無法解析較複雜的網 頁 ,我們可以改成上傳 html 檔,請 GPT 4 寫 python 爬蟲程式並執 行 程式,最後再 下載程式輸出的 JSON 檔 或 array。
  38. 使 用 AI 寫 python 網 頁 爬蟲程式 解析 PTT

    網 頁 開發 App https://shorturl.at/fmowN 開發 WWDC 影片 App https://shorturl.at/JNOV6
  39. • https://shorturl.at/enrBS • 請 AI 提供程式變數/function/型別命名的建議 • 提升程式可讀性。 • 幫程式加上注解。

    • 程式縮排。 • 列出可改進的地 方 ,重構程式,打分數。(code review,refactor code) • 請 AI 寫作業,比較 AI 跟 自 己 的差異。 • Demo: 使 用 Browse with Bing 或 Advanced Data Analysis 改進程式 • Browse with Bing https://chat.openai.com/share/aacbca07-de7a-492c-86a1-97c0b2442d9e • Advanced Data Analysis https://chat.openai.com/share/28ad9f9e-dd87-4e10-9310-63c2890444d5 請 AI 幫忙改進程式
  40. 高 中 生 程式解題系統、APCS 題 目 、LeetCode,AtCoder 請 AI 寫程式解題

    • 說明 • 連結 • 請 AI 出類似的題 目 • AI 的強項是模仿 • 連結 還可以 用 GPT 4 的 Advanced Data Analysis 測試結果是否正確, 不過 Advanced Data Analysis 目 前只能執 行 Python
  41. 將美食 App 變成電影 App 請 AI 修改現有程式產 生 新 App

    https://shorturl.at/DFGJM AI 的強項是模仿
  42. • 訂飲料 App https://shorturl.at/itA68 • 請 AI 開發 • https://shorturl.at/ktLMQ

    • 請 AI 依據範例和 Airtable API 文 件開發串接訂單 CRUD API 的 Swift 程式 • 請 AI 讀取飲料 menu 的網 頁生 成 JSON。 • 請 AI 用 SwiftUI 開發訂飲料 App,搭配 CURD API & menu 的 JSON。 請 AI 幫忙, 一 小 時開發訂飲料 App
  43. GitHub Copilot https://shorturl.at/hqBE9 • 專 門 寫程式的 AI • 月

    費 10 美 金 • 老師 / 學 生身 份可免費使 • Copilot 很常提 示 範例的程 式,常常程式碼都不 用自己 打 了。不過新 手 學程式最好還是 自己 打比較好 • GitHub Copilot X https://github.com/features/ preview/copilot-x
  44. GitHub Copilot Labs https://githubnext.com/projects/copilot-labs/ 補充 用 AI 學程式的書: Learn AI-assisted

    Python Programming: With GitHub Copilot and ChatGPT https://www.manning.com/books/learn-ai-assisted-python-programming
  45. 學 生 常問我,有了 AI 還要學程式嗎? 面 試時還是要有不靠 AI 寫出程式的能 力

    , 如果有兩個 面 試者, 志明靠 AI 寫出 面 試題 目 , 春嬌不靠 AI 寫出 面 試題 目 , 公司會選志明還是春嬌呢 ?
  46. • 不會程式的 人 可以請 AI 當 小 老師學程式 • 會寫程式的

    人 可以請 AI 當助理提升開發效率 AI 是我們的好朋友