Learn AI-Assisted Python Programming: With GitHub Copilot and ChatGPT
作者 | Leo Porter/ Daniel Zingaro |
---|---|
出版社 | 旗標科技股份有限公司 |
商品描述 | AI神助攻! 程式設計新境界: GitHub Copilot開發Python如虎添翼:內容介紹:【程式設計新浪潮.開發生態大革命】你還在研讀程式語法手冊?還在網路上找程式碼來修修改改?還要 |
作者 | Leo Porter/ Daniel Zingaro |
---|---|
出版社 | 旗標科技股份有限公司 |
商品描述 | AI神助攻! 程式設計新境界: GitHub Copilot開發Python如虎添翼:內容介紹:【程式設計新浪潮.開發生態大革命】你還在研讀程式語法手冊?還在網路上找程式碼來修修改改?還要 |
內容簡介 內容介紹: 【程式設計新浪潮 . 開發生態大革命】你還在研讀程式語法手冊?還在網路上找程式碼來修修改改?還要繼續埋首在手刻程式碼的低效循環中掙扎嗎?就是現在,程式設計生態發生了史無前例的變革!GitHub Copilot 是由 GitHub 與 OpenAI 大型語言模型(LLMs)合作開發的 AI 程式設計助手,它從巨量程式碼庫中學會所有的程式設計技巧,將人類過往的程式精華融為一體。只要你學會用正確的方法、下達明確的提示詞、妥善地用自然語言與其溝通,就能發揮它的無窮力量,大幅幫助你提高開發軟體的成效。本書作者:兩位資訊教育學家 Leo Porter 博士與 Daniel Zingaro 博士為了 AI 程式設計時代的到來,在本書規劃出「函式設計循環」流程,整本書的編排圍繞著這個設計循環所需的技能,一遍遍演練、一步步學會進入 AI 程式設計必備的新技能。幫助你以正確的方式掌握 Python 程式設計(當然,其它程式語言也適用),高效快速解決實務上的任務。【開發程式的重點:從寫程式轉換為寫提示詞】與傳統的入門程式設計課程相比,使用 GitHub Copilot 協助寫程式需要學習新的技能,特別是問題分解、提示工程、測試與除錯技巧(如果您對這些技能還不太熟悉也無需擔心,本書都會詳細介紹),這些新技能對於現職的程式設計師來說同樣重要。在以往傳統的程式設計課程中,學生往往需要將精力灌注在語法的細節上,然而在 AI 時代,程式語法已經有 GitHub Copilot 這位大神在身邊,完全不用你操心,你該學的是如何用自然語言,寫出有意義且 AI 工具能正確理解的提示詞,讓它為你寫出符合預期的程式碼。如果你真的很不會寫提示詞,Copilot 除了能夠反向幫助程式產生提示詞,甚至還可以利用提示模式(prompt patterns)翻轉問答對象,讓 Copilot 主動提問以達成你的目標。本書特色: ● 精心設計為 AI 工具而生的函式設計循環。● 使用與業界接軌的 Visual Studio Code 開發工具。● 善用 Copilot Chat、inline Chat 提高生產力好助手。● 撰寫提示詞:學會用 AI 看得懂的自然語言溝通。● 看懂程式碼:程式由 AI 寫, 但你需要看得懂。● 問題分解:用 Top-Down 設計將大問題分解成小任務。● 測試案例:設計常見案例與邊界案例確認函式正確。● 除錯技巧:當 AI 使不上力的時候要學會自救。● 從設計模式轉變為提示模式的初體驗。目錄: 第 1 章 GitHub Copilot 簡介1.1 本書用到的技術1.1.1 GitHub Copilot 就是寫程式的 AI 助手1.1.2 GitHub Copilot 背後運作方式1.2 GitHub Copilot 改變寫程式的方式1.3 GitHub Copilot 能幫我們做什麼其他事情?1.4 使用 Github Copilot 的風險與挑戰1.5 技能需求1.6 AI 程式助手(如 Copilot)帶來的顧慮第 2 章 GitHub Copilot 入門2.1 使用 Copilot 必備工具2.1.1 需要註冊 GitHub 帳號2.1.2 需要安裝 Python 延伸模組2.1.3 需要安裝 VS Code2.2 設定您的開發環境2.3 在 Visual Studio Code 中使用 Copilot2.3.1 設定工作資料夾2.3.2 檢查設置是否能正常運行2.4 常見的 Copilot 問題2.5 在 VS Code 中用 Copilot 產生程式碼2.6 第一個程式任務2.6.1 Copilot 在資料處理任務中的價值2.6.2 計算 Aaron Rodgers 在 2019~2022 年的傳球碼數2.6.3 查出那段期間所有四分衛的表現2.6.4 將傳球碼數統計資料繪製成圖表第 3 章 設計函式3.1 函式(Functions)3.1.1 函式的組成3.1.2 使用函式3.2 函式的好處3.3 呼叫函式的執行順序與函式的不同角色3.3.1 瞭解呼叫函式的執行順序3.3.2 函式的其它角色3.4 函式的合理任務3.4.1 好函式的特色3.4.2 好與不好的葉子函式例子3.5 使用 Copilot 的函式設計循環3.6 使用 Copilot 建立函式的例子3.6.1 計算股票獲利的函式3.6.2 檢查強密碼的函式3.6.3 獲取強密碼的函式3.6.4 拼字遊戲的計分函式3.6.5 找出分數最高單字的函式第 4 章 學習閱讀 Python 程式碼 (1)4.1 為何需要閱讀程式碼4.2 要求 Copilot 解釋程式碼的意思4.2.1 用 Copilot Chat 窗格解釋程式碼4.2.2 從 inline Chat 叫出 GitHub Chat 解釋程式碼4.2.3 透過格式化文件命令窗解釋程式碼4.3 Python 語言的 10 大構成要素4.4 內建函式4.5 變數(Variables)4.6 條件語句(Conditionals)4.6.1 當條件判斷只有兩種可能結果4.6.2 當條件判斷多於兩種可能結果4.6.3 每個 if 語句都是獨立的條件判斷4.7 字串(Strings)4.7.1 字串的 method 練習4.7.2 請 Copilot 解釋 method 與使用情境4.7.3 字串的串接與重複4.8 串列(Lists)4.8.1 串列中的元素4.8.2 串列元素的索引4.8.3 串列元素切片4.8.4 用索引更改串列中的值4.9 Python 前 5 種構成要素整理第 5 章 學習閱讀 Python 程式碼 (2)5.1 迴圈(Loops)5.1.1 for 迴圈 - 讀取字串5.1.2 for 迴圈 - 讀取串列5.1.3 for 迴圈 – 搭配索引5.1.4 while 迴圈5.2 縮排(Identation)5.2.1 縮排代表程式區塊5.2.2 二層縮排5.2.3 三層縮排5.2.4 美觀性的縮排5.2.5 縮排與巢狀迴圈5.3 字典(Dictionary)5.3.1 存取字典的內容5.3.2 用迴圈取得字典的內容5.4 檔案(Files)5.4.1 開檔並讀取資料5.4.2 用迴圈逐列讀取檔案中的資料5.4.3 用模組簡化處理 CSV 檔案的過程5.5 模組(Modules)5.5.1 預設模組可直接載入 – 以 zipfile 模組為例5.5.2 需要下載並安裝的套件5.6 Python 後 5 種構成要素整理第 6 章 測試與提示工程6.1 程式碼測試的重要性6.2 黑盒測試與白盒測試6.2.1 黑盒測試6.2.2 如何決定測試案例要測什麼?6.2.3 白盒測試6.3 如何測試您的程式碼6.3.1 在 Python 提示符號下進行測試6.3.2 直接在 Python 檔案中進行測試6.3.3 用 doctest 模組進行測試6.4 重新檢視 Copilot 函式設計循環6.5 測試範例 1 – 安排學生座位6.5.1 找出一列中最多還可安排幾位新學生6.5.2 改進提示詞以得到更佳解決方案6.5.3 測試新的解決方案6.6 測試範例 2 – 用到外部檔案6.6.1 準備進行的測試案例6.6.2 建立函式6.6.3 對函式進行測試6.6.4 使用 doctest 容易出現的問題第 7 章 問題分解7.1 問題分解的過程7.2 Top-Down 設計的小例子7.2.1 用 Top-Down 思考獲取強密碼函式7.2.2 用 Top-Down 思考找出分數最高單字函式7.2.3 Top-down 設計可控制複雜性7.3 作者身份識別任務7.4 作者身份識別程式的三個階段7.5 分解處理階段的問題7.5.1 決定神秘書籍的未知特徵簽名7.5.2 5 個特徵函式的詳細說明7.5.3 找出每本已知作者書籍的特徵簽名7.6 為 Top-Down 設計做個整理7.7 將規劃的函式用 Copilot 實作出來7.7.1 clean_word 函式7.7.2 average_word_length 函式7.7.3 different_to_total 函式7.7.4 exactly_once_to_total 函式7.7.5 split_string 函式7.7.6 get_sentences 函式7.7.7 average_sentence_length 函式7.7.8 get_phrases 函式7.7.9 average_sentence_complexity 函式7.7.10 make_signature 函式7.7.11 get_all_signatures 函式7.7.12 get_score 函式7.7.13 lowest_score 函式7.7.14 process_data 函式7.7.15 make_guess 函式7.8 思考重構程式的可能.第 8 章 除錯 – 使用 Copilot Chat 與debugger8.1 造成 bugs 的原因8.2 如何找出 bugs8.2.1 使用 print 語句來瞭解程式碼行為8.2.2 用 VS Code 的 debugger 觀察程式行為8.3 利用 GitHub Copilot Chat 修正程式碼8.4 將除錯融入工作流程8.5 將除錯技巧應用於新問題8.5.1 列出可能出現錯誤的假設8.5.2 對假設進行除錯8.6 線上除錯工具 PythonTutor8.7 降低除錯的挫折感.第 9 章 製作自動化工具9.1 程式設計師自製工具的原因9.2 用 Copilot 開發自動化工具9.3 自動化工具 1:清理電子郵件多餘符號9.3.1 與 Copilot 交談取得協助9.3.2 實際撰寫程式9.4 自動化工具 2:為數百個 PDF 報告加上封面頁9.4.1 與 Copilot 交談取得協助9.4.2 實際撰寫程式9.4.3 更新函式開發循環9.5 自動化工具 3:合併圖片庫中內容不重複的檔案9.5.1 與 Copilot 交談取得協助9.5.2 為函式補上 docstring第 10 章 遊戲設計10.1 遊戲程式的兩個主要功能10.2 為遊戲加入隨機性10.3 遊戲 1:猜數字遊戲(Bulls and Cows)10.3.1 遊戲玩法10.3.2 Top-Down 設計10.3.3 函式的參數與傳回值資料型別10.3.4 實現遊戲的函式10.3.5 為猜數字遊戲加上圖形介面10.4 遊戲 2:雙人骰子遊戲(Bogart)10.4.1 遊戲玩法10.4.2 Top-Down 設計10.4.3 實現遊戲的函式第 11 章 未來的方向11.1 從設計模式到提示模式11.2 翻轉互動模式 - Flipped interaction pattern11.3 角色模式 - Persona pattern11.4 AI 工具的限制和未來方向11.4.1 Copilot 目前面臨的困難11.4.2 程式語言會被自然語言取代嗎?11.4.3 一個令人期盼的未來
作者介紹 作者簡介: Leo Porter(李奧.波特)博士現任職於美國加州大學聖地牙哥分校計算機科學與工程系,擔任教學教授。他在同儕教學對計算課程影響的研究、利用響應器(clicker)資料預測學生學業成就,以及基本資料結構觀念開發方面成就卓著。他是 coursera 上廣受歡迎的「Object-Oriented Java Programming: Data Structures and Beyond」課程的合作教授,該課程吸引了超過 30 萬名學生。此外,他還教授 edX MicrosMasters 的「Python for Data Science」課程,吸引超過 20 萬名學生。他曾獲得六項最佳論文獎、SIGCSE 五十周年紀念研討會歷史上十佳論文獎、沃倫學院的卓越教學獎,以及加州大學聖地牙哥分校學術參議院的卓越教學獎。他是 ACM 的傑出成員,曾在 ACM SIGCSE 董事會服務。Daniel Zingaro(丹尼爾.辛加羅)博士是加拿大多倫多大學副教學教授,過去 15 年來致力於 Python 入門程式設計教學。他撰寫了許多文章,深入探討入門計算機科學的教與學的方法。他與 No Starch Press 合作出版過一本 Python 書與一本演算法的教學書,這些作品已被翻譯成多國語言。他也因教學和研究領域的卓越貢獻,獲頒多項傑出獎項,包括 50-Year Test of Time award 和一些最佳論文獎。
書名 / | AI神助攻! 程式設計新境界: GitHub Copilot開發Python如虎添翼 |
---|---|
作者 / | Leo Porter Daniel Zingaro |
簡介 / | AI神助攻! 程式設計新境界: GitHub Copilot開發Python如虎添翼:內容介紹:【程式設計新浪潮.開發生態大革命】你還在研讀程式語法手冊?還在網路上找程式碼來修修改改?還要 |
出版社 / | 旗標科技股份有限公司 |
ISBN13 / | 9789863127901 |
ISBN10 / | |
EAN / | 9789863127901 |
誠品26碼 / | 2682551624003 |
頁數 / | 368 |
裝訂 / | P:平裝 |
語言 / | 1:中文 繁體 |
尺寸 / | 23X17X2.2CM |
級別 / | N:無 |
重量(g) / | 811 |
提供維修 / | 無 |
最佳賣點 : 本書特色:
● 精心設計為 AI 工具而生的函式設計循環。
● 使用與業界接軌的 Visual Studio Code 開發工具。
● 善用 Copilot Chat、inline Chat 提高生產力好助手。
● 撰寫提示詞:學會用 AI 看得懂的自然語言溝通。
● 看懂程式碼:程式由 AI