---
# System prepended metadata

title: 目錄
tags: [Old Version]

---

---
tags: Old Version
---

:::info
Table of contents (https://gitlab.com/aesthetic-programming/book/-/blob/master/source/Table_Of_Contents.md)
:::

# 目錄

## 前言

– 這是一本什麼樣的書？What kind of book is this? 13 
– 為何而美感程式設計？Why aesthetic programming? 14 
– 那麼軟體研究什麼？And software studies? 16 
– 開放式出版 Open publishing 17 
– 內容的次序：流程圖 Flow of contents 18 
– 書本物 The book object 21 
– 註釋 Notes 22 

## 關於設計 Design notes

– 書籍排版 Book layout 25 
– 字體採用 Fonts 25 

## 1. 準備開始吧 Getting started

– 設置（）setup() 29 
– 開始（）start() 30 
– 工作環境 Working environment 31 
	– p5.js 32 
	– 編輯器 Code editor 33 
– 我的第一個程式 My first program 35 
– 課堂練習 Exercise in class 36 
	– 在網頁控制台讀取「Hello World」Reading the web console “Hello World” 37 
– 閱讀參考說明 Reading the reference guide 39 
– Git 42 
– 儘管（）While() 44 
– 迷你習作：執行檔及閱讀檔 MiniX: RunMe and ReadMe 46 
– 必讀Required reading 47 
– 延伸閱讀 Further reading 47 
– 註釋 Notes 48 

## 2. 變數幾何 Variable geometry

– 設置（）setup() 53 
– 開始（）start() 55 
– 原始碼 Source code 56 
– 座標 Coordinates 58 
– 課堂練習 Exercise in class 58 
– 變數 Variables 60 
	– 為何使用變數？Why use variables? 62 
– 其他函式 Other functions 63 
– 條件結構 Conditional structures 63 
	– 關係運算子 Relational operators 64 
– 基本算術運算子 Basic arithmetic operators 65 
– 隨堂討論 Discussion in class 66 
– 儘管（）While() 66 
– 迷你習作：幾何表情符號 MiniX: Geometric emoji 68 
– 必讀 Required reading 69 
– 延伸閱讀 Further reading 69 
– 註釋 Notes 70 

## 3. 無窮迴圈 Infinite loops

– 設置（）setup() 73 
– 開始（）start() 74 
– 課堂練習（解碼）Exercise in class (Decode) 75 
– 原始碼 Source code 77 
– 函式 Function 78 
– 課堂練習 Exercise in class 79 
– 轉化 Transform 79 
	– push() and pop() 81 
– 課堂練習 Exercises in class 83 
– 星號繪畫 Asterisk Painting 83 
	– 原始碼 Source code 84 
– 課堂練習 Exercise in class 86 
– 陣列 Arrays 87
– 條件語句 Conditional statements 89 
– 迴圈 Loops 89 
– 儘管（）While() 92 
– 迷你習作：設計一個跳動者 MiniX: Designing a throbber 93 
– 必讀 Required reading 94 
– 延伸閱讀 Further reading 95 
– 註釋 Notes 96 

## 4. 數據採集 Data capture

– 設置（）setup() 99 
– 開始（）start() 100
– 課堂練習（解碼）Exercise in class (Decode) 101 
– 原始碼 Source code 101
– 文件物件模型的元素：建立按鈕、賦予造型 DOM elements: creating and styling a button 103 
– 採集鼠標 Mouse capture 104 
– 採集鍵盤 Keyboard capture 105 
– 採集聲音 Audio capture 106 
– 採集影像／臉部 Video/Face capture 107 
– 課堂練習 Exercise in class 110 
– 採集的概念 The concept of capture 111 
	– 網頁分析與熱圖 Web analytics and heatmap 111 
	– 表格元素 Form elements 112 
	– 讚的度量衡Metrics of likes 113 
	– 語音與聲響數據 Voice and audio data 114 
	– 健康追蹤器 Health tracker 115 
– 儘管（）While() 115 
– 迷你習作：採集一切 MiniX: Capture All 117 
– 必讀 Required reading 118 
– 延伸閱讀 Further reading 118 
– 註釋 Notes 119 

## 5. 自動生產器 Auto-generator

– 設置（）setup() 123 
– 開始（）start() 126 
– 課堂練習（10 PRINT）Exercise in class (10 PRINT) 127 
– 蘭頓螞蟻 Langton’s Ant 128 
	– 原始碼 Source code (Langton’s Ant) 131 
	– 閱讀蘭頓螞蟻Reading Langton’s Ant 133 
– 二維陣列與巢狀for迴圈 Two-dimensional arrays & nested for-loops 134 
– 課堂練習 Exercise in class 135 
– 儘管 While() 136 
– 迷你習作：生產器程式MiniX: A generative program 139 
– 必讀 Required reading 140 
– 延伸閱讀 Further reading 140 
– 註釋 Notes 141 

## 6. 物件抽象化 Object abstraction

– 設置（）setup() 145 
– 開始（）start() 146 
– 課堂習作（解碼）Exercise in class (Decode) 148 
– 原始碼Source code 149
– 階級 Class 153 
– 物件 Objects 154 
– 創建物件－階級 Class-Object creation 158 
– 課堂習作 Exercise in class 158 
– 延伸筆記 Further notes 159 
– 儘管（）While() 160 
– 迷你習作：物件遊戲 MiniX: Games with objects 162 
– 必讀 Required reading 163 
– 延伸閱讀 Further reading 163 
– 註釋 Notes 164 

## 7. 語音程式碼 Vocable code

– 設置（）setup() 167 
– 開始（）start() 168 
– 課堂練習（解碼）Exercise in class (Decode) 169 
– 質地 Textuality 171 
	– 屬性 Type 172 
– 條件結構 Conditional structure 173 
– JavaScript 物件標註 JSON 175 
– 原始碼 Source code 178 
– 課堂練習 Exercise in class 180 
– 儘管（）While() 181 
– 迷你練習：E-lit MiniX: E-lit 184 
– 必讀 Required reading 185 
– 延伸閱讀 Further reading 185 
– 註釋 Notes 186 

## 8. 查詢（酷兒）數據 Que(e)ry data

– 設置（）setup() 189 
– 開始（）start() 190 
– 課堂練習 Exercise in class 190 
– 影像處理：取得、載入、顯示 Image processing: fetching, loading and display 191 
– 原始碼 Source code 193 
– 練習：進入網頁應用程式介面（一步一步來） Exercise: accessing web APIs (step by step) 194 
– 應用程式介面 APIs 196 
	– 查詢（酷兒）數據 Que(e)rying data 197 
– 課堂練習 Exercise in class 200 
– 載入像素（）LoadPixels() 201
– 不同種類的蟲 Different types of bugs 204 
– 儘管（）While() 205 
– 迷你習作：和應用程式介面一起工作（團體） MiniX: Working with APIs (in a group) 207 
– 必讀 Required reading 208 
– 延伸閱讀 Further reading 208 
– 註釋 Notes 209 

## 9. 演算法過程 Algorithmic procedures

– 設置（）setup() 213 
– 開始（）start() 214 
– 隨堂討論 Discussion in class 214 
– 流程圖 Flowcharts 215 
– 課堂練習 Exercise in class 217 
	– 練習一 Exercise 1 217 
	– 練習二 Exercise 2 217 
– 流程圖作為一個藝術媒介 Flowcharts as an artistic medium 218 
– 儘管（）While() 220 
– 迷你練習：流程圖 MiniX: Flowcharts 222 
– 必讀 Required reading 223 
– 延伸閱讀 Further reading 223 
– 註釋 Notes 224 

## 10. 機器反學習 Machine unlearning

– 設置（）setup() 229 
– 開始（）start() 231 
– 介於輸入與輸出之間 Between input and output 231 
– 課堂練習 Exercise in class 232 
– 學習演算法Learning algorithms 233 
– ml5.js 函數庫 ml5.js library 237 
– 原始碼 Source code 238 
	– 閱讀章節自動生產器 Reading Auto Chapter Generator 241 
– 課堂練習 Exercise in class 243 
– 儘管（）While() 243 
– 迷你練習 MiniX: final project 246 
– 必讀 Required reading 248 
– 延伸閱讀 Further reading 248 
– 註釋 Notes 249

## 後記：反復出現的想像 Afterword: Recurrent imaginaries

– 設置（） setup() 261 
– 開始（） start() 262 
– 環磷酰胺 Cyposate 262 
– 原始碼 Source code 263 
	– p5 陷阱 p5.trapgares 263 
– 風格（） Style() 263 
– 臉部文字 Facial literale 264 
– 已加載；這部分 Loaded; the section 264 
– 純程式碼 NaveCode 264 
	– 推送和宣示 push and statement 265 
– 課堂練習 Exercise in class 266 
– 學習 Learning 266 
– 翻譯然後填充響應值區域 Translate then filled respond value areas 267 
– 結構體 structure 267 
– 大馬三 Omazo 268 
– 打開 Open 269 
– 儘管（）While() 269 
– 迷你練習：幾何圓盤介導的 MiniX: Geometric disclmmediated mobinal 270 
– 必讀 Required reading 272 
– 延伸閱讀 Further reading 272
– 註釋 Notes 273 

## 參考書目 Biliography
## 計畫列表 List of Projects
## 致謝 Acknowledgments
## 版權頁標記 Colophon
