贾伟,肖宁,李鑫
(山西财经大学信息管理学院,山西太原 030006)
学科建设与教学研究
计算思维在计算机网络课程教学中的应用
贾伟,肖宁,李鑫
(山西财经大学信息管理学院,山西太原 030006)
从培养计算思维对计算机教育的重要性入手,解读了计算思维的概念,分析了计算思维在计算机网络中的体现和应用,并从教学内容组织和实验设计两个方面对计算机网络课程实践教学改革进行了初步探讨。
计算机网络;计算思维;教学改革
近年来,美国卡内基·梅隆大学周以真教授对计算思维的系统阐述,引起了国内计算机学者的关注,在计算机基础课中进行计算思维培养的教学改革也迅速开展起来。计算机网络是高校的一门重要课程,也是计算机应用和信息技术类专业必修的基础课程。在这门课程的教学过程中加强计算思维的培养非常重要,它对于提升计算机网络课程教学水平、提高学生的学习能力乃至推动网络技术的发展都具有重要意义。
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]Seymour Papert.An Exploration in the Space of Mathematics Educations[J].International Journal of Computers for Mathematical Learning,1996,1(01):95-123.
[2]陈国良.计算思维导论[M].北京:高等教育出版社,2012:10-11.
[3]朱勇,杨洪伟,宋晓强.大学计算机基础教学中计算思维的培养途径[J].计算机教育,2013(05):35-38.
[责任编辑:高巍]
The Application and Implementation of Computational Thinking in Practical Teaching of Computer Network Course
JIA Wei,XIAO Ning,LI Xin
(School of Information Management,Shanxi University of Finance&Economics,Taiyuan 030006,China)
This article starts with the importance of cultivation of computational thinking in computer education,interpreting the concept of computational thinking,analyzing the application and implementation and of computational thinking in computer network. In the end,the article conducts a fundamental research and discussion of the reformation of the practical teaching of computer network course based on the organization of teaching content and experiment designing.
computer network;computational thinking;education reformation
G642
A
2095-106X(2015)03-0050-04
10.13782/j.cnki.2095-106X.2015.03.010
2015-08-06
山西省教育科学“十二五”规划2013年度课题“云服务环境下区域教育协同创新模式的研究”;2012年山西省高等学校教学改革项目“基于校企合作的项目驱动式实践教学模式研究”(J2012053);2013年山西省高等学校教学改革重点项目“财经类专业数据管理与分析课程群教学体系研究”(J2013047)
贾伟(1961-),男,山西临汾人,山西财经大学信息管理学院教授,主要研究方向是网络资源管理、电子商务;肖宁(1968-),男,广西北流人,山西财经大学信息管理学院教师,主要研究方向是软件工程、电子商务;李鑫(1980-),男,山西怀仁人,山西财经大学信息管理学院,主要研究方向是网络信息资源开发与利用。