一、引言

近年来,美国卡内基·梅隆大学周以真教授对计算思维的系统阐述,引起了国内计算机学者的关注,在计算机基础课中进行计算思维培养的教学改革也迅速开展起来。计算机网络是高校的一门重要课程,也是计算机应用和信息技术类专业必修的基础课程。在这门课程的教学过程中加强计算思维的培养非常重要,它对于提升计算机网络课程教学水平、提高学生的学习能力乃至推动网络技术的发展都具有重要意义。

二、计算思维的概念

1996 年麻省理工学院(MIT)的 Seymour Papert教授最早提出了计算思维这一概念[1],2006 年美国卡内基·梅隆大学周以真教授对计算思维进行了系统阐述。周以真教授认为,计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[2].要理解这个概念,必须对概念的内容进行深刻分析,才能掌握它的含义、特征和本质。

从概念的内容来看,计算思维属于思维的范畴。

思维作为一种心理现象,是人认识世界的一种高级反应形式。具体来说,思维是人脑对客观事物的一种概括、间接的反应,它体现了客观事物的本质和规律。从思维的定义可以看出,人脑是思维的主体,自然界的客观事物是思维的原料,通过实践活动对客观事物从直接感知到借助于语言的抽象概括构成了思维活动。按照思维的形成和应用领域,思维可以分为科学思维和日常思维。显然,作为涵盖计算机科学之广度的一系列思维活动,计算思维属于具有科学性和严谨性的科学思维的范畴,它的活动主体也是人脑,也就是说它是人的思维。从人类认识世界和改造世界的思维方式出发,科学思维可以分为理论思维、实验思维和计算思维。理论思维又称为逻辑思维,是人们认识事物时能动地使用概念、推理、判断等方法对客观世界的认识过程,具有推理和演绎的特点。实验思维又称为实证思维,是人类通过观察和实验的过程归纳出自然规律的方法,具有观察和归纳的特点。计算思维又称为构造思维,它以形式化和机械化为特点,通过具体的算法来构造和解决具体问题。

区别于理论思维和实验思维,计算思维有其独有的特征。计算思维是随着计算机的飞速发展体现出来的,计算机在海量信息处理、复杂系统模拟和大型工程组织方面,具有自动、精确和可控地实现从思想到产品整个过程的能力,这使得人类思维活动中以形式化、程序化和机械化为特征的计算思维得到充分的体现。另外,计算机、计算机科学的发展是以计算理论的发展为基础,计算理论是对计算本质的理解和探索,主要包括算法与算法学、计算复杂性理论、可计算性理论、自动机理论和形式语言理论等。其中,算法在计算思维中有着重要地位,它是计算的灵魂,它所包含的算法设计策略如穷举法、回溯法、递归法、分治法、贪心法和动态规划等已应用在生活的很多方面。当前,计算思维已经成为推动人类文明进步和科技发展的三大支柱之一,其"抽象化、能行性、机械性、自动化、构造性等"特征已经在指导社会实践中得到充分的验证。

三、计算机网络中的计算思维

计算机网络是指将地理位置分散的、具有独立功能的计算机,通过网络协议连接成能够共享软硬件资源的集合。经过长时间的发展,计算机网络的体系结构和组网技术已经非常成熟,基于计算机网络的应用也非常丰富。计算机网络对国家的经济建设、国防建设以及人们的日常生活和思维方式产生了巨大影响。计算机网络为什么会有如此大的影响力?这是因为,计算机网络从产生和发展到网络体系结构的形成,再到网络协议标准的制定等,都潜藏着计算思维的影子。因此,本文将从计算机网络课程教学内容中发掘一些计算思维的思想和方法,为今后在教学中培养计算思维提供参考。

(一)分层思想体现计算思维的约简方法

计算思维在解决一些从未解决的困难问题时,通过约简、嵌入、转化和仿真等方法,转化为一个人们已知其解决方案的问题,从而有效地化解了难题。分层思想是计算思维约简方法在计算机网络中的具体体现,它对计算机网络技术的影响很大。计算机网络体系结构就是通过分层思想解决诸多复杂问题的典范,它将计算机技术和通信技术等诸多复杂问题分类化简成独立的、容易的小问题,然后分别解决并形成独立的功能。在数据交换机技术中,分层思想体现为把报文拆分成更小的分组,用分组交换技术代替报文交换技术,从而减少存储转发时延,提高传输效率。此外,组网时根据网络设备的不同作用和功能,可以将一个网络划分为接入层、汇聚层和核心层,同样体现了计算思维的简约思想。对于数据链路层、网络层和传输层对应的数据单元,可以根据分层思想划分出不同意义的字段空间。另外,IP 地址的组成结构也体现了分层思想。

(二)计算思维并行处理的思想在网络中的体现

要提高计算机网络中通信线路和网络设备的利用率,增强信息的传输效率,需要采取各种网络技术和方法,对网络中的数据流实现并行处理,并行处理思想在网络各个层次中都有所体现。

在物理层,信道复用技术使用复用器将多路用户信息聚合成高速信号在单一的线路上进行传输,然后使用分用器将收到的高速信号分给相应的用户。网络设备的接口以全双工的方式来传输高速信号信息,这样就实现了信号数据的并行处理,提高了通信线路和网络设备的利用率。

在数据链路层,交换机的使用将一个物理信道划分为多条虚拟的信道,可以保证多个用户并行收发信息且互不干扰。

在网络层,分组交换技术和存储转发技术可以保证非即时性的突发数字数据并行处理。分组数据是由数据报文拆分成的非常小的数据块,它在存储转发的过程中占用的存储空间小,转发时延短,从而可以实现网络层的并行处理。

在传输层和应用层,传输层为应用进程提供端到端的传输服务和逻辑信道。应用层主要面向网络应用程序的使用,这两层并行处理的对象都为进程,无论是计算机的操作系统还是网络设备的操作系统对于进程的并行处理都已形成成熟的机制。

(三)计算机网络中的递归思想

递归的认识是从斐波那契数列、汉诺塔等问题开始,经过数学家的研究,递归算法在现代科学的多个领域都有直接的应用。根据邱奇-图灵论点,一切可以计算的函数都是递归函数。这实际上是将递归算法上升到思想的高度,递归思想已经成为计算思维的重要组成部分。递归思想在计算机网络中的表现有很多方面。例如,OSI 参考模型将计算机网络分成七层,网络中各结点按照协议实现对等层之间的通信。不同层次的形成是通过不同层次的协议字段封装实现的,下层通过封装加上了实现本层功能的信息,同时包含了上层数据单元的信息。在通信的过程中,发送信息节点将原始数据从高层到低层一次次地封装,最后将封装后的数据信息发送到传输线路上;接收信息节点收到来自传输线路上的信息后,将数据信息从底层到高层一次次地解封装,最后还原出原始信息。在整个通信过程中,反复进行的封装和解封装这两个互逆的过程实际上就是递归过程。此外,在计算机网络中,当本地 DNS 服务器对用户的域名解析请求无法直接回复时,"递归查询"解析就会启动。也就是说,在本地 DNS 服务器上查询不到用户要求的域名和 IP 地址对应列表时,本地 DNS 服务器就会自动递归到上级 DNS 服务器查询,然后将查询结果返回并保存到本地 DNS 服务器的解析列表中。

(四)广播技术体现了计算思维的穷举方法

穷举法是靠"蛮力"直接简单地解决问题的方法,即在问题求解过程中,只要确定了问题解的空间范围,就可依靠穷举法这种简单的逐一测试办法找到问题的解。由于计算机网络拥有运算速度快的优势,穷举法成为计算机网络中非常有用的方法。计算机网络中的广播技术就是穷举法的具体应用。

例如,在一个以太网中,源主机必须知道目标主机的 MAC 地址才能与未知的目标主机实现通信。那么,怎样才能获取目标主机的 MAC 地址呢?首先,源主机利用 ARP 协议(地址解析协议)向以太网中发送含有目标主机 IP 地址的 ARP 协议广播数据包,以太网内的其他主机都可以收到源主机发出的广播数据包,直到目标主机收到 ARP 协议广播包后就会响应源主机的请求,把自己的 MAC 地址告诉对方以实现通信。在上述过程中,利用 ARP 协议广播的过程就是从网络的未知主机中穷举出目标主机的过程。此外,其他如网络层 IP 协议通过发送广播地址的方式寻找默认网关、DNS 服务器地址、DHCP 服务器地址以及动态路由协议进行路由选择等过程,本质上都是利用穷举法实现目标的过程。

(五)计算机网络的可靠性保障机制体现了计算思维

计算思维按照预防、保护的方式维护系统,并通过冗余、容错和纠错方式,在最坏的情况下进行系统恢复,从而保证系统的可靠性。计算机网络的可靠性保障机制就是按照这样的方式,在网络部分节点发生故障的情况下,仍然可以通过冗余线路为用户提供服务,同时使网络迅速恢复到正常的稳健状态。这种机制体现在计算机网络的许多方面,我们从差错控制、安全性控制和增强适应性三个方面进行探讨。

在差错控制方面,计算机网络主要进行两种类型的控制:一是对信息传输过程中出现的错误进行控制,二是对由于网络信道拥塞造成的数据丢失进行控制。第一类控制主要通过提高线路和传输设备的性能和质量以及在数据链路层采取纠错的方法来实现。比如,大量采用光纤作为传输媒介,就会大大降低数据传输的错误率。第二类控制主要通过传输层 TCP 协议的流量控制及拥塞控制来实现。比如,通过 TCP 协议的窗口滑动机制可以随时根据接收方的处理能力和网络的处理能力选择一个最合适的发送速率,同时,对于因为网络长时间拥塞而导致丢失的数据可以采取重传措施,从而有效保障了网络的可靠性。

在安全性控制方面,计算机网络是从物理和逻辑两个角度入手:一是通过增加冗余线路、冗余设备和增加备份电源的方式,保证计算机网络物理属性的安全;二是对接入层、汇聚层和核心层分别采取设置安全访问控制列表、进行管理身份认知和强制密钥授权等措施,三管齐下保障计算机网络逻辑属性的安全。

增强网络的适应性实际上是计算机网络对于新趋势、新技术、新理念的适应能力。比如,对于当前 IPV4 地址池出现枯竭的问题,通过采用 NAT 技术(地址转换技术)以及 IPV6 地址版本就可以从根本上解决。另外,对于当前网络用户要求"人性化"服务的新趋势,计算机网络广泛采用了 WEB2.0 技术,从而推动了网络应用互动水平的提高。

四、在计算机网络课程教学中培养学生的计算思维

要把计算机网络课程打造成一个培养计算思维的平台,首先要对计算思维的本质做到全面的分析,发掘潜藏在计算网络中的计算思维和方法,并从教学内容组织和实验设计方面进行教学改革。

(一)教学内容组织

要在计算机网络课程教学中组织和呈现相应的教学内容,从"导出问题,寻求思路,进而引出解决方法,或得出实现方法的角度"入手是一个好的办法。按照这样的组织结构实施教学,可以使具体的教学过程成为问题的解决过程。比如,教师在讲解网络协议时,可以先引入"在计算机网络中,不同型号、不同厂商、不同操作系统的计算机如何实现通信"这一问题,其解决思路是在它们之间设计一个共同遵守的规则程序,有了这个程序就可以识别不同计算机的信息,最后通过这个程序的"翻译"实现它们之间的通信,从而可以推出网络协议的具体理论讲解。

(二)实验设计

网络实验是通过实践验证学生网络理论知识的重要教学环节。学生通过亲自应用网络技术验证网络的知识,锻炼计算思维在网络中的应用。以培养计算思维为目的的网络实验设计应当从网络理论知识、网络技术和计算思维三个方面入手,循序渐进。

首先,设计一些简单的基础性实验,并讲清楚步骤、结果和其中蕴含的思维。通过实验,使学生加深对理论知识的理解。

其次,设计综合性实验,提高学生使用网络工具和应用网络技术的能力。教师可以把实验中需要的网络设备和连接方式以及所用的网络技术告诉学生,让他们动手去实验功能。

再次,通过构造性试验,使学生能够自主地运用计算思维的方法,建立有效的数学模型,构建和设计实验过程,了解运用计算思维方法处理问题的过程[3].比如,教师只给出特定环境的网络需求,让学生思考后建立网络拓扑模型,写出网络配置步骤,最后给出结果。

五、结束语

在计算机网络课程中培养学生的计算思维,是大学计算机教育改革的重要内容。本文解读了计算思维的概念,详细分析了计算思维在计算机网络中的应用和体现,并以解决网络问题为导向,从教学内容组织和实验设计两个方面对课程教学改革做了初步探讨,以期为推进我国的计算机网络课程教育改革提供参考。

计算机网络对我们思维的影响,计算机网络教学中学生计算思维的培养相关推荐

  1. 大一计算机思维知识点,大学计算机基础教学中计算思维的培养途径

    摘要:从几个侧面思考和探究在大学计算机基础教学中培养学生计算思维的途径,提出通过整合教学内容,将不同的知识点归纳为不同的知识单元:通过实验教学,提升学生运用计算思维处理问题的能力. 关键词:计算思维: ...

  2. c语言程序设计臧,C语言程序设计教学中计算思维培养.pdf

    Advances in Education 教育进展, 2014, 4, 36-41 Published Online May 2014 in Hans. /journal/ae /10.12677/ ...

  3. 计算思维就是使用计算机程序,什么是计算思维+计算思维的含义

    什么是计算思维计算思维的含义 你知道计算思维吗?计算思维是运用计算机科学的基础概念进行问题求解.系统设计.以及人类行为理解等涵盖计算机科学之广度的一系列思维活动.下面小编为你整理计算思维,希望能帮到你 ...

  4. 计算机网络对区域经济的影响,计算机网络技术对区域经济发展影响分析.doc

    计算机网络技术对区域经济发展影响分析 计算机网络技术对区域经济发展影响分析 摘 要:伴随着计算机网络技术的不断发展,当前计算机技术已经被广泛应用到各行各业当中,并且为我国社会经济的发展提供了巨大帮助. ...

  5. 计算机基础技能培养,计算机应用基础教学中计算思维与应用技能的双重培养

    [摘要]分析非计算机专业计算机基础教育改革必要性,探讨应用技能与计算思维培养相结合的发展思路.建议加强学生计算思维的培养,提高学生的逻辑思维能力,同时建立基于知识点聚类的网络课程,使得课堂与网络教学之 ...

  6. 计算机思维在化工方面的应用,计算思维在化学上的应用.pdf

    计算思维在化学上的应用 作业题目2 --化学及化学软件与计算机中的表示.存储.执行的关系 (专业:化学) 1.计算思维与化学 计算思维是运用计算机科学的基础概念进行问题求解.系统设 计.以及人类行为理 ...

  7. 计算机思维在化学上的应用,计算思维在化学上的应用

    动.它包括了涵盖计算机科学之广度的一系列思维活动.计算思维利用启发式推理来寻求解答,就是在不确定情况下的规划.学习和调度.计算机科学不是计算机编程.像计算机科学家那样去思维意味着远不止能为计算机编程, ...

  8. C语言在中学教学中的作用,C语言教学中学生编程能力的培养

    [摘要]C语言是计算机专业学生的基础课程,学习好C语言不仅能激发学生学习的兴趣,而且对以后的课程学习也大有帮助,学好C语言的关键是掌握编程技巧,从多年的实践教学经验来看,编程技巧的主要应从以下几个方面 ...

  9. 初中计算机罗辑思维测试,逻辑思维能力测试20题_数学教学中学生创造思维能力的培养...

    数学课堂教学不仅要使学生获取知识,更重要的是使学生学会科学思维的方法,把开发智力.提高技能.培养创造思维能力,有机地融入到教与学的全过程.要做到这一点,教师要深入钻研教材,掌握教材的实质及纵横联系,创 ...

最新文章

  1. 【转】无服务计算(Serverless Computing)核心知识
  2. CentOS 安装中文语言包 教程
  3. KOA中的ejs的基本使用
  4. SpringCloud注册与发现Eureka
  5. c语言中srand的作用,C语言中srand(), rand(), time()函数  转载
  6. 《管理3.0》读书笔记
  7. 罗马盘,大力盘,大圣盘等网盘资源搜索免费下载资源教程
  8. 微积分(第二版) 吴传生 编|高等教育出版 课后习题答案
  9. 最强的右键菜单工具:超级右键专业版 mac中文版
  10. 微信小程序video控件的使用
  11. 几种不同的json格式解析
  12. 计算机学校排名高中,高中学校排名/全国高中排名一览表
  13. Codeforces C. A Mist of Florescence
  14. dts无损音乐什么意思_QQ音乐,网易云,AppleMusic谁的音质好?
  15. 若依的${params.dataScope}
  16. 做销售如何有效地维护好与客户的关系
  17. SMTP与POP的默认端口号
  18. origin论文画图记录
  19. 真-C++通过函数名字符串调用函数
  20. 2015最新微信分享功能开发,自定义分享内容。

热门文章

  1. SAS基础练习(一)
  2. iOS-入门HelloWorld
  3. GCD之barrier
  4. ZOJ 1242 Carbon Dating
  5. 多个构造器参数使用构建器
  6. 关于opencv的几个小总结
  7. 按创建日期删除指定日期之前的文件夹及文件夹下的所有子目录
  8. cocos2d-x中CCEditbox导出到lua
  9. DBCC命令2:状态查询
  10. PHP empty操作记录