本书用英中双语写成,系统而又概要地介绍了计算机学科的定义、范畴、特点以及发展与变化的规律等。本课程的目的不是让学生学习大量具体的专业知识,而是针对所有对计算机感兴趣的学生进行入门性导引。全书由16章组成,分为6大部分:前言与绪论,数据表示与操作,计算机硬件,计算机软件, 数据组织与抽象以及高级与前沿专题(比如,物联网、云计算,大数据等),涵盖了计算机科学各个领域(包括*新领域)的*新进展、 所有的经典与丰富的前沿主题,以及跨学科、跨行业的应用,可以拓展读者的知识视野,能够帮助他们较全面地了解计算机科学的学科特点与发展现状,为今后深入学习计算机科学的各门专业课程打下基础。本书每一章末尾都包含本章小结,附有一定量的参考读物,包括部分*新的文献,以及一定量的练习,以帮助学生巩固已学的知识和课后进行深入的探讨。
华南理工大学英籍教授(教育部引进,千人计划评审专家,留英长达16年),博导,获伦敦大学(UCL)计算机模拟与仿真博士学位,发表论文110多篇,近90多篇发表在国外英文期刊上,主持过欧共体,国家“863”,省部级等重点科研项目
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