门泽霖 黄子坤
摘 要:作为大学生,在我看来,计算机无处不在且时刻被需要着,而计算思维又时时刻刻地被我们无意识地运用着。那么和我们紧密相连的计算机到底是什么呢?它是如何出现在世界上的?它能做什么又不能做什么?而看似抽象的计算思维是否只是“计算”数据那么简单呢?它到底是一个怎样的思维?又有着什么用处呢?……一切的一切我将在下面展开自己的浅谈。
关键词:计算机思维;体系结构;程序
半个多世纪以来,计算机已经发展成为一个庞大的家族,尽管计算机各式各样,但是它们的基本组成结构和工作原理确实相同的。这里,我们就不得不提两位被誉为计算机之父的计算机雏形理论奠基人:图灵和冯·诺依曼。
在电子计算机远未问世之前,英国数学家图灵就先知先觉,已经想到所谓“可计算机”的问题,他用超过了一般数学家的思维范畴,完全抛开数学上定义新概念的传统方式,独辟蹊径,构造出一台完全属于想象中的“计算机”,数学家们把它称为“图灵机”。图灵机的模型给计算机的设计灵感,被公认为是现代计算机的理论原型,也可以说,图灵启发与影响了他之后的整个计算机发展史。而后,美籍匈牙利科学家冯·诺依曼提出了“存储程序”的概念和“二进制”的原理,并由此设计出了“冯·诺依曼体系结构”计算机。它必须有一个存储器、控制器、运算器、输入和输出设备,它的工作原理是:计算机能够自动完成运算或处理信息的基础,是先将解决问题的具体处理步骤(算法)以程序代码的方式存储到计算机的存储器中,然后计算机自动读取程序代码,并严格依照程序指令的控制逐步进行整个工作过程,可概括为:存储程序、程序控制。一个完整的计算机系统是由计算机的硬件系统和软件系统组成。作为计算机的“灵魂”,计算机的软件系统控制、管理和指挥计算机工作和解决各类应用问题的所有程序与数据的总和。而现在我们所使用的计算机硬件系统的结构一直遵循着冯·诺依曼体系结构。(如下图为:现代计算机硬件系统结构)
大致了解了计算机的形成过程,那么所谓的计算机到底是什么呢?大多人以为计算机就等同于电脑,在我上这个计算机导论课之前其实也这么以为,但是现在在我看来,生活中使用的电脑只是计算机大家族中的一个成员。在查阅各种资料,依照“计算机系统的构架、计算机的工作原理、计算机的特点以及计算机的信息处理功能”这几个关键点后我们大概可以这么定义:计算机是由高科技电子元器件、线路和机械装置等部件或设备构成的,在计算机软件(程序)的控制下,依照存储程序和程序控制的工作原理,能够告诉、有效地完成人们制定的对信息进行各种操作的自动化综合系统。
那么它能做些什么呢?玩游戏?听歌看电影?……上述的都是我们生活中对电脑某些娱乐性功能的片面理解,当然了,这些也是计算机的用途,但我要说的是它能自动完成人无法在短时间内完成的工作、自动完成可靠、精准的科学数据的运算、自动记忆和检索人脑无法承载的海量信息并长久存储……似乎所有目光都提留在“自动”二字,它之所以如此“自觉、强大”,简单来说,就是因为它具有:快、准、海量存储、逻辑判断能力、自动信息处理能力、网络通信能力、稳定、可靠和通用等功能特点。计算机看似已经“完美”,但是其作为人类制造出的机器,也有着它的弱点。比如面对无法表示为有限的和确定的需要计算的数据、大小和精度无法表示在固定范围内的数据……计算机会无能为力。简言之,计算机不能解决那些不可计算性的问题。
历经四代计算机的发展,当前计算机发展的趋势是由大到巨、由小到微、网络化、智能化,但是迄今还没出现第五代计算机,我对此也是拭目以待,生活、工作、整个社会都将由此改变。谈了对于计算机的浅显理解,现在谈谈什么是计算思维吧。
结合课本,计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动,它是算法思维、协议思维、计算逻辑思维、计算系统思维、三元计算思维(人、机、物)的结合。不仅仅属于计算机科学家,我们每个人都应该具备这种基本技能。那么为什么呢?它有什么必要性或者说好处呢?首先,我们在生活中会遇到各种难题,有的不是靠我们自己简单的判断、思考就能解决的,而计算思维运用计算机科学坚实的理论基础可以准确回答难题中的一些特定问题,比如“有多难?怎样才是最佳的解决办法?等等”。计算思维可以化繁为简、化难为易;它是一种递归和并行处理;计算思维采用了抽象和分解;计算思维是恢复的一种思维;计算思维利用启发式推理。
那么接下来就是课堂和课本希望在思考的问题了:如何培养和训练计算思维?我们可以结合生活实例,浅显地表达。比如:在超市结账时,你选择去排哪个队伍?早晨去上课时,你会把那些东西放入书包?……这些问题都可以利用计算思维来解决。很简单,我会选择排短的队伍,这就是多服务器系统的性能模型;会把平时要用的物品(手机、校园卡、钥匙、充电宝……)以及当天要用到的课本放到书包里,这就是预置和缓存。所以说,其实计算思维并不是高高在上,而是和我们紧密相连。我们可以通过以下几点来逐渐养成计算思维:①首先是相关课程的学习,应该对整个计算机科学有一个整体的认知,去理解计算机科学的概念、思想和基本方法,在对专业内涵和方法论有所了解后再进一步明确学习的目标;②要意识到计算思维不仅仅是程序化的,而是在抽象的多个层次上进行思维,这就要求我们利用自己的想象力和创造力去分析和解决问题,注意培养自己严谨的抽象思维能力;③加强学习实践,在此过程中激发我们对计算机科学领域的好奇心,以及培养怀疑精神和求异思维。
总而言之,计算机和计算思维之间相互支撑又相互制约,我们应该通过本课程学习到关于计算机和计算思维的专业知识,并进一步理解其内涵,探索计算机科学领域,关注计算机的发展甚至为其做工下,进而为生活和社会发展做贡献。
参考文献:
[1]郭艳华,马海燕.计算机与计算机思维导论
(作者单位:中国计量大学现代科技学院)