Unit 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 12
1.7 References and Recommended Readings 13
1.8 Summary 14
1.9 Practice Set 14
Unit 2 Number Systems and Conversions 16
2.1 Introduction 16
2.2 Positional Number Systems 17
2.3 Non-Positional Number Systems 26
2.4 References and Recommended Readings 27
2.5 Summary 28
2.6 Practice Set 28
Unit 3 Data Storage and Compression 30
3.1 Bit Pattern 30
3.2 Integer in Computer 31
3.3 Floating-Point in Computer 34
3.4 Data Storage 36
3.5 Cloud Storage and Big Data Storage 44
3.6 References and Recommended Readings 48
3.7 Summary 49
3.8 Practice Set 51
Unit 4 Data Operations 54
4.1 Logical Operations 54
4.2 Arithmetic Operations 59
4.3 Shift Operations 64
4.4 References and Recommended Readings 66
4.5 Summary 66
4.6 Practice Set 67
Unit 5 Computer Components 70
5.1 Three Main Components 70
5.2 Components Interconnection 80
5.3 Machine Cycle 82
5.4 Computer Architectures 83
5.5 References and Recommended Readings 84
5.6 Summary 85
5.7 Practice Set 86
Unit 6 Computer Networks 88
6.1 Types of Networks 88
6.2 TCP/IP Model 91
6.3 Devices in Networks 95
6.4 New Development in Networks 96
6.5 References and Recommended Readings 104
6.6 Summary 104
6.7 Practice Set 106
Unit 7 Operating Systems 108
7.1 Categories 109
7.2 Components 111
7.3 Popular Operating Systems 118
7.4 References and Recommended Readings 121
7.5 Summary 121
7.6 Practice Set 122
Unit 8 Algorithm 125
8.1 What Is Algorithm? 125
8.2 Three Constructs 126
8.3 How to Evaluate Algorithms 127
8.4 Algorithm Representation 128
8.5 Basic Algorithms 129
8.6 Classification of Algorithm 136
8.7 References and Recommended Readings 140
8.8 Summary 140
8.9 Practice Set 141
Unit 9 Programming Languages 143
9.1 Development 143
9.2 Program Translation 145
9.3 Languages'Latest Ranking,Categories and Features 146
9.4 Common Concepts of Programming Languages 151
9.5 Severe Software Errors 153
9.6 References and Recommended Readings 156
9.7 Summary 156
9.8 Practice Set 157
Unit 10 Software Engineering 159
10.1 Introduction 159
10.2 Software Development Life Cycle 160
10.3 Software Development Models 165
10.4 CMMI and Software Process Management 167
10.5 Importance of Documentation 169
10.6 Service-Oriented Architecture 170
10.7 References and Recommended Readings 170
10.8 Summary 171
10.9 Practice Set 172
Unit 11 Data and File Structures 173
11.1 Abstract Data Types 173
11.2 List 174
11.3 Stack 177
11.4 Queue 177
11.5 Tree and Graph 178
11.6 File Structure 180
11.7 References and Recommended Readings 184
11.8 Summary 184
11.9 Practice Set 185
Unit 12 Databases 187
12.1 Introduction 187
12.2 Database Management Systems 188
12.3 Database Architecture 189
12.4 The History of Database Systems 189
12.5 Database Model 191
12.6 Relational Operations 195
12.7 Databases for Big Data 196
12.8 References and Recommended Readings 197
12.9 Summary 198
12.10 Practice Set 198
Unit 13 Security 200
13.1 Security Goals 200
13.2 Security Threats 201
13.3 Security Services 206
13.4 Cryptography 210
13.5 References and Recommended Readings 215
13.6 Summary 215
13.7 Practice Set 216
Unit 14 Theory of Computation 218
14.1 The Turing Machine 218
14.2 Halting Problem 222
14.3 Solvable Problems 224
14.4 References and Recommended Readings 225
14.5 Summary 226
14.6 Practice Set 226
Unit 15 Artificial Intelligence 228
15.1 Introduction 228
15.2 Knowledge Representation and Expert Systems 229
15.3 Perception 231
15.4 Reasoning 238
15.5 Nature Inspired Computation 242
15.6 References and Recommended Readings 247
15.7 Summary 248
15.8 Practice Set 248
Unit 16 Internet of Things,Cloud Computing and Data Science 250
16.1 Introduction 250
16.2 Opportunities in IoT,Cloud,and Data Science 254
16.3 Challenges and Research Directions 257
16.4 IoT Applications 260
16.5 Cloud Application Service Models 261
16.6 Cloud Application Deployment Models 262
16.7 Big Data Tools and Techniques 263
16.8 Integration of IoT,Cloud Computing,and Big Data 264
16.9 References and Recommended Readings 265
16.10 Summary 266
16.11 Practice Set 267