AI 神助攻!程式設計新境界 – GitHub Copilot 開發 Python 如虎添翼 : 提示工程、問題分解、測試案例、除錯 Leo Porter, Daniel Zingaro 著,
網路價
NT${{ commaFormat(product.price_actu) }}
NT${{commaFormat(product.price_sugg)}}
專屬特惠價 NT${{ commaFormat(product.group_price) }}
優惠價
NT${{ commaFormat(product.member_price) }}
NT${{ commaFormat(product.group_price) }}
商品組合
贈品 (買就送)
{{ pItem.title }}
付款方式
轉帳/匯款/無摺存款 / LinePay付款 / 超商代碼付款(綠界金流) / 信用卡一次付清(綠界金流) / AFTEE 先享後付 / [圖書專用] 7-11取貨付款
配送方式
7-11超商取貨 / 全家超商取貨 / 宅配到家 / 校園門市店到店取貨(需7~10個工作天,急用勿選)
超值加購
{{ pItem.title }}
型號:{{ pItem.model }}
加購價 NT${{pItem.extra_price}}
(原價NT${{pItem.price_orig}})
ISBN13:9789863127901
替代書名:Learn AI-Assisted Python Programming: With GitHub Copilot and ChatGPT
出版社:旗標出版社
作者:Leo Porter; Daniel Zingaro
譯者:施威銘研究室
出版日:2024/04/16
裝訂/頁數:平裝/368頁
規格:23cm*17cm*2.5cm (高/寬/厚)
重量:811克
版次:2
【內容】
【程式設計新浪潮 . 開發生態大革命】
你還在研讀程式語法手冊?還在網路上找程式碼來修修改改?還要繼續埋首在手刻程式碼的低效循環中掙扎嗎?就是現在,程式設計生態發生了史無前例的變革!
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 Code
2.2 設定您的開發環境
2.3 在 Visual Studio Code 中使用 Copilot
2.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 與debugger
8.1 造成 bugs 的原因
8.2 如何找出 bugs
8.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 線上除錯工具 PythonTutor
8.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 pattern
11.3 角色模式 - Persona pattern
11.4 AI 工具的限制和未來方向
11.4.1 Copilot 目前面臨的困難
11.4.2 程式語言會被自然語言取代嗎?
11.4.3 一個令人期盼的未來
【關於教科書訂購說明】
☆ 單本即有折扣,將商品放入購物車就可以看見優惠價唷!五本以上團購更便宜!加入會員訂購,還可累積購物金!
★ 若有急需用書,可先LINE私訊詢問庫存呦~
☆ 出貨時間:有現貨的,2個工作日內出貨;無現貨,約3~5個工作日 出貨
【寄送方式說明】
❶ 實體門市取貨
全台麗文校園書局皆可取貨,貨到書局將會以簡訊通知。
❷ 超商取貨
提供7-11及全家超商取貨(需先付款,無貨到付款)。
❸ 一般宅配
本公司主要與黑貓宅急便配合,送達到您指定的地址。
※當您於本網站消費交易完成後,電子發票將會以電子郵件寄給您;如需紙本發票請於下訂時於備註欄位說明。
【付款方式說明】
❶ ATM轉帳、匯款
銀行│第一銀行-三民分行
代號│007
戶名│麗文文化事業股份有限公司
帳號│704-10-051861
※實體ATM每日轉帳最高限額為3萬,若訂購金額超過3萬元,請分兩天或是使用不同的銀行帳戶轉帳。
❷ 信用卡(可分期,需負擔手續費)
凡各家銀行的VISA、MASTER、Union Pay、JCB信用卡皆可使用。
❺ 超商代碼
系統會發送繳費代碼至您的電子信箱,需自行至「超商機器ex:iBon」輸入代碼,產生繳費單後前往櫃檯繳費。
❼ 免卡分期
麗文校園購與「zingala銀角零卡」「第一資融」以及「皮路後支付」合作,讓您免用信用卡就可以購物。
如有使用上的問題,可以先與揪小編聯絡唷!。
※請注意:超過7天未付款之訂單則訂單自動失效;免卡分期訂單成立起7天內未主動聯繫亦同。
【其他說明】
❶關於出貨
1.商品為不缺貨前提下,訂單完成付款後2-4個工作天將會出貨(不含例假日及國定假日);若商品缺貨則須等待1-2週。
2.麗文校園揪來玩保留訂單接受與否權利,若因交易條件有誤或有其他情形導致我們無法接受您的訂單,將以E-mail發送取消訂單通知給您,造成不便敬請見諒。
❷關於退貨
1.非門市現場消費享有七天猶豫期,收到商品當天往後算七天內若是決定不買,則協助不要拆封,一拆封視同願意購買。
2.若真的決定不購買商品要退貨,請聯繫我們LINE線上客服,我們會盡速為您處理。
❸關於新品瑕疵與維修保固
1.全新商品享有購買七日內,新品瑕疵的換新保障;但新品瑕疵與否,是由商品代理商或原廠所判定,麗文校園揪來玩僅能依據判定的結果給予協助。若是原廠判定非新品瑕疵則無法換新,需改為維修的方式處理。
2.新品瑕疵換新的作業時間,將依各廠商的流程而定,最快2個工作天,慢的話也可能需要到15個工作天。
3.購買超過七日後,維修服務由原廠提供。如有需要維修,麗文校園揪來玩可以代為送修,但送修如需運費時(EX:原廠沒有提供免費收件服務),則需由您負擔送修的運費(運費約為100元起,因商品大小而異)。
【華碩的維修服務】