基于网络仿真软件的计算机网络原理课程教学改革
2020-02-26阿喜达
阿喜达
(内蒙古科技大学包头师范学院 信息科学与技术学院,内蒙古 包头 014030)
0 引 言
计算机网络原理是高等学校计算机相关专业的核心基础课程,也是其他计算机网络相关课程的前导课程。该课程的教学目标是使学生能够学习和掌握计算机网络的基本概念、原理、方法和具体实现技术等基础知识[1]。因课程内容抽象、理论性强、协议繁多和算法复杂,导致学生对课程内容不容易理解、学习主动性差;教师组织教学困难、实验成本高、实验效果差;课程整体教学目标很难达到。
1 相关研究
随着计算机网络硬件设备的不断升级,大数据、云计算、物联网已成为国民的生活方式,但是无论计算机网络原理课程内容还是教学目标都与社会需求和技术现状严重脱节,计算机网络原理教学改革势在必行。计算机网络原理课程教学改革成为广大教学工作者的研究热点。
文献[1]分析了计算机网络原理课程“自顶向下”和“自底向上”两种经典的教学模式,并详细阐述了该课程的教学模式改革实践。文献[2]针对计算机网络技术在不同专业领域的应用需求,分析了计算机网络课程和专业课程之间的联系,探讨了计算机网络课程针对不同专业的差别化教学,提出了两级N 类教学模式。文献[3]提出了以企业的需求为导向,采用以问题为导向加强学生的综合实验能力的培养。文献[4]对计算机网络原理课程实验教学过程中存在的问题进行了总结,并且对实验教学进行实验内容、实验教学方式与实验考核方式的改革探究与实践。文献[5]分析了学生毕业以后可能从事的工作岗位所需的与计算机网络有关的知识或技能,据此对教学内容、教学过程以及教学方式进行了重新设计,最后在课程实施过程中收集教学改革的绩效反馈并不断改进教学。文献[6]针对计算机网络原理课程项目偏少、实验设备利用率不高等问题,提出了更新实验教学内容并借助教学管理平台向学生提供远程实验方式,提高了学生学习的主动性和积极性,提升了教学效果。文献[7]以深度学习和混合学习相关理论为指导,设计了基于深度学习的计算机网络原理课程混合教学方式,通过分析学生就业后工作的主要内容倒推教学内容并重新组织知识点,构建了基于翻转课堂的计算机网络原理课程教学模型。
从上述相关研究看出,很多教学工作者对计算机网络原理课程进行了教学改革的探究。以上研究成果主要包括教学模式改革、教学方法改革、教学内容改革、实验方式改革和评价体系改革等方面。同时,教学效率和学习效果上得到了很大提升,但是实验费时、成本高、设备数量不足、算法验证困难仍是亟待解决的问题。
2 计算机网络原理课程教学中存在的问题及原因分析
计算机网络原理是现代计算机科学领域的一门核心主干课程,是计算机及相关专业必修的专业基础课程之一,其课程内容涵盖计算机技术与通信技术两个学科,包括计算机网络的基本概念及数据通信的基本原理、网络体系结构、局域网、广域网、Internet 等。该课程具有概念抽象、协议多、实操性强、技术更新快等特点,学生学习难度大,教师组织教学困难。
以内蒙古科技大学包头师范学院为例,该课程采用理论教学和上机实验相结合的教学模式。虽然很多上机实验课时在总课时中的占比提高了,但是仍然延续着实验教学过于依赖机房的硬软件条件,从而导致以下问题。
(1)组织实验耗时长。传统的机房环境下,实施任何一次计算机网络实验需进行布线、交换机配置、节点IP 配置、网络测试等基本环节。只要实验内容或测试角度稍有变化,需重复以上步骤。实验费时费力,效率极低。
(2)设备数量不足。因为每一项计算机网络实验都需要多个各类节点组成拓扑结构才能进行测试,所以各小组同时进行各自的实验时,设备数量不足。
(3)设备型号单一,难以满足异构型网络实验需求。为了降低维护和管理成本,学校采购的实验设备品牌型号统一,缺乏多样性,从而导致满足不了异构型网络实验的需求。
(4)实验成本高。计算机网络技术更新快,普通教学机房硬件条件下,很难测试最新技术的性能指标。但是仅仅为了某个计算机网络技术或原理,采购昂贵的设备,不符合学校客观条件。有些高校为了降低成本,采用C/S 模式的模拟仿真网络实验室。虽然一定程度上降低了硬件设备成本,但是高配置服务器的日常维护成本也提高了。
(5)算法验证困难。传统的网络实验室环境下,通过ping、tracert 等操作系统自带系统工具或Wireshark 等抓包工具达到观测演示性实验还是比较好实现,但是执行需要更改参数(如丢包率)的验证性实验时,此类工具软件明显力不从心。
通过对内蒙古科技大学包头师范学院计算机科学与技术专业和物联网工程专业已修完该课程的学生问卷调查(调查人生100 人,涵盖两届学生)发现,从学生角度,主要有以下因素导致教学效果不理想:内容抽象、算法复杂、协议繁多、实验课时少、缺乏基础知识、自身投入时间少等,如图1 所示。通过对任课老师进行访谈,了解到影响教学效果的主要因素有算法实验验证难度大、实验费时、实验成本高、实验设备数量不足、激发学生的学习热情困难等,如图2 所示。
图1 计算机网络原理课程难度调查(学生角度)
图2 计算机网络原理课程难度调查(教师角度)
3 基于网络仿真软件的教学改革
解决计算机网络课程教学中存在的问题的方法是利用网络仿真技术。网络仿真是一种利用数学建模和统计分析的方法模拟网络行为,通过建立虚拟的网络设备和网络链路模型,实现模拟真实的物理网络环境,以低成本高效率地达到设计、测试、优化网络以及教学目的。
3.1 网络仿真软件
市面上的网络仿真软件是五花八门,应用需求不同可选择不同的网络仿真软件。主流网络仿真软件对比见表1。对比结果而看,OMNeT++更能满足计算机网络原理课程改革需求。
3.2 教学目标改革
网络仿真软件和传统的计算机网络实验不是对立的,彼此相依却无法相互包容或代替。基于计算机网络仿真软件的计算机网络原理课程可以不局限于时间空间,更合理地定位教学目标。例如,因硬软件环境有限而只能定位在“理解”或“了解”层面的教学目标现可以提升到“掌握”层面。教学改革前后教学目标对比见表2。
在表2 中,根据计算机仿真软件功能模块,适当调高相应的教学目标。例如,因实际应用少和实验要求底层结构调整繁琐,传统教学中IPv6部分[8]的教学目标定位在“理解”层面;但是基于OMNeT++仿真软件教学时,这部分的教学目标定位在“掌握”层面。随着教学目标的提高,对学生知识点掌握程度也提高。为了达到预期教学目标,对教学过程进行必要的调整。
表1 主流网络仿真软件对比
表2 教学改革前后教学目标对比(√:前 ○:后)
3.3 教学方式改革
(1)灵活安排教学顺序。大多数计算机网络原理课程教材基本上是概述、物理层、数据链路层、网络层、传输层、应用层及计算机网络应用技术或网络实验等,按照协议栈的自底向上顺序编写。现状是很多任课老师习惯性地遵照教材编排顺序组织教学。基于计算机网络仿真软件的教学模式下,教师可以根据仿真软件,以软件工程的角度,从简到难实施教学。这种教学顺序不仅有助于理论联系实际,也有助于理解仿真软件的架构,对后续仿真实验打基础。
(2)调整理论教学和实验教学时间安排。实验课和理论课的时间安排一般有两种形式:一种是交叉式,另一种是集中式。交叉式就是上1~2节理论课后,上一次实验课。交叉式的优点是能趁热打铁,学过的理论知识能及时地得到应用和强化。交叉式的缺点是容易产生知识碎片,缺乏知识点间的融会贯通。集中式就是前半学期上理论课,后半学期上实验课。相对于交叉式集中式的缺点是理论知识得不到及时强化、知识过期严重、缺乏练手导致无从入手。计算机网络仿真软件教学模式下,不受死板的实验课程表和固定的机房环境的约束下,学生可以利用自己的业余时间上“实验课”,以至于形成“学中做,做中学”的良好教学环境。
(3)积极采用项目驱动式教学方法。传统的灌输式教学,尤其像计算机网络原理这类理论抽象的课程,容易导致重教轻学,不利于培养学生的创新能力。对此现象,建构主义就曾提出,应该强调学习者的主动性,认为学习是学习者基于原有的知识经验生成意义、建构理解的过程。在此基础上产生了项目驱动式教学方法[9]。项目驱动式教学的核心是项目设计,项目设计需遵循以下三个原则:①保证项目的可行性,项目应考虑难易程度和学生具备的知识技能为前提;②保证项目具有典型性,抓住课程重点,紧扣培养目标进行设计;③设计的项目需具有连贯性,以前一个项目为基础扩展难度和复杂度。
3.4 评价方法改革
教学评价是根据教学目标,制定科学的标准,运用一切有效的科学手段,对教与学过程中的现象及其效果进行测定、衡量,并进行价值判断,为教与学提供反馈的一个过程[10]。教学评价按照评价内容的不同可分为过程性评价和成果评价。内蒙古科技大学包头师范学院从2015 年起全面推行过程性评价为主、成果评价为辅,过程性和成果评价相结合,形成兼顾学习目标和学习过程的教学评价体系。基于计算机网络仿真软件的计算机网络原理课程的教学评价需进行相应的调整。
(1)评价内容应该包括考勤、预习情况、课堂参与度、实验和项目完成情况等。因项目是基于网络仿真软件完成,所以通过项目的完成度可评价学生的团队合作能力、组织协调能力、成果展示表述能力等,不以单纯的完成度来评价整个团队成员对知识点的掌握情况。
(2)评价方式一般包括作业、测试、现场提问、演示、考试、提交项目报告等。每个评价方式建立成长档案是过程性评价的核心,为了考核学生对整体知识结构的掌握程度考试是最有效的成果性评价方式。
(3)评价项目比例分配:一般平时成绩占60%,期末考试占40%。具体比例分配如下:考勤占10%,课堂参与度占10%,项目占40%,考试占40%。
4 结 语
计算机网络原理课程是计算机科学与技术专业的一门专业基础课,笔者对该专业的连续两级学生进行了教学改革试验,发现基于网络仿真软件教学改革不仅显著提升教学效果,也带动了学生的学习积极性,同时也提高学生的编程能力。我们提出的教学改革模式也适用于其他课程教学,如计算机操作系统、软件工程等课程,这也是笔者后续教学改革研究的方向。