George Polya 1945 年初版,八十年前。

I hope that the present edition, designed for wider diffusion, will convince some of its readers that mathematics, besides being a necessary avenue to engineering jobs and scientific knowledge, may be fun and may also open up a vista of mental activity on the highest level.

– Zurich, Jun 30, 1956. Preface to the Second Edition


书开头的 “How to Solve It” list 是两页伪代码式的大纲:

简要

  • 理解问题
  • 设计规划
  • 逐步实施
  • 回顾反思

列表中很多项有自动化辅助工具,希望早日看到通用且自解释解题过程的工具,以及基于已知知识生成有解与无解的问题的工具。

这几步对应软件开发中的:

  • 需求分析
  • 设计
  • 开发
  • 测试验证

在当前国内外数学教学中,作业和考试往往耗费学生极大精力于‘逐步实施’阶段,‘理解问题’次之,而忽视其他两项。在中小学阶段的‘按表操课’下都催生了重灌输解题方法而轻由学生自行设计尝试的教学风格。

软件开发类似。

另外,数学练习中的问题设计有很大改进空间,很多时候已知项不合常理,细究起来会有‘你既然知道这个,为啥不知道那个’的感觉。软件开发的需求分析阶段还有机会追究需求的来源,而数学题没有。