计算机科学导论重点汇总

Chapter 0 Introduction
(绪论)

Terminology (术语) (P2)
? Algorithm: A set of steps that defines how a task is performed (算法是定义如何完成一个任务
的若干步骤的集合)
? Program:A representation of an algorithm (程序是对算法的表示)
? Programming:The process of developing a program (程序设计是指开发程序的过程) ?
Software: Programs and algorithms. (软件是指程序及其算法)
? Hardware: Equipment (硬件即机器设备)

Chapter 1 Data Storage
(数据存储)

Boolean Operations (布尔运算)
? Boolean Operation: An operation that manipulates one or more true/false values (P20) (布尔运
算:处理一个或多个真/假值的运算)

Gates (门) (P21)
? Gate: A device that computes a Boolean operation (门是一种进行布尔运算的设备)

Flip-flops (触发器) (P22)
? Flip-flop: A circuit built from gates that can store one bit. (触发器是由门所构造的可存储1个
位的电路)
– Has an input line which sets its stored value to 1 (它有一条将其存储值置为1的输入线)
– Has an input line which sets its stored value to 0 (它有一条将其存储值置为0的输入线)
– While both input lines are 0, the most recently stored value is preserved (当两条输入线同是0
时,最近存储的值保持)

Hexadecimal Notation (十六进制)
? Hexadecimal notation: A shorthand notation for long bit patterns (十六进制:长的位模式的简短
表示)
– Divides a pattern into groups of four bits each (将位模式按4位一组进行划分)
– Represents each group by a single symbol (将每组表示为一个符号)
? Example: 10100011 becomes A

Main Memory Addresses (内存地址)
? Address: A “name” that uniquely identifies one cell in the computer’s main memory (地址:唯一
确定计算机内存单元的“名字”)
– The names are actually numbers. (名字实际上是编号)
– These numbers are assigned consecutively starting at zero. (这些编号是从0开始连续指派
的)
– Numbering the cells in this manner associates an order with the memory cells. (以对应于存
储单元的顺序依次编号)

Files
? File: A unit of data stored in mass storage system (文件是存储在海量存储器中的数据单元)
– Fields and keyfields
? Physical record versus Logical record
? Buffer: A memory area used for the temporary storage of data (usually as a step in transferring
the data) (缓冲区是用做数据临时存放的内存区域,常作为传送数据的一个步骤)

Storing Fractions (存储小数)
? Floating-point Notation: Consists of a sign bit, a mantissa field, and an exponent field. (浮点计
数法:由符号位、尾数域和指数域组成)

Data Compression(数据压缩) (P58-59)
? Lossy (有损的) versus lossless (无损的)
?Run-length encoding (行程长度编码)
? Frequency-dependent encoding (频率相关编码)

(Huffman codes,哈夫曼编码)
? Relative encoding (相对编码)
? Dictionary encoding (字典编码)
Includes adaptive dictionary encoding such as LZW encoding

Chapter 2 Data Manipulation
(数据操控)

Computer Architecture (计算机体系结构) (P74)
? Central Processing Unit (CPU) or processor (中央处理器,处理器)
– Arithmetic/Logic unit versus Control unit (算术/逻辑单元,控制单元)
– Registers(寄存器)
? General purpose registers(通用寄存器)
? Special purpose registers(专用寄存器)
? Bus
? Motherboard

CPU (P74)
A CPU consists of three parts: the arithmetic/logic, which contains the circuitry that performs on
data; the control unit, which contains the circuitry for coordinating the machine’s activities; and
the register unit, which contains data storage that are used for temporary storage of information
within the CPU.
(CPU由三部分组成:算术/逻辑单元——包含在数据上执行运算的电路, 控制单元——包
含协调机器活动的电路,以及寄存器单元——包含用于 CPU内部信息临时存放的数据存储
器。)

Stored Program Concept (存储程序概念) (P76)
A program can be encoded as bit patterns and stored in main memory. From there, the CPU can
then extract the instructions and execute them. In turn, the program to be executed can be altered
easily.
(一个程序可编码为位模式并存放于内存中。从此,CPU就 可抽取指令并执行。相应地,被
执行的程序就能被轻易更 换。)

Machine Language Philosophies (机器语言基本原理) (P77)
? RISC, Reduced Instruction Set Computer (简化指令集计算机)
– Few, simple, efficient, and fast instructions
– Example: PowerPC from Apple/IBM/Motorola and ARM
? CISC, Complex Instruction Set Computer (复杂指令集计算机)
– Many, convenient, and powerful instructions
– Example: Intel

Machine Instruction Types (机器指令类型) (P78-79)
? Data Transfer: copy data from one location to another (数据传送类:将数据从一个位置复制到
另一个位置)
? Arithmetic/Logic: use existing bit patterns to compute a new bit patterns (算术/逻辑类:使用现
有的位模式计算新的位模式)
? Control : direct the execution of the program (控制类:引导程序的执行)

Parts of a Machine Instruction (机器指令的构成) (P80)
? Op-code: Specifies which operation to execute (操作码:指定要执行那种操作)
? Operand: Gives more detailed information about the operation (操作数:给出关于要执行操作
的更详细的信息)
– Interpretation of operand varies depending on op- code (对操作数的解释因操作码而变化)

The machine cycle (机器周期) (P84)
1按程序计数器指示从内存中取下一条指令,之后增加程序计数器的值
2对指令寄存器中的位模式进行译码
3执行指令

寄存器中指令所要求的功能

Communicating with Other Devices (与其它设备通信) (P95-96)
? Controller: An intermediary apparatus that handles communication between the computer and a
device (控制器:处理计算机和设备间通信的中间装置)
– Specialized controllers for each type of device
– General purpose controllers (USB and FireWire)
? Port: The point at which a device connects to a computer (端口:设备连接到计算机的连接点)
? Memory-mapped I/O : CPU communicates with peripheral devices as though they were memory
cells (存储映像I/O:CPU在与外部设备通信时将其视为存储单元)

Chapter 3 Operating Systems
(操作系统 )

Concept of Operating Systems (操作系统概念) (P110)
An operating system is the software that controls the overall operation of a computer. It provides
the means by which a user can store and retrieve files, provide the interface by which a user can
request the execution of programs, and provides the environment necessary to execute the
programs requested. (操作系统是控制计算机全部操作的软件。它提供用户可以 存储和检索
文件的方法,提供用户可以请求执行程序的接 口,还提供执行被请求程序所必需的环境。)

Functions of Operating Systems (操作系统的功能)
? Oversee operation of computer
(监视计算机操作)
? Store and retrieve files
(存储和检索文件)
? Schedule programs for execution
(调度程序执行)
? Coordinate the execution of programs (协调程序的执行)

Types of Software (软件的类型) (P115)
? Application software (应用软件) – Performs specific tasks for users
(为用户执行特定的任务)
? System software (系统软件) – Provides infrastructure for application software (为应用软件提
供基础设施) – Consists of operating system and utility software (由操作系统各实用软件构成)

Operating System Components (操作系统组成) (P116-117)
? Shell (外壳): Communicates with users (与用户通信)
– Text based – Graphical user interface (GUI) (图像用户界面)
? Window manager ? Kernel (内核): Performing basic required functions (执行要求的基本功能)
– File manager (文件管理器) – Device drivers (设备驱动程序) – Memory manager (内存管理器)
– Scheduler and dispatcher (调度程序和分派程序)

Deadlock (死锁) (P127)
? Processes block each other from continuing (进程相互阻塞不能继续执行)
? Conditions required for deadlock (发生死锁的必要条件)
1. Competition for non-sharable resources (对不可共享资源的竞争)
2. Resources requested on a partial basis (资源在不完整基础上请求)
3. An allocated resource can not be forcibly retrieved (已分配资源 不能被强制收回)

Chapter 4 Networking and the Internet
(组网与因特网)

Computer Networks (计算机网络) (P140)
The need t

o share information and resources among different computers has led to linked
computer systems, called networks, in which computers are connected so that data can be
transferred from machine to machine. (对不同计算机之间的信息和资源共享的需求导致了相
互连接的计算机系统,称之为网络,其中计算机被连接 起来因此数据可以从一台机器传输
到另一台机器。
Network Classifications (网络分类) (P140)
? Scope (按覆盖划分) – Local area network (LAN) (局域网) – Metropolitan area network (MAN)
(城域网) – Wide area network (WAN) (广域网) ? Ownership (按所有权划分) – Closed versus
open ? Topology (configuration,按拓扑结构划分) – Bus (Ethernet) – Star (Wireless networks
with central Access Point)

Protocols (协议) (P141)
For a network to function reliably, it is important to establish rules by which activities are
conducted. Such rules are called protocols.
(为了网络功能运行可靠,重要的是建立网络活动 所遵循规则。这类规则被称之为协议。)

Connecting Networks (连接网络) (P144-145)
? Repeater(中继器): Extends a network
? Bridge(网桥): Connects two compatible networks
? Switch(交换机): Connect several compatible networks
? Router(路由器): Connects two incompatible networks resulting in a network of networks called
an internet

IP address (IP地址) (P152)
An internet needs an internet-wide addressing system that assigns a unique identifying address to
each computer in the system. In the Internet these addresses are known as IP addresses.
(一个互联网需要一个互联网范围的编址系统,将该系统中 的每台计算机赋予一个唯一的标
识地址。在因特网中,这 些地址被称为IP地址。)

Internet Software Layers (因特网软件层次) (P168)
? Application(应用层): Constructs message with address
? Transport(传输层): Chops message into packets
? Network(网络层): Handles routing through the Internet
? Link(链路层): Handles actual transmission of packets

Chapter 5 Algorithms
(算法)

Definition of Algorithm (算法的定义) (P189)
An algorithm is an ordered set of unambiguous , executable steps that defines a terminating
process.
(算法是一组无歧义、可执行步骤所构成有序 集合,它定义一个可终止过程。)

Algorithm Representation (P192)
? A collection of primitives along with a collection of rules stating how the primitives can be
combined to represent more complex ideas constitutes a programming language. (原语的集合以
及说明如何组合这些原语来表示比较复杂的算法的规则集 合构成一种程序设计语言。)
? Each primitive has its own syntax and semantics. Syntax refers to the primitive’s symbolic
representation; semantics refers to the meaning of the primitive. (每个原语都有自己的语法和语
义。语法指的是原语

的符号表示,语义指 的是该原语的含义。)

Polya’s Problem Solving Steps (Polya问题求解步骤) (P198-199)
1. Understand the problem.
2. Devise a plan for solving the problem.
3. Carry out the plan.
4. 4. Evaluate the solution for accuracy and its potential as a tool for solving other problems.
1. 理解问题 2. 设计解决问题的计划 3. 执行计划 4. 评估方案的准确度和作为解决其它问
题工具的潜力

Getting a Foot in the Door (入门) (P198-203)
? Try working the problem backwards (反推法)
? Solve an easier related problem (从容易解决的相关 问题入手) – Relax some of the problem
constraints (放松边界条件)
– Solve pieces of the problem first (bottom up methodology 自底向上方法学)
? Stepwise refinement (逐步求精): Divide the problem into smaller problems (top-down
methodology, 自顶 向下方法学)

Recursion (递归) (P214-222)
? The execution of a procedure leads to another execution of the procedure. (一个过程的执行导
致本过程的另一次执行)
? Multiple activations of the procedure are formed, all but one of which are waiting for other
activations to complete. (从而形成本过程的多次活动,除一个之外的所有活动都在 等待其它
活动完成。)

Chapter 6 Programming Languages
(程序设计语言)

Second-generation: Assembly language (汇编语言) (P241)
? A mnemonic system for representing machine instructions is collectively called assembly
language. (表示机器指令的助记符系统被统称为汇编语言)
– Mnemonic names for op-codes – Identifiers (标识符): Descriptive names for memory locations,
chosen by the programmer

Characteristics of Assembly Languages (汇编语言的特点) (P241-242)
? One-to-one correspondence between machine instructions and assembly instructions (机器指令
与汇编指令之间是一一对应关系)
– Programmer must think like the machine
? Inherently machine-dependent (固有的机器依赖性)
? Converted to machine language by a program called an assembler (由称之为汇编器的程序将汇
编语言转换为机器语言)

Third Generation Language (第三代语言) (P242)
Third-generation/high-level programming languages uses high-level primitives. (第三代或高级程
序设计语言使用高级原语) Characteristics of Assembly Languages
? Each primitive corresponds to a sequence of machine language instructions (每个原语对应一系
列机器语言指令)
? Machine independent (mostly) (多数与机器无关)
? Converted to machine language by a program called a compiler (由称之为编译器的程序将高
级语言转换为机器语言)

The translation process (翻译过程) (P269)
Source program-Lexical analyzer-Parser-Code generator-Object program
源程序-词法分析器-语法分析器-代码生成器-目标程序

Objects and Classes (对象和类) (P276-279)
? Obj

ect: Active program unit containing both data and procedures (对象是同时包括数据和过
程活动程序单元)
? Class: A template from which objects are constructed (类是构建对象的模版)
? An object is an instance of the class. (对象是类的实例)

Components of an Object (对象的组成) (P276-280)
? Instance Variable: Variable within an object (实体变量:对象中的变量)
– Holds information within the object
? Method: Procedure within an object (方法:对象中的过程)
– Describes the actions that the object can perform
? Constructor: Special method used to initialize a new object when it is first constructed (构造器:
用于对新对象首次构建时进行初始化的特殊方法)

Chapter 7 Software Engineering

Software Engineering (P299-300)
? The subject is called software engineering because software development is an engineering
process. (该学科之所以称为软件工程是因为软件开发是一个工程化过程)
? The goal of software engineering is to find principles that guide the software development
process and lead to efficient, reliable software products. (软件工程的目标是找到指导软件开发
过程进而生产出高效的、可靠的软 件产品的原则。)
? Software engineering is the branch of computer science that seeks principles to guide the
development of large, complex software systems. (软件工程是计算机科学的分支,它寻找指导
大型复杂软件系统开发的原 则。)

Computer Aided Software Engineering (CASE) tools (计算机辅助的软件工程工具) (P301)
? Project planning (项目规划)
? Project management (项目管理)
? Documentation (文档编制)
? Prototyping and simulation(原型开发与仿真)
? Interface design (界面设计)
? Programming (程序设计)
The software life cycle
Development---------Use------Modification-------Use---Modification循环。。

The development phase of the software life cycle
Analysis----design-----implementation----testing

Software Engineering Methodologies (软件工程方法学) (P306-308)
? Waterfall Model (瀑布模型)
? Incremental Model (增量模型)
– Prototyping (原型开发)
Evolutionary (演化式) vs. Throwaway (抛弃式)
? Open-source Development (开源开发)
? Extreme Programming (极限编程)

Tools of the Trade (行业工具) (P316-323)
? Data Flow Diagram (数据流图)
? Entity-Relationship Diagram (实体关系图)
– One-to-one relation
– One-to-many relation
– Many-to-many relation
? Data Dictionary (数据字典)
? UML, Unified Modeling Language (统一建模语言)

Chapter 8 Data Abstractions
(数据抽象)

Basic Data Structures (基本数据结构)
? Array (数组) – Homogeneous array (同构数组) – Heterogeneous array (异构数组)
? List (表) – Stack (堆栈) – Queue (队列)
? Tree (树)

Terminology for Lists (P342)
? A List is a

collection of data whose entries are arranged sequentially (表是其表项按顺序排列
的一组数据)
? Head: The beginning of the list
? Tail: The end of the list

Terminology for Stacks (P343)
? A Stack is a list in which entries are inserted and removed only at the head (堆栈是其表项仅在
其头部插入和移除的表)
? LIFO: Last-in-first-out (后进先出)
? Top: The head of list (stack)
? Bottom or base: The tail of list (stack)
? Pop: To remove the entry at the top (出栈:在栈顶移除)
? Push : To insert an entry at the top (入栈:在栈顶插入)

Terminology for Queues (P343)
? A Queue is a list in which the entries are removed only at the head and new entries are inserted
only at the tail. (队列是其表项仅在其头部移除和新表项仅在尾部插入的表)
? FIFO: First-in-first-out (先进先出)

Terminology for a Tree (P344)
? Tree: A collection of data whose entries have a hierarchical organization similar to that of an
organization chart of a typical company. (树是其表项具有类似于一个典型公司的组织结构图
的层次 结构组织的一组数据)
? Node: An entry in a tree
? Root node: The node at the top
? Terminal or leaf node: A node at the bottom

Terminology for a Tree (continued)
? A Binary tree is a tree in which every node has at most two children (二叉树是其每个节点最
多有两个孩子的树)
? Depth: The number of nodes in longest path from root to leaf (深度是从树根到树叶的最长路
径的节点的数量)

Storing Lists (P352-353)
? Contiguous list: List stored in a homogeneous array (邻接表:存储在同构数组中的表)
? Linked list: List in which each entries are linked by pointers (链表:其每个表项都由指针链接
的表)
– Head pointer: Pointer to first entry in list
– NIL pointer: A “non-pointer” value used to indicate end of list

Storing Stacks and Queues (P355-357)
? Stacks usually stored as contiguous lists (堆栈通常被存储为邻接表)
? Queues usually stored as Circular Queues (队列通常被存储为循环表)
– Stored in a contiguous block in which the first entry is considered to follow the last entry
– Prevents a queue from crawling out of its allotted storage space (分配的空间)

Manipulating Data Structures (操控数据结构) (P360-361)
? Ideally, a data structure should be manipulated solely by pre-defined procedures. (理想情况下,
一个数据结构应仅被预先定义的过程所操作)
– Example: A stack typically needs at least push and pop procedures.
– The data structure along with these procedures constitutes a complete abstract tool. (数据结构
及其操作它的过程构成完整的抽象工具)

Chapter 9 Database Systems (数据库系统)

Database
A collection of data that is multidimensional in the sense that internal links between its entries
make the information accessible from a vari

ety of perspectives
(数据库是多维数据集合,其意义在于数据项间的 内部链接使得信息可以从不同角度来获
取。)

Database Management Systems
? Database Management System (DBMS): A software layer that manipulates a database in
response to requests from applications
? Distributed Database: A database stored on multiple machines – DBMS will mask this
organizational detail from its users
? Data independence: The ability to change the organization of a database without changing the
application software that uses it



相关文档
最新文档