用 Python 學運算思維
內容描述
別以為寫程式只是工程師的事,當前各行各業都受到科技巨大變化的衝擊,組織裡各個階層的人員若能透過學習程式設計,而接受更多運算思維的訓練,以及對軟體科技趨勢的理解,那麼在面對變局、處理問題時,將可大大的提升解決問題的能力,在競爭的社會中具備更多勝出的機會。但...程式設計該怎麼學?
搞懂邏輯 × 動手實作 × 驗證想法 × 專題激盪
學習程式設計,不該只是盲目死記難懂的語法指令及一堆計算機符號,而是培養邏輯、勇於嘗試、並實現創意的過程。本書不只是想教你用 Python 去撰寫程式,也想培養你解決問題的能力,試著帶你去釐清問題、拆解問題,像程式設計師一樣的思考,最後能確實運用 Python 來解決各種難題,並應用到你的工作上。你準備好進入這個迷人的世界了嗎?
本書特色 :
學習 Python 不能只是盲目學語法,
跟隨 CAPSTONE 整合專題的引導,
有效拆解問題才是程式設計的基石。
● 本書由施威銘研究室 監修,所有程式範例均經過實際執行驗證無誤,並考量初學者的學習情境,用最淺顯的文字重新表述,並強化書中的圖解說明,就算是沒有基礎的讀者也能無痛入門,不管是自學參考、學校教學都很適合。
● 理解並釐清問題是程式開發的基石,我們帶你思考問題,然後用流程圖將解決問題的步驟視覺化,按圖施工、寫出程式,確確實實解決問題。
● 寫程式不是被動的學習,要自己動手才能真的學到。我們會帶你實際實作各章範例,強化學習效果,幫助理解 Python 基礎概念。
● 書中安排觀念驗證和課後習題,幫助釐清各種觀念、舉一反三,可做為自我學習驗證的檢查點,以確定自己懂了多少。
● 各篇設計有 CAPSTONE 整合專案,帶你從程式設計的觀念來解決問題,並將各章節學到的技巧組合起來,完成大型的程式範例。
【線上同步學習】
作者 Ana Bell 博士在 MIT OpenCourseWare 網站上開設的 「Introduction to Computer Science and Programming in Python」課程 (課程編號 6.0001),是目前最受歡迎的程式基礎課程之一,在閱讀本書之餘,建議同步觀看線上課程內容。(→ 課程連結)
目錄大綱
UNIT01 學習程式設計
01 為什麼要學習程式設計?
02 程式設計的基本原則
UNIT02 變數、型別、運算式和敘述
03 Python 的安裝與開發環境介紹
04 物件的命名與指派:變數與運算式
05 物件型別與敘述
06 CAPSTONE 整合專案:從分鐘數轉換成幾小時幾分
UNIT03 字串、tuple 及輸出入功能
07 字串:一連串有順序的字元
08 字串的進階操作
09 tuple:一連串有順序的物件
10 與使用者互動 -Python 的輸出入功能
11 CAPSTONE 整合專案:重組姓名
12 錯誤訊息與除錯
UNIT04 條件判斷
13 條件判斷式
14 進階條件式判斷
15 CAPSTONE 整合專案:文字冒險旅程
UNIT05 重複執行的作業
16 while 迴圈:依條件重複執行
17 計次執行的 for 迴圈
18 用 for 迴圈走訪容器中的元素
19 CAPSTONE 整合專案:拼字遊戲
UNIT06 建構可重複使用的程式區塊
20 建構大型程式
21 使用函式將程式模組化和抽象化
22 函式的進階技巧
23 CAPSTONE 整合專案:分析好友資訊
UNIT07 使用可變物件
24 可變(mutable)物件與不可變(immutable)物件
25 串列(list)物件
26 串列的進階操作
27 字典(dict)物件
28 替串列、字典建立別名或複製內容
29 CAPSTONE 整合專案:比較文章的相似度
UNIT08 物件導向程式設計
30 物件基礎
31 設計自己的類別
32 自行定義類別來簡化程式
33 CAPSTONE 整合專案:紙牌遊戲
UNIT09 Python 最強功能:函式庫
34 實用的函式庫(library)
35 圖形化使用者介面函式庫
36 CAPSTONE 整合專案:Tag!抓人遊戲
37 對程式進行測試
附錄 A 特殊方法
作者介紹
Ana Bell 博士是 MIT 麻省理工學院電機工程與資訊科學學系的講師,主要教授電腦科學與程式設計等課程。由於 Ana Bell 博士教的是入門課程,因此學生多半沒有程式基礎,看著學生們在課堂中,從零開始拓展對資訊技術的認識,也逐步進入程式設計的領域,從中獲得很大的成就感,這也是這本書誕生的契機。
Ana Bell 博士在 MIT OpenCourseWare 網站上開設的 「Introduction to Computer Science and Programming in Python」課程,光在 Youtube 網站就有近百萬人次觀看,是目前最受歡迎的基礎程式課程之一。