1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Back
|
Chapter 2 Watch Out: Here Comes JAVA
|
Chapter 3 Numerical Computation and a Study of Functions
If you would like to save a million dollars, here's how. You need to deposit just the right amount each month at just the right interest rate for the right number of years. And you will have it. Let's write a program that will fill in the blanks in this calculation. This chapter shows you how to do numerical calculations of this kind the easy way, by letting a computer do the work. You will study functions here that might represent any quantity that you might be interested in: space in your new house, profits from your yard sale, or the expected number of votes for your candidate in the next election. Then you will learn how to find optimize your decisions to get the best results. |
Chapter 4 Top-Down Programming, Subroutines, and a Database Application
|
Chapter 5 Graphics, Classes, and Objects
By now you have learned a lot about programming Java and this chapter gives you a chance to enjoy and explore those skills. You learn here how to draw a line or an arc on the computer screen and how to color things and suddenly you can draw any picture that you can imagine. You read this chapter and do the programming just for the fun of it. |
Suppose you want to observe something but you cannot because it is too expensive or too slow or just impossible to observe. You will be able to get your wish if you can successfully simulate that thing. This means you discover a model for that thing and then program it into a machine. Then you run the model and do your observation. If your model is good, you will be able to see what would have happened with the original problem if you had been able to observe it. In this chapter, we will study how to win a car race by working with a simulation of it. Then we will study disease contagion, evolution, and impossible-to-imagine shapes by using simulation. |
Chapter 7 Software Engineering
|
Chapter 8 Machine Architecture
|
Chapter 9 Language Translation
|
Chapter 10 Virtual Environments for Computing
|
Chapter 11 Security, Privacy, and Wishful Thinking
|
Chapter 12 Computer Communications
We started this book with the use of networks and now let's examine some of the technical details. Here you will learn what a Local Area Network (LAN) is and about shipping "packets" around. Then you will learn about Wide Area Networks, especially the Internet, what they are and how they work. You will learn some networking terminology (IP, TCP, TCP/IP) and you will learn about addressing schemes, network servers, and more. |
Chapter 13 Program Execution Time
This chapter begins a new section of the text on the limitations of computer science. It describes the main problems that prevent scientists from solving some of the most important problems. One of those problems is execution time. It may take a billion years of computation to solve some problems so we just cannot hope to do them. Even if machines get much faster, these problems will continue to be out of reach. This chapter will introduce the ideas of tractability, referring to problems that usually can be solved in practical situations, and intractability, referring to problems that tend to require too much execution time to solve. It will give you plenty of examples of both kinds of problems so you will gain some intuition for these phenomena. |
Chapter 14 Parallel Computation
The previous chapter leads one to wonder about parallel computation. If a problem requires too much time to solve with one computer, perhaps we could spread it across many machines, thousands or millions of them, and then solve the very time-consuming calculation. This chapter investigates this idea with both positive and negative results. Yes, many computations can be speeded up tremendously by putting them on parallel machines. But, no, one cannot always do this easily and sometimes the speedup is not enough. This chapter also introduces a very different kind of machine, the neural net, and investigates its properties. Its very special characteristics include the capability to do millions of computations simultaneously, and it does not have to be programmed. It learns to compute rather than being programmed. |
Here is a class of very strange problems that mathematicians have proven can never be solved by any computer within known computational paradigms. This mystical and elusive class of programs seems to place an impenetrable blockage to progress in computer science. You will certainly enjoy learning about this little understood but very important class of problems and their characteristics. |
Chapter 16 Artificial Intelligence
This chapter presents a theory of machine intelligence that has evolved over the decades. It first examines the idea of representing knowledge and then what it means to use that knowledge to understand. Then it examines the possibility of automatically learning knowledge. Next we study problem solving and how knowledge contributes to the ability to solve problems. Finally, we examine how to use this theory to build machines that seem to be intelligent. Some of the examples are a natural language understanding system, a game playing system, and a so-called expert system. |