基本介紹
內容簡介
《Python計算與編程實踐:多媒體方法(原書第2版)》適合用做計算機專業導論課或非計算機專業編程課程的教材,也可用做軟體開發人員學習計算機數字多媒體處理知識和Python語言的專業參考書。《Python計算與編程實踐:多媒體方法(原書第2版)》是由機械工業出版社出版。
作者簡介
作者:(美國)古茲迪阿爾(Mark Guzdial) (美國)埃里克森(Barbara Ericson) 譯者:王江平
古茲迪阿爾(Mark Guzdial),是喬治亞理工學院計算機學院互動式計算專業的教授。他是ACM國際計算機教育研究系列研討會的創立者之一。ACM教育委員會副主席, “Journal of the Learning Sciences”和“Communications of the ACM”編委會委員。Guzdial博士主要關注計算機教育方面的研究。他的第一本著作論述Squeak語言及其在教育中的套用。他是Swiki(Squeak Wiki)的早期開發者。Swiki是第一個專門用於學校的wiki。他出版了多本關於利用多媒體編程環境學習計算機編程的著作。影響了世界各地的計算機本科生教學。
埃里克森(Barbara Ericson),是喬治亞理工學院計算機學院“計算機普及”課程的主管和研究人員。她從2004年開始就致力於改善計算機基礎教育,現在是計算機科學教師協會的師範教育代表,美國女性信息技術中心K-12聯盟的合作主席,計算機科學AP考試開發委員會成員。她的研究興趣涉及計算機圖形學、人工智慧和面向對象編程等多個領域。
圖書目錄
出版者的話
譯者序
第2版前言
第1版前言
第一部分 導論
第1章 計算機科學與媒體計算導論
1.1 計算機科學是關於什麼的
1.2 程式語言
1.3 計算機理解什麼
1.4 媒體計算:為什麼要把媒體數位化
1.5 大眾的計算機科學
1.5.1 計算機科學與交流有關
1.5.2 計算機科學與過程有關
習題
第2章 編程導論
2.1 編程與命名有關
2.2 Python編程
2.3 JES編程
2.4 JES媒體計算
2.4.1 顯示圖片
2.4.2 播放聲音
2.4.3 數值命名
2.5 構建程式
習題
第3章 使用循環修改圖片
3.1 圖片的編碼
3.2 處理圖片
3.3 改變顏色值
3.3.1 在圖片上運用循環
3.3.2 增/減紅(綠、藍)
3.3.3 測試程式:它真的能運行嗎
3.3.4 一次修改一種顏色
3.4 製作日落效果
3.5 亮化和暗化
3.6 製作底片
3.7 轉換到灰度
習題
第4章 修改區域中的像素
4.1 複製像素
4.2 圖片鏡像
4.3 複製和轉換圖片
4.3.1 複製
4.3.2 製作拼貼圖
4.3.3 通用複製
4.3.4 旋轉
4.3.5 縮放
習題
第5章 高級圖片技術
5.1 顏色替換:消除紅眼、深褐色調和色調分離
5.1.1 消除紅眼
5.1.2 深褐色調和色調分離:使用條件式選擇顏色
5.2 合併像素:圖片模糊化
5.3 比較像素:邊緣檢測
5.4 圖片融合
5.5 背景消減
5.6 色鍵
5.7 在圖像上繪圖
5.7.1 使用繪圖命令
5.7.2 向量和點陣圖表示
5.8 指定繪圖過程的程式
習題
第二部分 聲音
第6章 使用循環修改聲音
6.1 聲音是如何編碼的
6.1.1 聲音的物理學
6.1.2 探索聲音的樣子
6.1.3 聲音編碼
6.1.4 二進制數和二進制補碼
6.1.5 存儲數位化的聲音
6.2 處理聲音
6.2.1 打開聲音並處理樣本數據
6.2.2 使用JES媒體工具
6.2.3 循環
6.3 改變音量
6.3.1 增大音量
6.3.2 真的行嗎
6.3.3 減小音量
6.3.4 理解聲音函式
6.4 聲音規格化
習題
第7章 修改一段樣本區域
7.1 用不同方法處理不同聲音片段
7.2 剪接聲音
7.3 通用剪輯和複製
7.4 聲音倒置
7.5 鏡像
習題
第8章 通過合併片段製作聲音
8.1 用加法組合聲音
8.2 混合聲音
8.3 製造回聲
8.3.1 製造多重回聲
8.3.2 製作和弦
8.4 採樣鍵盤工作原理
8.5 加法合成
8.5.1 製作正弦波
8.5.2 把正弦波疊加起來
8.5.3 檢查結果
8.5.4 方波
8.5.5 三角波
8.6 現代音樂合成
8.6.1 MP3
8.6.2 MIDI
習題
第9章 構建更大的程式
9.1 自頂向下設計程式
9.1.1 自頂向下設計示例
9.1.2 設計頂層函式
9.1.3 編寫子函式
9.2 自底向上設計程式
9.3 測試程式
9.4 調試技巧
9.4.1 找出擔心的語句
9.4.2 查看變數
9.4.3 調試冒險遊戲
9.5 算法和設計
9.6 在JES之外運行程式
習題
第三部分 文本、檔案、網路、
資料庫和單媒體
第10章 創建和修改文本
10.1 文本作為單媒體
10.2 字元串:構造和處理字元串
10.3 處理部分字元串
10.3.1 字元串方法:對象和點號語法簡介
10.3.2 列表:強大的結構化文本
10.3.3 字元串沒有字型
10.4 檔案:存放字元串和其他數據的地方
10.4.1 打開檔案和操作檔案
10.4.2 製作套用信函
10.4.3 編寫程式
10.5 Python標準庫
10.5.1 再談導入和私有模組
10.5.2 另一個有趣模組:Random
10.5.3 Python標準庫的例子
習題
第11章 高級文本技術:Web和信息
11.1 網路:從Web獲取文本
11.2通過文本轉換不同媒體
11.3 在圖片中隱藏信息
習題
第12章 產生Web文本
12.1 HTML:Web的表示方法
12.2 編寫程式產生HTML
12.3 資料庫:存放文本的地方
12.3.1 關係型資料庫
12.3.2 基於散列表的關係型資料庫示例
12.3.3 使用SQL
12.3.4 使用資料庫構建Web頁面
習題
第四部分 電影
第13章 製作和修改電影
13.1 產生動畫
13.2 使用視頻源
13.3 自底向上製作視頻效果
習題
第五部分 計算機科學議題
第14章 速度
14.1 關注計算機科學
14.2 什麼使程式速度更快
14.2.1 什麼是計算機真正理解的
14.2.2 編譯器和解釋器
14.2.3 什麼限制了計算機的速度
14.2.4 讓查找更快
14.2.5 永不終止和無法編寫出的算法
14.2.6 為什麼Photoshop比JES更快
14.3 什麼使計算機速度更快
14.3.1 時鐘頻率和實際的計算
14.3.2 存儲:什麼使計算機速度慢
14.3.3 顯示
習題
第15章 函式式編程
15.1 使用函式簡化編程
15.2 使用Map和Reduce進行函式式編程
15.3 針對媒體的函式式編程
15.4 遞歸:一種強大的思想
15.4.1 遞歸式目錄遍歷
15.4.2 遞歸式媒體函式
習題
第16章 面向對象編程
16.1 對象的歷史
16.2 使用“小海龜”
16.2.1 類和對象
16.2.2 創建對象
16.2.3 向對象傳送訊息
16.2.4 對象控制自己的狀態
16.2.5 小海龜的其他函式
16.3 教小海龜新的技藝
16.4 面向對象的幻燈片
16.4.1 Joe the Box
16.4.2 面向對象的媒體
16.4.3 為什麼使用對象
習題
附錄A Python快速參考
參考文獻