在计算机科学研究中一个最重要的问题是向人们提供什样的方法或工具能方便且准确地描述客观世界中要解决的间题并用计算机进行间题求解。人们意识到对问题进行规范说明的语言和工具是软件开发过程中的关键,同时还希望在正确的规范基础上能实现某种程度上的软件生产自动化。针对于此,当前有两种途径:一是开发一种类似于(受限制的)自然语言的规范说明语言;二是借助于图形引喻进行可视化语言的研究和实现,由于人类的思维是强烈地倾向于图形的,目前后者已经被广泛用于少儿编程和工具性软件的二次开发环境。
可视化语言来源于图形界面设计和程序可视化,用图标代替命令作为操作系统用户界面和软件工具用户界面,其富有语义暗示的图形令人耳目一新。另外,为了更直观地把握程序,人们做出这样一些工具,用图形把数据结构和程序控制结构显示在屏幕上,当程序执行时,对正在活动的程序对象的对应图形作明暗变化和色彩变化,从而可以“感知”到程序的动态行为,实践证明这种对程序的动画棋拟尝试取得了极好的效果。有了这些成功,人们进一步联想到,既然我们经常用有限状态自动机、框图、DFD表示算法和程序,然后再把它们翻译(细化)成某种计算机可以接受的语言,那么可视化在教学过程中有哪些优势呢?
①表示维数。文字语言是一维的字符流,通过上下文语法结构表示其意义。可视语言至少是二维的(有人把带有zomin/out机制的可视语言看作是2.5维的)并可以用形状、大小、颜色、文字注解、指向、距离等表示其意义。图形能够自然地提供丰富直观的引喻(meatphors),从而可以方便地反映客观世界及其抽象;正文只能在某种程度上描述客观世界。我们每个人都有过这样的体验:在阅读文字的时候,往往费尽周折,最终要到在头脑里形成一个形象的概念模型时才认为是把握住了它。可视化语言可以就是问题的概念模型的图解,或其细化。
②信息熵。俗话说“一图顶千字”,可见人类的思维是强烈地倾向于图形的。文字中有意义的基本单位是字符或字符串,前后之间的上下文关系和相互间的逻辑关系需要反复互相参照,认清一个对象或问题要读大段正文,熵值较低。可视化语言通常直接对应于概念模型中的对象及对象之间的关系,具有更高级别的语义,能以较少的符号表达较多的信息,墒值较高。
随着5G基础设施建设的完善,视频技术包括VR/AR在内的可视化技术将被更加广泛使用,帮助教师更加高效地进行授课。