1 Introduction to Computer Science and Technology 1
1.1 Introduction to the Computer Science and Technology Discipline 1
1.2 Computer Science and Technology as a Discipline in China 4
1.3 Related Courses 7
1.4 Prospects of Computer Science and Technology 9
2 Fundamentals of Computer Hardware 11
2.1 Organization of Computer System 11
2.1.1 System Buses 11
2.1.2 CPU Organizations 13
2.1.3 Memory Subsystem Organizations 14
2.1.4 I/O Subsystem Organizations 16
2.2 History of Computer 18
2.3 Computer Interface 21
2.3.1 The Internal Interfacing 21
2.3.2 The External Interfacing 22
2.3.3 DMA 23
3 Operating System 26
3.1 Introduction 26
3.1.1 What is an Operating System 27
3.1.2 The Evolution of Operating Systems 31
3.2 The Disk Operating System 33
3.2.1 Parts of DOS 33
3.2.2 Starting a Computer 35
3.2.3 DOS Command Format 36
3.2.4 Simple DOS Commands 37
3.2.5 Disk Formatting 38
3.2.6 Dealing with Files 40
3.3 Windows 2000 44
3.3.1 History 44
3.3.2 Design Principles 46
3.3.3 System Components 48
3.4 UNIX Operating System 59
3.4.1 History of the UNIX Operating System 60
3.4.2 The uniqueness of UNIX 60
3.4.3 How UNIX is Organized 62
3.4.4 About UNIX Commands 64
4 Programming 71
4.1 Introduction to Programming 71
4.1.1 What Is Programming 71
4.1.2 How Do We Writer a Program 72
4.1.3 Programming Paradigms 76
4.2 Programming Languages 80
4.2.1 Early Generation 80
4.2.2 Selecting a Programming Language 84
4.3 Object-Oriented Programming 89
4.3.1 Objects 91
4.3.2 Classes 92
4.3.3 Inheritance 93
4.3.4 Some Real Life Examples 95
5 Design and Analysis of Algorithms 99
5.1 The Role of Algorithms in Computing 99
5.1.1 Algorithms 99
5.1.2 Algorithms as a Technology 104
5.2 Analyzing Algorithms 109
5.2.1 Analysis of Insertion Sort 111
5.2.2 Worst-Case and Average-Case Analysis 114
5.2.3 Order of Growth 115
5.2.4 Growth of Functions 115
5.3 Designing Algorithms 123
5.3.1 The Divide-and-Conquer Approach 123
5.3.2 Analyzing Divide-and-Conquer Algorithms 127
6 Parallel Processing 132
6.1 Introduction 132
6.1.1 Computational Demands of Contemporary Science 133
6.1.2 Advent of Practieal Parallel Processing 135
6.1.3 Some Basic Parallel Algorithms 136
6.2 Parallel Algorithm Design 142
6.2.1 Partitioning 144
6.2.2 Communication 144
6.2.3 Agglomeration 146
6.2.4 Mapping 146
6.3 Applications of Parallel Processing-Mandelbrot Set 150
7 Data Mining and Applications 162
7.1 Basic Concepts 162
7.1.1 Date Mining 162
7.1.2 Database,Data Warehouse and Data Mart 165
7.2 Data Mining Process 171
7.2.1 How Data Mining Works 171
7.2.2 Date Mining Process 174
7.2.3 Date Mining Terminology 177
7.3 Data Mining Model 178
7.3.1 Decision Trees 178
7.3.2 Genetic Algorithms 179
7.3.3 Neural Nets 180
7.3.4 Agent Network Technology 180
7.3.5 Hybrid Models 181
7.3.6 Statistics 181
7.4 Data Mining Applications 183
7.4.1 Data Mining Application Field 183
7.4.2 Data Mining Case Studies 185
7.4.3 Data Mining Application Through Data Warehouses 186
8 Image Processing and Machine Vision 191
8.1 Introduction 191
8.1.1 Image Technology 191
8.1.2 Digital Image Definitions 194
8.2 Image Processing Algorithm 198
8.2.1 Tools 198
8.2.2 Mathematics-based Operations 201
8.2.3 Convolution-based Operations 203
8.2.4 Smoothing Operations 204
8.3 Compression or Decompression Techniques 208
8.3.1 Two Basic Types of Compression 208
8.3.2 Image Compression/Decompression Development 210
8.4 Object Recognition 214
8.4.1 Description 214
8.4.2 Key Features for Object Recognition 215
8.5 3D Vision and Applications 217
8.5.1 Basic Concept 217
8.5.2 Applications 217
9 Computer Networks and Communications 220
9.1 Data Communications 220
9.1.1 Fundamentals of Data and Signals 221
9.1.2 The Media of Transmission 222
9.1.3 Multiplexing 225
9.1.4 Making Connections 230
9.2 Computer Networks 233
9.2.1 Understand Networking Concepts 233
9.2.2 Local Area Networks 234
9.2.3 Wide Area Networks 237
9.2.4 The Internet 239
9.3 Broadband Integrated Services Digital Network(BISDN) 243
9.3.1 Introduction 243
9.3.2 A Brief History 243
9.3.3 Broadband ISDN Services 244
9.4 Asvnchronous Transfer Mode(ATM) 246
9.4.1 Basic Concepts in ATM 247
9.4.2 ATM Standards 248
9.4.3 ATM Switching 249
9.4.4 ATM Networks 251
9.4.5 ATM Applications 254
10 Information and Network Security 257
10.1 Security Problem in Computer System 257
10.1.1 Introduction 257
10.1.2 Different Types Of Network Security 258
10.2 Some Approaches to Defense 260
10.2.1 Basic Security Measures 260
10.2.2 Standard System Attacks 268
10.2.3 Basic Encryption and Decryption Techniques 270
10.2.4 Public Key Infrastructure 278
10.2.5 Firewalls 281
10.2.6 Security Policy Design Issues 285
11 Electronic Commerce 289
11.1 Introduction 289
11.1.1 What Is E-Commerce 290
11.1.2 The Role of Strategy in E-Commerce 295
11.2 Value Chains in E-Commerce 297
11.2.1 Value Chains in E-Commerce 297
11.2.2 Integrating E-Commerce 299
11.3 Applications of Electronic Commerce 305
11.3.1 Applications of Electronic Commerce 305
11.3.2 Unique Benefits of E-Commerce 307
11.4 Advantages and Limitations of E-Commerce 314
11.4.1 Advantages 315
11.4.2 Limitations 318
12 Internet Congestion Control 321
12.1 Introduction 321
12.1.1 The Problem of Congestion 323
12.1.2 The Threat of Congestion Collapse 324
12.1.3 TCP Friendliness 324
12.2 Classification of Congestion Control Schemes 326
12.2.1 Window-Based vs.Rate-Based 327
12.2.2 Unicast vs.Multicast 327
12.2.3 Single-Rate vs.Multirate 328
12.2.4 End to End vs.Router-Supported 329
12.3 Congestion Control Mechanisms 331
12.3.1 End-to-End Flow Control 335
12.3.2 Feedback Mechanisms 335
12.3.3 Implicit Feedback 335
12.3.4 Explicit Feedback 335
12.3.5 Scheduling Mechanisms 336
12.3.6 Buffer and Queue Management Mechanisms 338
12.3.7 Buffer Management 339
12.3.8 Queue Management 339
12.3.9 Queue Management for Congestion Recovery 340
12.3.10 Active Queue Management for Congestion Avoidance 341
12.4 Recent Developments in Congestion Control 345
12.4.1 Avoiding Unnecessary Retransmit Timeouts 345
12.4.2 Undoing Unnecessary Congestion Control Responses to Reordered or Delayed Packets 346
13 International Academic Exchanges 349
13.1 Call for Papers 350
13.2 The Academic Paper 355
13.2.1 Introduction 356
13.2.2 Problem Formulation 357
13.2.3 Main Results 359
13.2.4 Conclusion 363
13.3 Participation in the Conference 365
13.3.1 To Chair a Conference 365
13.3.2 To Present a Paper 368
13.3.3 To Ask and Answer Questions 369
Appendix Glossaries in Computer Science 373
References 404