2. 解题报告包含哪些内容?
- 分析过程:
Coding的前奏是对问题的分析:已知输入 INPUT、输出OUTPUT ,让我们设计中间过程DESIGN,也就是什么样的算法使得对于给定的输入,能够得到所要的输出。以往,课堂上老师的讲解,都是给定输出INPUT以及DESIGN,用最合理的逻辑最能够理解的语言让学生顺利地认定OUTPUT是合理的。优秀的老师会不局域简单的推导过程,而是培养学生的设计能力,教会学生面对问题如何进行设计。然而设计能力,并非都是老师教出来的,你需要有意识地自我培训。
给定一个INPUT和OUTPUT,中间的设计过程可谓是五彩缤纷,那些简洁的、合理的、逻辑性强的设计会让人赞叹:美。 这种美来自于知识的积累、分析推理能力的喷发。所以我们要记载下来,究竟是INPUT、OUTPUT、以及你所拥有的哪方面的知识让你产生这样的一个设计。
- 关键代码:
我们通常会将题目的完整代码写进解题报告。但是我们知道,解决一道题会有几段关键代码。关键代码的生成时我们分析过程的程序体现、是我们设计的结晶。所以我们要对关键代码进行一些注释说明。
写代码的人写就了,都会有自己的实现某些特殊问题的小技巧。这些小技巧的代码需要强调。
- 分类及扩展:
对于所做的题目要进行分类,达到一通百通、一以贯之。分类时,要做到问题分类,解题方法分类。问问自己如下几个问题:这个问题可以划分在哪一类里(淡然可以划分在不同类里了)?这个问题可以用哪些方法来解决?解决这个问题的方法还能够解决什么问题。
- 总结:
解题报告的最后一个环节是总结。总结是一个自我反思的过程。为什么我能够解这个问题,为什么我不会解。我的知识体系里的优势、劣势在哪里?我的分析推理能力还需要哪方面的加强训练?这些问题的自我提问以及自我解答是自我促进的最好手段。
- 说明:
解题报告内容一定要涵盖这些内容,但是。。。。。并不是所有的解题报告都要写成这样。Coding久了,报告写多了,你们一定会成为Coding的专家,写报告的专家,但是切忌成为砖家