15
Jul 12

## The Art of Doing Science and Engineering

Education is what, when, and why to do things, Training is how to do it.

In science if you know what you are doing you should not be doing it. In engineering if you do not know what you are doing you should not be doing it.

All of engineering involves some creativity to cover the parts not known, and almost all of science includes some practical engineering to translate the abstractions into practice.
Often it is not physical limitations which control but rather it is human made laws, habits, and organizational rules, regulations, personal egos, and inertia, which dominate the evolution to the future.

you must try to foresee the future you will face. To illustrate the importance of this point of trying to foresee the future I often use a standard story. It is well known the drunken sailor who staggers to the left or right with n independent random steps will, on the average, end up about steps from the origin. But if there is a pretty girl in one direction, then his steps will tend to go in that direction and he will go a distance proportional to n. In a lifetime of many, many independent choices, small and large, a career with a vision will get you a distance proportional to $$\sqrt{n}$$, while no vision will get you only the distance In a sense, the main difference between those who go far and those who do not is some people have a vision and the others do not and therefore can only react to the current events as they happen.

To what extent history does or does not repeat itself is a moot question. But it is one of the few guides you have, hence history will often play a large role in my discussions—I am trying to provide you with some perspective as a possible guide to create your vision of your future.

In forming your plan for your future you need to distinguish three different questions: What is possible? What is likely to happen? What is desirable to have happen? In a sense the first is Science—what is possible. The second in Engineering—what are the human factors which chose the one future that does happen from the ensemble of all possible futures. The third, is ethics, morals, or what ever other word you wish to apply to value judgments.

Lastly, in a sense, this is a religious course—I am preaching the message that, with apparently only one life to live on this earth, you ought to try to make significant contributions to humanity rather than just get along through life comfortably—that the life of trying to achieve excellence in some area is in itself a worthy goal for your life.

It has often been observed the true gain is in the struggle and not in the achievement—a life without a struggle on your part to make yourself excellent is hardly a life worth living.
Notice I leave it to you to pick your goals of excellence, but claim only a life without such a goal is not really living but it is merely existing—in my opinion. In ancient Greece Socrates (469–399) said: The unexamined life is not worth living.
Indeed, one of the major items in the conversion from hand to machine production is the imaginative redesign of an equivalent product. Thus in thinking of mechanizing a large organization, it won’t work if you try to keep things in detail exactly the same, rather there must be a larger give-and-take if there is to be a significant success.

You must get the essentials of the job in mind and then design the mechanization to do that job rather than trying to mechanize the current version—if you want a significant success in the long run.
We must not forget, in all the enthusiasm for computer simulations, occasionally we must look at Nature as She is.

The Buddha told his disciples, "Believe nothing, no matter where you read it, or who said it, no matter if I have said it, unless it agrees with your own reason and your own common sense". I say the same to you—you must assume the responsibility for what you believe.

"Almost everyone who opens up a new field does not really understand it the way the followers do". The evidence for this is, unfortunately, all too good.

It has been said in physics no creator of any significant thing ever understood what he had done. I never found Einstein on the special relativity theory as clear as some later commentators.

The reason this happens so often is the creators have to fight through so many dark difficulties, and wade through so much misunderstanding and confusion, they cannot see the light as others can, now the door is open and the path made easy.

Hence I expect a lot of trouble until we do understand human communication via natural languages. Of course, the problem of human-machine is significantly different from humanhuman communication, but in which ways and how much seems to be not known nor even sought for. Until we better understand languages of communication involving humans as they are (or can be easily trained) then it is unlikely many of our software problems will vanish.

There are many things we can do to reduce "the software problem", as it is called, but it will take some basic understanding of language as it is used to communicate understanding between humans, and between humans and machines, before we will have a really decent solution to this costly problem. It simply will not go away.

"Is programming closer to novel writing than it is to classical engineering?" I suggest yes!

Give the same complex problem to two modern programmers and you will, I claim, get two rather different programs. Hence my belief current programming practice is closer to novel writing than it is to engineering. The novelists are bound only by their imaginations, which is somewhat as the programmers are when they are writing software.

What you learn from others you can use to follow; What you learn for yourself you can use to lead.

Mathematics is nothing but clear thinking. Mathematics is the language of clear thinking.

Platonic school (most) formalists When rigor enters, meaning departs. logical school intuitionists constructionists fallacies: 1) we do not actually "prove" theorems! 2) many important programming problems cannot be defined sharply enough so a proof can be given, rather the program which emerges defines the problem!

Man is not a rational animal, he is a rationalizing animal.

I often suspect creativity is like sex; a young lad can read all the books you have on the topic, but without direct experience he will have little chance of understanding what sex is—but even with experience he may still not understand what is going

An expert is one who knows everything about nothing; A generalist knows nothing about everything. In an argument between a specialist and a generalist the expert usually wins by simply (1) using unintelligible jargon, and (2) citing their specialist results which are often completely irrelevant to the discussion.

All impossibility proofs must rest on a number of assumptions which may or may not apply in the particular situation. "If an expert says something can be done he is probably correct, but if he says it is impossible then consider getting another opinion."

What you did to become successful is likely to become counterproductive when applied at a later date. "There is never time to do the job right, but there is always time to fix it later." especially in computer software.

Hamming’s rule: 90% of the time the next independent measurement will fall outside the previous 90% confidence limits!

Most of the time each person is immersed in the details of one special part of the whole and does not think of how what they are doing relates to the larger picture. It is characteristic of most people they keep a myopic view of their work and seldom, if ever, connect it with the larger aims they will admit, when pressed hard, are the true goals of the system. This myopic view is the chief characteristic of a bureaucrat.

Systems engineering is the attempt to keep at all times the larger goals in mind and to translate local actions into global results.But there is no single larger picture

The first rule of systems engineering is: If you optimize the components you will probably ruin the system performance.

Rule 2: Part of systems engineering design is to prepare for changes so they can be gracefully made and still not degrade the other parts.

Rule 3: The closer you meet specifications the worse the performance will be when overloaded.

Westerman believes, as I do, while the client has some knowledge of his symptoms, he may not understand the real causes of them, and it is foolish to try to cure the symptoms only. Thus while the systems engineers must listen to the client they should also try to extract from the client a deeper understanding of the phenomena. Therefore, part of the job of a systems engineer is to define, in a deeper sense, what the problem is and to pass from the symptoms to the causes.

The deeper, long term understanding of the nature of the problem must be the goal of the system engineer, whereas the client always wants prompt relief from the symptoms of his current problem. Again, a conflict leading to a meta systems engineering approach!

You may think the title means if you measure accurately you will get an accurate measurement, and if not then not; but it refers to a much more subtle thing—the way you choose to measure things controls to a large extent what happens.

For example, in school it is easy to measure training and hard to measure education, and hence you tend to see on final exams an emphasis on the training part and a great neglect of the education part

06
May 12

19
Feb 12

## 对有效学习的一些思考

Motivation

Methods

The Cambridge Handbook of Expertise and Expert Performance

Development of Professional Expertise：Toward Measurement of Expert Performance and Design of Optimal Learning Environments

1. 在“学习区”练习

2. 大量重复训练

3. 持续获得有效的反馈

4. 精神高度集中

1. 基础阅读，不多写了
2. 检视阅读，快速的决定这本书是否值得细读，在主题阅读前，这一步是简化书目的关键，并且值得分析阅读的书并不多，没有必要每本书都花上相同的精力
3. 分析阅读，透视一本书，了解这本书的整体架构，作者的逻辑思路
4. 主题阅读，以一个主题为依据，通过检视阅读找到相关的书，在阅读的过程中形成自己对这个主题的大框架和术语，把不同的书的内容通过分析阅读统一到这个框架中来，也就是把不同作者对相同术语不同的表达都统一起来，最后获得对一个主题很深入的理解，并能够提升自己的思考能力

1. 整体来说，整本书是讲什么的
2. 作者细部说了什么，是怎么说的，要对作者主要的论点，想法，声明都能够了解
3. 这本书说的有道理吗？是全部有道理还是部分由道理
4. 这本书和我自己的关系，对我的启发等

0.运用检视阅读的技巧，快速的获得和感兴趣的主题相关的书目

1.在这些书中找到相关的章节，因为对主题阅读来说，主题才是最重要的，而不是完整的去阅读每一本书

2.带领作者与自己达成共识，这一步非常的难，因为值得阅读的书的作者都是比我们自己高明的人，我们会倾向按他的思路走，但是在主题阅读的时候，这样就行不通了，因为每个作者的思路是不一样的，我们必须以自己的概念来统一这些不同的作者的概念。

3.厘清问题，实际上就是建立我们的主旨，一般来说，可以提出一些可以把我们的主题说的比较明白的问题，然后让这些作者来回答这些问题

4.界定议题，在上面一步中，我们提出的问题可能有一些是很清晰的，而所有作者都谈论到了，并且是以不同的方式，那么这种问题就可以成为我们的重点议题了，就好象我们组织了一次这些作者之间的辩论会似的。

5.分析讨论，在把值得讨论的议题都界定出来之后，我们就可以进入到最后一个阶段了。对这些问题的分析讨论。首先是对这些议题的不同答案进行分析，需要清晰的按顺序呈现不同作者对这些问题的观点，并且尽量做到辩证的客观。

1.任务收集的问题，对任务的划分不够细，导致执行起来可操作性不强

2.任务没有按时间进行分类，地点分的也有问题，导致不能有效的安排任务的执行

3.没有根据自己的状态选择合适的任务，不同的时间段效率是不一样的