如何从《我的世界教育版》向真实编程过渡
今天我想跟各位探讨如何从《我的世界教育版》向真实编程过渡。这里的真实编程指的是编写可以在本地使用标准的解释器或编译器运行的代码,本文中特指算法竞赛一类的代码,而不是像《我的世界教育版》中的代码,只能在《我的世界教育版》中运行。
《我的世界教育版》虽然也可以让玩家认识一定的编程语言的语法,但更多培养的是对编程的兴趣和编程的思维能力。举个例子,当我们在游戏中使用循环让机器人耕地、建房子的时候,我们实际上已经掌握对循环结构的认识和循环的思维。《我的世界教育版》是一款很好的游戏,玩家可以在其中学习编程、化学,不过我认为,其最利于的编程的还是《我的世界》的直观性。玩家可以在里面演示很多经典算法,比如让机器人”二分查找“到指定位置、”深度优先搜索”走出迷宫,这些都是传统的算法编程所难以实现的。
那么真实编程呢?真实编程比起游戏内的编程更上一个档次,这里没有直观的结果,只有冰冷的输入和输出——至少我所了解的竞赛环境大多是这样的。举个例子,在同样是“深度优先搜索”走迷宫,《我的世界教育版》中可以清晰地看到机器人怎么走,而真实竞赛编程中在大多数情况下只能看到输入(迷宫是什么样子的)和结果(迷宫有几条路、迷宫能不能走通等)。
因此我建议,可以将同种算法在《我的世界教育版》和真实编程中进行对比。《我的世界教育版》可以帮助更好地理解该算法,而真实竞赛编程的代码则是上考场和做练习使用的代码。如果通过《我的世界教育版》将算法内容和思想烂熟于心,相信在考场上也能轻松地写出该算法。有很多算法题都可以在《我的世界教育版》中具象化,这仍然是一个值得尝试的新课题。
同时,还可以引导去了解两种编程的区别和联系。上面已经提到了它们的区别:一个具象,一个抽象;也提到了它们的共同点:都可以呈现算法,只不过一个过程比较清晰,一个结果比较清晰。可以引导通过两种编程的区别和联系,来更好地平滑过渡。
以上就是我的想法。