魏宁
宝钢原首席研究员郭朝晖在他的《知行——工业基因的数字化演进》一书中讲述了一个真实的案例:20世纪80年代,宝钢从国外引进了一款控制钢坯温度的软件,它的核心是用一种算法计算钢坯的表面温度。但奇怪的是,这款软件并没有使用当时公认的“热传导方程”,而是用了一种自创的算法来计算,这种算法根本不符合物理学原理,这导致计算精度很低。明明有高精度的算法却不使用,反而自创精度低的算法。在现场调试时,郭朝晖才弄清了其中的缘由。原来,由于运算量庞大,这款软件在运行时会占用大量的机时,以至于其他功能的响应速度都被拖慢了。所以,国外专家只能采用一种自创的计算量较低的简化算法来解决问题。
郭朝晖后来说,这件事让他理解了“工程师的方法论”,那就是,工程师的方法取决于目标、条件和约束,即在现实条件的约束下,寻找到可行的方法,这些方法往往不是最理想的,却是能够达到目标的。
我们知道,方法论是对解决各种问题的具体方法进行抽象概括、总结提升,从而形成的关于方法的共性的、规律性的认识,而工程师方法论则是对各种工程活动中所采用的方法的规律性认识。郭朝晖讲述的这个案例为我们清晰呈现了工程活动的最大特征,即工程实践通常是不完美的。受限于各种主客观条件,工程实践总会与纸面上的技术设计存在一定的偏差,这就需要我们根据现实条件,寻找到可以达到目标的实际路径。
日本学者三谷庆一郎等人所著的《IT工程师的设计思考书》中,对信息科技工程实践活动进行了深入的思考,其中就强调了IT工程实践中对产品原型进行现场检验的重要性。他们发现,很多时候,在试运行阶段,IT工程师都会把心思放在一些技术细节上,却忘记了最初的目标是什么,应该做的是反复问自己:“这是我想要的吗?”——这次体验是否操作便捷呢?想要的服务能很快获得吗?当出现故障时,是否有及时的应对措施呢?如果发现有偏离最初目标的地方,就要根据实际情况重新修正原有的设计。
在今天的中小学信息科技课程中,工程意识和思维正受到越来越多的重视。在教学中,我们通常会把精力更多地放在程序设计和算法上,但算法往往是理想化的,这样设计出的作品还只是一个原型。在有条件的情况下,还须将其置于真实的生活环境中进行检验,看看图纸上的设计在哪些地方没有达到我们想要的结果,再根据现实条件进行改进。例如,当我们开展“智能灌溉设计”项目时,学生借助土壤湿度传感器、水位传感器等设备,通过编程实现自动浇水功能的设计,至此仍然属于原型设计阶段。如果校园内有一片“植物园”,我们可以把设计出来的模型装置搭建起来,并运行程序调试,观察实际环境中哪些条件影响了灌溉效果,进而对程序和设备连接方案进行迭代优化。同样,如人工智能应用模块的开发、三维作品设计与发布、开源硬件作品设计与制作等模块教学,都应鼓励学生在条件具备的前提下进行实践检验。
在课程实践中,应尽力去理解IT工程活动的全貌和特征,认识到IT设计与IT实践的差异,努力体验完整的IT工程活动过程,逐步形成自己的“工程师方法论”,才能做到“像IT工程师一样思考问题”。