Julia語言編程入門 Think Julia: How to Think Like a Computer Scientist

Ben Lauwens,Allen B.Downey

商品描述

從基本知識入手,包括語言語法和語義。
掌握各個編程概念的明確定義。
按照邏輯進度學習值、變量、語句、函數和數據結構。
了解如何使用文件和數據庫。理解類型、方法和多重分派。
使用調試技術修正語法錯誤、運行時錯誤和語義錯誤。
通過案例研究探索接口設計和數據結構。

作者簡介

Ben Lauwens

是比利時皇#家軍事學院的一位數學教授。
他擁有比利時天主教魯汶大學和皇#家軍事學院的工程博士和碩士學位,以及皇#家軍事學院的學士學位。

 

Allen B. Downey 

是美國歐林工程學院的計算機科學教授。
他曾在韋爾斯利學院、科爾比學院和加州大學伯克利分校任教。
他獲得了加州大學伯克利分校的計算機科學博士學位以及麻省理工學院的碩士和學士學位。

目錄大綱

目錄
前言 1
第1章程序之路9
什麼是程序?9
運行Julia 10
第#一個程序12
算術操作符12
值和類型13
形式語言和自然語言14
調試16
術語表17
練習19

第2章變量、表達式和語句21
賦值語句21
變量名22
表達式和語句23
腳本模式24
操作符優先級26
字符串操作27
註釋27
調試28
術語表29
練習31

第3章函數33
函數調用33
數學函數34
組合35
增加新函數36
定義和使用37
執行流38
形參和實參39
變量和形參是局部變量41
堆棧圖41
有返回值的函數和Void函數43
為什麼使用函數?44
調試45
術語表45
練習47

第4章案例研究:界面設計51
海龜繪圖51
簡單重複53
練習54
封裝56
泛化57
接口設計58
重構59
開發計劃61
Docstring 61
調試62
術語表63
練習64

第5章條件和遞歸67
向下取整除和求模67
布爾表達式68
邏輯操作符69
條件執行69
選擇執行70
串鏈條件71
嵌套條件71
遞歸73
遞歸函數的堆棧圖74
無限遞歸75
鍵盤輸入76
調試77
術語表78
練習80

第6章有返回值的函數85
返回值85
增量式開發87
組合90
布爾函數91
更多遞歸92
信仰飛躍95
另一個例子96
檢查類型96
調試98
術語表99
練習100

第7章迭代103
重新賦值103
更新變量105
while語句105
break 107
continue 108
*方根109
算法111
調試111
術語表112
練習113

第8章字符串117
字符117
字符串是一個序列118
length 119
遍歷120
字符串分片121
字符串是不可變的122
字符串插值123
查找124
循環和計數124
字符串庫125
∈操作符126
字符串比較127
調試127
術語表129
練習131

第9章案例研究:單詞遊戲135
讀取單詞列表135
查找138
利用索引循環140
調試142
術語表143
練習143

第10章數組147
數組是一個序列147
數組是可變的148
遍歷數組150
數組分片151
數組庫152
映射、過濾器和歸約153
點語法155
刪除(插入)元素155
數組和字符串157
對象和值158
別名159
數組參數161
調試163
術語表165
練習167

第11章字典171
字典是一個映射171
字典作為計數器集合174
循環和字典175
反向查找176
字典和數組178
備忘錄179
全局變量181
調試184
術語表185
練習187

第12章元組191
元組是不可變的191
元組賦值193
元組作為返回值194
變長參數元組195
數組和元組196
字典和元組199
序列的序列201
調試202
術語表202
練習203

第13章案例研究:數據結構選擇207
詞頻分析207
隨機數208
單詞直方圖210
#常用的單詞211
可選參數212
字典差213
隨機單詞214
馬爾科夫分析215
數據結構218
調試219
術語表221
練習222

第14章文件225
持久存儲225
讀和寫226
格式化227
文件名和路徑227
捕獲異常229
數據庫230
串行化232
命令對象233
模塊234
調試236
術語表237
練習238

第15章Struct和對象241
組合類型241
Struct是不可變的243
可變的Struct 243
矩形244
實例作為參數245
實例作為返回值247
拷貝248
調試249
術語表250
練習251

第16章Struct和函數253
時間253
純函數254
修改函數256
原型與規劃257
調試259
術語表260
練習261

第17章多重分派263
類型聲明263
方法264
另外一些例子266
構造函數267
show 269
操作符重載269
多重分派270
泛型編程271
接口和實現273
調試274
術語表274
練習276

第18章子類型277
撲克牌277
全局變量279
比較撲克牌279
單元測試280
一副牌281
增加、刪除、洗牌和排序282
抽像類型和子類型283
抽像類型和函數285
類型圖286
調試288
數據封裝289
術語表291
練習292

第19章精選:語法297
命名元組297
函數298
匿名函數298
關鍵字參數299
閉包300
塊300
控制流302
類型304
方法306
構造函數307
轉換和提升308
元編程309
缺失值311
調用C和Fortran代碼312
術語表313

第20章精選:Base和標準庫317
測量性能318
集合和數據結構318
數學321
字符串321
數組323
接口324
交互工具326
調試328
術語表329

第21章調試331
語法錯誤332
我一直在改,不過沒有區別333
運行時錯誤334
語義錯誤339
附錄A Unicode輸入343
附錄B JuliaBox 345