内容:1. 万维网 2. Java及其相关知识 3. 数值计算与函数研究 4. 自顶向下程序设计、子程序与数据库应用案例 5. 图形学、类与对象 6. 计算机模拟 7. 软件工程 8. 计算机体系结构 9. 程序语言翻译 10. 计算虚拟环境 11. 计算机安全 12. 计算机通信 13. 程序执行时间 14. 并行计算 15.不可计算性 16.人工智能
Studying Academic Computer Science: An Introduction
Rumors
Studying Computer Science
An Approach for Nonmathematical Readers
1. The World Wide Web
World History and Where We Are
Let's Create Some Web Pages
More HTML
We Love HTML,But...
Summary
2. Watch Out: Here Comes Java
Let's Put Some Action into Those Web Pages
The Big Deal:Computer Programming
Object-Oriented Programming
The Java Programming Language
Decision Trees
Getting Started in Programming
Program Form and Statement Details
Program Execution
Interactive Programs and Buttons
Reading and Storing Data
Programming Decision Trees
*The Arrow Notation and Its Uses
*A Set of Rules for Java
Summary
3. Numerical Computation and a Study of Functions
Let's Calculate Some Numbers
Simple Calculations
Functions
Looping and a Study of Fuctions
Searching for the Best Value
Storing Information in Arrays
Finding Sums,Minima,and Maxima
Putting Things in a Row,and a Special Characteristic of Functions
*Putting the Functions in a Row
Summary
4. Top-Down Programming, Subroutines, and a Database Application
Let's Solve a Mystery
Top-Down Programming and the Database Program
Subroutines
Subroutines with Internal Variables
Subroutines with Array Parameters
Subroutine Communication Examples
Storing and Printing Facts for the Database
Representing Questions and Finding Their Answers
Assembling the Database Program and Adding Components
*Recursion
Summary
5. Graphics, Classes, and Objects
Calling All Artists
Graphics Primitives
Let's Draw Some Pictures
Let's Create a Class Called House
Adding Features to the House Class
Creating a Village
Subclasses and the Java Class Hierarchy
Summary
6. Simulation
Predicting the Future
How Do You Win an Auto Race?A Simulation
*Avoiding the Plague:A Simulation
*Have You Ever Observed Evolution in Action?A Simulation
*What Will It Look Like?A Simulation
Summary
7. Software Engineering
The Real World
Lessons Learned from Large-Scale Programming Projects
Software Engineering Methodologies
The Program Life Cycle
Summary
8. Machine Architecture
When You Buy a Computer
A Sample Architecture:The P88 Machine
Programming the P88 Machine
Summary
9. Language Translation
Enabling the Computer to Understand Java
Syntactic Production Rules
Attaching Semantics to the Rules
The Semantics of Java
*The Translation of Looping Programs
Programming Languages
Summary
10. Virtual Environments for Computing
Use Your Imagination
Using an Operating System
Hardware Pragmatics
The Operating System
Files
*Contention for Memory and Paging
Summary
11. Security, Privacy, and Wishful Thinking
What's Really Going on Here?
Good Passwords and Cracking
Encryption
Modern Encryption
Attacks
Summary
12. Computer Communications
Exploration
Layers and Local Area Networks(LANs)
Wide Area Networks
The Internet Protocol(IP) Layer and Above
*More on Addressing
Networked Servers
More Network-Based Applications
The Changing Internet
Summary
13. Program Execution Time
On the Limitations of Computer Science
Program Execution Time
Tractable Computations
Intractable Computations
Some Practical Problems with Very Expensive Solutions
Diagnosing Tractable and Intractable Problems
*Approximate Solutions to Intractable Problems
Summary
14. Parallel Computation
Using Many Processors Together
Parallel Computation
Communicating Processes
Parallel Computation on a Saturated Machine
Variations on Architecture
*Connectionist Architectures
*Learning the Connectionist Weights
Summary
15. Noncomputability
Speed Is Not Enough
On the Existence of Noncomputable Functions
Programs That Read Programs
Solving the Halting Problem
Examples of Noncomputable Problems
*Proving Noncomputability
Summary
16. Artificial Intelligence
The Dream
Representing Knowledge
Understanding
Learning
Frames
An Application:Natural Language Processing
Reasoning
Game Playing
*Game Playing:Historical Remarks
Expert Systems
Perspective
Summary
Appendix:The IntField and DoubleField Classes
Readings
Index