计算机网络课程改革反思

前言:寻找写作灵感?中文期刊网用心挑选的计算机网络课程改革反思,希望能为您的阅读和创作带来灵感,欢迎大家阅读并分享。

计算机网络课程改革反思

摘要:新经济的加速发展对工程型人才培养提出了新的要求,物联网工程作为典型的新工科建设专业需要不断探索专业建设的新方法。讨论了传统计算机网络课程存在的问题及需要改进的方向,探索了以创新型工程人才培养为导向的计算机网络课程改革措施。通过问题空间映射与变换,实现问题驱动的课程内容构建;通过对网络内容的分割和整合构建子系统模块并建立模型,提升学生的系统思维能力;通过对知识的融合实现课程贯通,形成对学科知识的整体认知;通过对具体问题抽象训练学生的本质思考能力和底层认知逻辑。在物联网工程专业的实际教学效果下表明相关的改革达到了预期目标。

关键词:新工科;物联网工程;创新型工程人才;计算机网络;课程改革;空间映射

0引言

当前,以新技术、新产业、新业态和新模式为特征的新经济革命加速发展。世界主要发达经济体纷纷启动“再工业化”战略,加快工业化、网络化、智能化和信息化的融合进程。德国、美国、法国等分别启动了“工业4.0”“新工业法国Ⅱ”“国家制造创新网络NNMI”等面向未来新经济发展的战略部署[1]。为在新工业革命发展进程中抢占具有国际竞争力的战略制高点,从制造大国向制造/智造强国的转变,我国于2015年提出“中国制造2025”,从4个方面、9项战略及10个重点领域展开部署。一方面,该战略为当前“三期叠加”的新常态发展注入强大的创新动力,将有效推动经济社会转型升级、提升国际竞争力和国家硬实力;另一方面,该战略也对高校培养创新型工程人才提出了更高更迫切的要求。为此,教育部启动了新工科建设规划:瞄准工业革命新机遇、聚焦国家新需求、谋划工程教育新发展。在理念引领、结构优化、模式创新、质量保障等多个维度开拓工程教育改革新路径,加快建设发展新兴工科,持续深化工程教育改革,培养德学兼修、德才兼备的高素质工程人才,探索形成中国特色、世界水平的工程教育体系,加快从工程教育大国走向工程教育强国[2],建设一批能体现产业和技术最新发展需求、融合创新工程教育理念的新课程是实现新工科建设目标的关键组成部分。新课程不仅指新开设的课程,更多地包含对现有课程的优化提升。因此,面向新工科建设需求,全面优化现有课程的教育教学成为一项迫切任务。为探索面向新工科建设需要的课程改革方法,这里结合多年在物联网工程专业教授计算机网络课程的实践与思考,给出面向创新和复杂问题、解决能力培养的计算机网络课程教学改革方案。

1计算机网络课程特征分析

计算机网络是物联网工程专业的核心基础课程,同时也是构建物联网应用系统的关键支撑技术。该课程具有理论抽象灵活、内容丰富分散、技术交叉融合、应用驱动创新、技术-理论-应用一体化的特点。

1.1互联网体系结构设计的基本原则既高度抽象又灵活多变

在设计互联网体系结构时遵循分层、边缘论和命运共享等基本原则[3]。其中,分层的基本思想相对比较好理解,但是在实际的计算机网络体系结构中,分层的原则并没有彻底贯彻,有很多地方违反分层原则,如关于TCP,UDP校验和的计算以及ICMP等。边缘论则涉及到对通信系统、终端用户(主机)以及分层的大型系统之间在层次关系、功能划分、目标预测的综合考量,对于初学网络的本科生,特别是没有通信背景的学生来说,其理解的难度之大可想而知。命运共享涉及到对通信实体状态的理解以及状态信息的管理方式,而状态和连接是紧密相关的两个概念。而对“有状态”和“连接”两个概念之间的关系,现有的教材通常没有对此展开讨论,导致对基本概念的理解不清,原则地把握就无从谈起。更为复杂的是,分层、边缘论和命运共享这几个原则之间还存在着关联关系,再加上网络演进过程中各种技术流派的纷争,极大地增加了学生对基本原则的理解。

1.2基于多学科融合的基本概念面广量大,且概念之间的关系松散、系统性不强

作为通信与计算机融合而来的计算机网络系统,涉及到通信学科的诸多基本概念[4],如傅里叶变换、排队论、低通滤波、波特率、编码、信噪比、香农定理等,这些通信学科的基本概念成为计算机学科的很多学生理解计算机网络底层通信原理的一道无法逾越的障碍。同时,还涉及到计算机学科中操作系统、程序设计、数值转换等基础概念,这些概念对于理解协议基本原理、读懂实现协议基本功能具有重要作用。一旦学生对先修课程中的概念掌握不好,就会影响到对计算机网络相关技术原理的理解。同时,这些概念分布在各个层次中,层内概念在层次之间关联不大,基本上处于相互独立的状态。这就使得概念的时效性大大降低:前面的概念无法及时复习,形成边学边忘的状态。

1.3协议的动态交互性与课堂呈现方式的巨大差异

从本质上看,计算机网络教学就是协议分析与理解[5]。网络协议包含静态的协议文本规范,如报文结构、状态变迁;同时也包含协议动态运行过程,如时序操作、状态触发、异常处理等随时间动态执行的细节。更为复杂的是,网络协议往往涉及到通信过程中的两个或多个实体之间的交互,并且随协议上下文环境做出动态选择。而局限于课堂教学手段和时间,理论教学往往只能偏重协议的静态特征的讲解,实验教学只能以“黑盒”的方式观察协议运行的输入及输出结果。这就使得学生很难真正理解协议的技术原理与本质特征,从而只能停留在对协议死记硬背的层面,能力的培养无从谈起。

1.4协议的独立性与相互支撑关系

从设计实现来说,每个协议都是相对独立的,有相对独立的概念体系、交互方式和技术特点[6]。从网络协议的实际运行来看,为保障网络通信的顺利进行,很多协议又是相互支撑关系,存在着动态的直接或间接调用关系(或称服务提供与使用)、分用或复用关系。协议的独立性使得知识点过于分散,缺少统领全篇的主线;协议的相互支撑导致多个协议构成复杂的网状关系,从而使得学生很容易把多个知识碎片混杂在一些,分不清隶属关系及其作用。

1.5相似/相同的概念、原理在不同层次或问题域中所呈现出的实质性差异

在计算机网络课程中,有很多概念或原理名称相同或相似,但在不同的层次中或具体问题环境下呈现出很大的差异,甚至是实质性的不同[7]。如复用,从网络层次模型上看,上层会复用下层的服务;从信道使用划分上来看,有静态复用和动态复用。如连接和无连接的概念,在物理层、网络层、传输层都是很重要的技术,但是每一层的实际实现技术原理和功能目标却完全不同。再比如窗口机制,既可以用于流量控制,又可以用于拥塞控制,并且用于流量控制时,由于应用环境、约束条件与功能目标的不同,在数据链路层和传输层具体实现时的控制原理和交互过程有着实质性差异。鉴于此,在计算机网络教学中,长期存在教师难教、学生难学现象,使得该课程停滞在浅层概念、简单计算的讲解和识记层面,严重制约着计算机网络课程的教学效果,与新工科建设目标要求相距甚远。因此,亟需从计算机网络的本质特征与创新性工程人才培养规格出发,重构教学内容,优化教学过程,将问题抽象建模、工程核心能力、创新创业意识及系统思维方式的训练与培养置于该课程的中心地位,充分发挥计算机网络在计算机人才培养中的核心作用。

2以创新型工程人才培养为导向的教学探索

2.1空间映射,问题驱动

对于学生来说,计算机网络是个既熟悉又陌生的系统,每天都在使用,但从没考虑(或经历)过网络系统的构建过程,对网络系统的复杂性及整体结构缺乏基本的认识,对构建网络的关键问题及相应的技术方案、设计原理缺乏感性认知。没有问题意识,就失去了学习的原动力。基于此,本文从交通系统入手,从道路的设计修建、车道与路标管理、车辆行驶与流量管理、路网结构与导航、货物运输等层面构建与网络课程内容(物理层、数据链层、网络层、传输层与应用层)对应的5层模型,并在每层中抽象出相应的问题。通过交通系统中的问题与网络系统中的问题相对应,将计算机网络空间映射为交通系统空间。由于学生对交通系统比较熟悉,很容易理解其中的问题,并且很多时候能够根据日常生活经验给出相应解决方案。在开始网络体系结构各层的讲解之前,通过交通系统来讨论需要面临的问题及可能的解决方案,进而总结出计算机网络中的问题,使学生了解问题,带着问题学习。并在课程相关内容结束时,再次将课堂讲授的计算机网络问题及解决方案代入交通系统进行对比。通过两个系统的双向映射,既降低了学生学习的难度,通过问题驱动学生学习的意愿,同时又使学生体会到客观事物之间相通的一面,培养通过知识迁移发现问题、解决问题的能力。

2.2系统思维,模型优先

从宏观上看,现代互联网是一个真正的复杂大系统;从中观上看,每一层(或相邻的若干层)构成一个相对复杂的中等系统,如网络层;从微观来看,每个协议都是一个相对独立的子系统。因此,在计算机网络中处处都能感受到系统的概念[8]。在计算机学科中,针对复杂系统问题的基本思路是:分层、分类、模块化、复用、封装等,将复杂大系统分解为可以直接实现的小系统,对每个小系统建立严格的模型进行验证和实现,小系统之间相互调用和整合最终实现系统整体目标,计算机网络的分层体系结构正是这一学科思想的最好实践。为将这一学科思想渗透到课程教学中,除了协议自身的内容之外,还会详细讨论两个方面的内容:协议在整个体系结构中所处的位置,该协议与其他协议之间的关系;协议模型为运行的上下文环境、约束条件、触发条件与状态变迁等。例如:三次握手协议中对时间、序列号约束与确认验证可行性之间的关系;信道分配问题中的5个假定条件的含义及作用等。通过这两项内容的深入讲解,能够有效提升学生利用专业的学科思维方式来解决复杂问题的能力。

2.3知识融合,课程贯通

计算机网络作为一门高年级的专业基础课程,其内容涉及到诸多先修课程的知识,如编程语言、数据结构、操作系统、计算机体系结构等;同时,又是嵌入式系统、网络编程等软硬件系统开发的基础。因此,在课程内容的设计上应定位于提升学生综合理解计算机学科知识、培养学生解决复杂工程能力[9]。为此,从两方面设计课程内容:一方面,综合运用先修课程的基础知识,突出协议关键数据结构、关键算法的设计以及协议源代码阅读,深入思考对比自己的设计与现有代码实现方法之间的差异性,不断提升协议实现与分析能力;另一方面,通过典型实例剖析网络技术如何支撑应用系统开发,如网络驱动程序开发基本模型、套接字编程基本模式等。这两个方面的融合使得学生通过既有知识的综合运用,深入地理解了网络协议的实现方法,并同时又理解了如何把新学到的网络知识应用于系统开发。通过这样的课程设计,使得零散的知识碎片构成一个有机的网络,有效提升学生对专业知识的认知和应用能力。

2.4问题抽象,讲透实质

在计算机网络课程中,有很多分布在多个层次的概念、技术,初看起来名称各异、差别较大,但实质都是服务于一个基本的目的或是同一问题的不同术语。如果单独对每个技术、概念进行讲解,学生很难理解且容易混淆,也看不到问题的实质及其之间的关系。如果能通过对具体问题实例进行抽象,将诸多看起来千差万别的问题统一到一个基本问题模型中,依据问题的实质建立统一的解决方法,不但能够有效提升学习效率,同时也可以培养学生深入思考的能力。这种对问题的本质思考能力和底层认知逻辑是有效应对瞬息万变的应用需求、技术革新的基本途径。通过对计算机网络课程内容的梳理,对窗口机制、流量控制、数据传输效率、信道利用率、吞吐量等分布在多个层次上的问题(机制)进行整合抽象,建立起统一的框架模型,并还原成一个初等物理问题[10],比如确认机制、连接、可靠性、重传等也能够统一到一个框架模型中。

3结语

经过在物联网工程专业教学实践中不断重构教学内容、优化教学方法,计算机网络课程的教学取得了不错的效果,得到了学生的一致好评。学生普遍认为课程信息量大、问题意识强,对于培养创新型工程能力有较大帮助。但是,还存在一些问题:优化重构后的课程内容和难度略有增加,使得课堂讲授时间比较紧张;同时,对实验教学也提出了更高的要求,原来的课内实验时间明显不足。后续将继续探索如何实现理论与实验的紧密衔接,适当扩展课外实验,使得理论教学、课内实验、课外实验能够融合贯通。

作者:张会兵 潘芳 单位:桂林电子科技大学 广西师范大学