Introduction
This book provides an introduction to computer science from the computational thinking perspective. It explains the way of thinking in computer science through chapters of logic thinking, algorithmic thinking, systems thinking, and network thinking. It is purposely designed as a textbook for the first computer science course serving undergraduates from all disciplines.
The book focuses on elementary knowledge such that all material can be covered in a one-semester course of Introduction to Computer Science. It is designed for all students assuming no prior programming experience. At the same time, students with prior programming experience should not find the course boring.
University of Chinese Academy of Sciences
Table of Content
- Preface
- Introduction
- 1. Overview of Computer Science
- 1.1. Computational Processes in Problem Solving
- 1.2. Characteristics of Computational Thinking
- 1.3. Relation of Computer Science to Society
- 1.4. Exercises
- 1.5. Bibliographic Notes
- 2. Processes of Digital Symbol Manipulation
- 2.1. Data as Symbols
- 2.2. Programs as Symbols
- 2.3. Computer as a Symbol-Manipulation System
- 2.4. Exercises
- 2.5. Bibliographic Notes
- 3. Logic Thinking
- 3.1. Boolean Logic
- 3.2. Automata and Turing Machines
- 3.3. Power and Limitation of Computing
- 3.4. Exercises
- 3.5. Bibliographic Notes
- 4. Algorithmic Thinking
- 4.1. What Are Algorithms
- 4.2. Divide-and-Conquer Algorithms
- 4.3. Other Examples of Interesting Algorithms
- 4.4. P vs. NP
- 4.5. Exercises
- 4.6. Bibliographic Notes
- 5. Systems Thinking
- 5.1. Systems Thinking Has Three Objectives
- 5.2. Abstraction
- 5.3. Modularization
- 5.4. Seamless Transition
- 5.5. Exercises
- 5.6. Bibliographic Notes
- 6. Network Thinking
- 6.1. Network Terms
- 6.2. Connectivity
- 6.3. Protocol Stack
- 6.4. Network Laws and Responsible Computing
- 6.5. Exercises
- 6.6. Bibliographic Notes
- 7. Projects
- 7.1. Turing Alier: Turing Machine for Serial Aliitions
- 7.2. Text Hider: Program to Hide Text in Picture
- 7.3. Human Sorter: Team Computer for Quicksort
- 7.4. Personal Artifact: Web Page of Creative Expression
- 8. Appendices
- 8.1. Multiples and Fractions
- 8.2. Programming Basics
- 8.3. Pointers to Supplementary Material
- Index

- Lecture slides: PDF , PPT
- Projects slides: PDF , PPT
- The source code of all programs: ZIP, TAR.GZ
- Answers to even-numbered homework problems
-
Other materials:
- Software for the Turing Adder project
- Software for the Text Hider project
- Dynamic pages created by previous students: Webpages in English, Webpages in Chinese
计算机科学导论
- 理论课课件
- 实验课课件
- 往年课件