本書用英中雙語寫成,系統(tǒng)而又概要地介紹了計(jì)算機(jī)學(xué)科的定義、范疇、特點(diǎn)以及發(fā)展與變化的規(guī)律等。本課程的目的不是讓學(xué)生學(xué)習(xí)大量具體的專業(yè)知識(shí),而是針對(duì)所有對(duì)計(jì)算機(jī)感興趣的學(xué)生進(jìn)行入門性導(dǎo)引。全書由16章組成,分為6大部分:前言與緒論,數(shù)據(jù)表示與操作,計(jì)算機(jī)硬件,計(jì)算機(jī)軟件, 數(shù)據(jù)組織與抽象以及高級(jí)與前沿專題(比如,物聯(lián)網(wǎng)、云計(jì)算,大數(shù)據(jù)等),涵蓋了計(jì)算機(jī)科學(xué)各個(gè)領(lǐng)域(包括*新領(lǐng)域)的*新進(jìn)展、 所有的經(jīng)典與豐富的前沿主題,以及跨學(xué)科、跨行業(yè)的應(yīng)用,可以拓展讀者的知識(shí)視野,能夠幫助他們較全面地了解計(jì)算機(jī)科學(xué)的學(xué)科特點(diǎn)與發(fā)展現(xiàn)狀,為今后深入學(xué)習(xí)計(jì)算機(jī)科學(xué)的各門專業(yè)課程打下基礎(chǔ)。本書每一章末尾都包含本章小結(jié),附有一定量的參考讀物,包括部分*新的文獻(xiàn),以及一定量的練習(xí),以幫助學(xué)生鞏固已學(xué)的知識(shí)和課后進(jìn)行深入的探討。
華南理工大學(xué)英籍教授(教育部引進(jìn),千人計(jì)劃評(píng)審專家,留英長(zhǎng)達(dá)16年),博導(dǎo),獲倫敦大學(xué)(UCL)計(jì)算機(jī)模擬與仿真博士學(xué)位,發(fā)表論文110多篇,近90多篇發(fā)表在國(guó)外英文期刊上,主持過歐共體,國(guó)家“863”,省部級(jí)等重點(diǎn)科研項(xiàng)目
PREFACE 1
1 INTRODUCTION 1
1.1 WHAT IS COMPUTER SCIENCE? 1
1.2 VON NEUMANN MODEL 1
1.3 COMPUTER COMPONENTS 2
1.4 HISTORY AND DEVELOPMENT TRENDS 3
1.5 FRONTIERS OF COMPUTER TECHNOLOGY 5
1.6 MAJOR FIELDS OF COMPUTER SCIENCE 13
1.7 REFERENCES AND RECOMMENDED READINGS 14
1.8 SUMMARY 14
1.9 PRACTICE SET 15
2 NUMBER SYSTEMS AND CONVERSIONS 16
2.1 INTRODUCTION 16
2.2 POSITIONAL NUMBER SYSTEMS 17
2.3 NON-POSITIONAL NUMBER SYSTEMS 28
2.4 REFERENCES AND RECOMMENDED READINGS 29
2.5 SUMMARY 29
2.6 PRACTICE SET 30
3 DATA STORAGE AND COMPRESSION 32
3.1 BIT PATTERN 32
3.2 INTEGER IN COMPUTER 33
3.3 FLOATING-POINT IN COMPUTER 36
3.4 DATA STORAGE 39
3.5 CLOUD STORAGE AND BIG DATA STORAGE 50
3.6 REFERENCES AND RECOMMENDED READINGS 54
3.7 SUMMARY 55
3.8 PRACTICE SET 56
4 DATA OPERATIONS 59
4.1 LOGICAL OPERATIONS 59
4.2 ARITHMETIC OPERATIONS 66
4.3 SHIFT OPERATIONS 71
4.4 REFERENCES AND RECOMMENDED READINGS 74
4.5 SUMMARY 74
4.6 PRACTICE SET 75
5 COMPUTER COMPONENTS 78
5.1 THREE MAIN COMPONENTS 78
5.2 COMPONENTS INTERCONNECTION 89
5.3 MACHINE CYCLE 90
5.4 COMPUTER ARCHITECTURES 91
5.5 REFERENCES AND RECOMMENDED READINGS 92
5.6 SUMMARY 93
5.7 PRACTICE SET 94
6 COMPUTER NETWORKS 96
6.1 TYPES OF NETWORKS 96
6.2 TCP/IP MODEL 99
6.3 DEVICES IN NETWORKS 103
6.4 NEW DEVELOPMENT IN NETWORKS 105
6.5 REFERENCES AND RECOMMENDED READINGS 113
6.6 SUMMARY 113
6.7 PRACTICE SET 115
7 OPERATING SYSTEMS 117
7.1 CATEGORIES 117
7.2 COMPONENTS 119
7.3 POPULAR OPERATING SYSTEMS 127
7.4 REFERENCES AND RECOMMENDED READINGS 131
7.5 SUMMARY 131
7.6 PRACTICE SET 132
8 ALGORITHM 135
8.1 WHAT IS ALGORITHM? 135
8.2 THREE CONSTRUCTS 136
8.3 HOW TO EVALUATE ALGORITHMS 137
8.4 ALGORITHM REPRESENTATION 138
8.5 BASIC ALGORITHMS 139
8.6 CLASSIFICATION OF ALGORITHM 148
8.7 REFERENCES AND RECOMMENDED READINGS 152
8.8 SUMMARY 152
8.9 PRACTICE SET 153
9 PROGRAMMING LANGUAGES 155
9.1 DEVELOPMENT 155
9.2 PROGRAM TRANSLATION 157
9.3 LANGUAGES’ LATEST RANKING, CATEGORIES AND FEATURES 158
9.4 COMMON CONCEPTS OF PROGRAMMING LANGUAGES 164
9.5 SEVERE SOFTWARE ERRORS 166
9.6 REFERENCES AND RECOMMENDED READINGS 169
9.7 SUMMARY 170
9.8 PRACTICE SET 170
10 SOFTWARE ENGINEERING 172
10.1 INTRODUCTION 172
10.2 SOFTWARE DEVELOPMENT LIFE CYCLE 173
10.3 SOFTWARE DEVELOPMENT MODELS 179
10.4 CMMI AND SOFTWARE PROCESS MANAGEMENT 182
10.5 IMPORTANCE OF DOCUMENTATION 184
10.6 SERVICE-ORIENTED ARCHITECTURE 185
10.7 REFERENCES AND RECOMMENDED READINGS 185
10.8 SUMMARY 186
10.9 PRACTICE SET 187
11 DATA AND FILE STRUCTURES 188
11.1 ABSTRACT DATA TYPES 188
11.2 LIST 189
11.3 STACK 192
11.4 QUEUE 192
11.5 TREE AND GRAPH 193
11.6 FILE STRUCTURE 197
11.7 REFERENCES AND RECOMMENDED READINGS 200
11.8 SUMMARY 201
11.9 PRACTICE SET 201
12 DATABASES 203
12.1 INTRODUCTION 203
12.2 DATABASE MANAGEMENT SYSTEMS 205
12.3 DATABASE ARCHITECTURE 205
12.4 THE HISTORY OF DATABASE SYSTEMS 206
12.5 DATABASE MODEL 208
12.6 RELATIONAL OPERATIONS 213
12.7 DATABASES FOR BIG DATA 214
12.8 REFERENCES AND RECOMMENDED READINGS 215
12.9 SUMMARY 216
12.10 PRACTICE SET 217
13 SECURITY 219
13.1 SECURITY GOALS 219
13.2 SECURITY THREATS 220
13.3 SECURITY SERVICES 225
13.4 CRYPTOGRAPHY 230
13.5 REFERENCES AND RECOMMENDED READINGS 234
13.6 SUMMARY 235
13.7 PRACTICE SET 237
14 THEORY OF COMPUTATION 239
14.1 THE TURING MACHINE 239
14.2 HALTING PROBLEM 244
14.3 SOLVABLE PROBLEMS 246
14.4 REFERENCES AND RECOMMENDED READINGS 248
14.5 SUMMARY 248
14.6 PRACTICE SET 248
15 ARTIFICIAL INTELLIGENCE 250
15.1 INTRODUCTION 250
15.2 KNOWLEDGE REPRESENTATION AND EXPERT SYSTEMS 251
15.3 PERCEPTION 253
15.4 REASONING 262
15.5 NATURE INSPIRED COMPUTATION 266
15.6 REFERENCES AND RECOMMENDED READINGS 271
15.7 SUMMARY 272
15.8 PRACTICE SET 273
16 INTERNET OF THINGS, CLOUD COMPUTING AND DATA SCIENCE 274
16.1 INTRODUCTION 274
16.2 OPPORTUNITIES IN IOT, CLOUD, AND DATA SCIENCE 279
16.3 CHALLENGES AND RESEARCH DIRECTIONS 281
16.4 IOT APPLICATIONS 284
16.5 CLOUD APPLICATION SERVICE MODELS 286
16.6 CLOUD APPLICATION DEPLOYMENT MODELS 287
16.7 BIG DATA TOOLS AND TECHNIQUES 287
16.8 INTEGRATION OF IOT, CLOUD COMPUTING, AND BIG DATA 289
16.9 REFERENCES AND RECOMMENDED READINGS 291
16.10 SUMMARY 291
16.11 PRACTICE SET 292