计算机网络实践课程的阶梯式教学法

2012-07-31 07:35刘春波钟安鸣顾兆军
中国民航大学学报 2012年4期
关键词:网络协议网络应用阶梯式

刘春波,钟安鸣,顾兆军

(中国民航大学计算机科学与技术学院,天津 300300)

对于具有明显工程技术特征的计算机网络课程,实践教学的重要性早已为该领域教育人士所公认。适逢国家和学校深化加强工程实践教育改革的大背景,因此近年来中国民航大学计算机学院的计算机网络课程大力加强了实践教学,购置了实验教学平台,增加了实践学时。人力和物力的投入虽大,教学效果的改进幅度却未能与之相称。分析原因,其核心问题在于未能综合考虑教学目标和学生实际情况,有效地组织实施教学。若教学内容简单了,则不利于真正加深学生对网络理论知识的理解,也不利于提高学生的动手能力;若教学内容复杂了,在学生“编程基础参差不齐、接受能力不一”的实际情况下,又会有相当一部分学生感觉难度太大、无从下手,继而直接放弃学习。

显然,计算机网络实践课程的教学目标应该是使全体学生真正提高计算机网络领域的工程实践能力。如何才能使不同程度的学生能力全部提高,而不仅仅是优秀学生?笔者吸收和借鉴了中外教育专家提出的教学层次理论和阶梯式教学法,并将其应用到计算机网络实践课程的教学实践中,旨在达到“全体学生能力有效提高”的教学目的。

1 教学层次理论与阶梯式教学法

美国著名的教育家Gagné R.M.[1-2]于20世纪60年代提出了学习层次理论(也称为累积学习论)。他把最终教学目标分解为多个有序的子目标,从低级子目标可以正向转移到高级子目标。所有有序目标形成了学习层次。

Haring和Eaton[3]于1978年提出了教学层次理论。他们将教学过程分为习得、熟练掌握、保持、泛化和应用5个阶段。各阶段的目标如下:

习得(acquisition):学生能够准确地获得新的技能、知识和概念。

熟练掌握(fluency):学生对新技能、知识与概念掌握得不但高度准确,而且高度熟练。

保持(maintenance):学生能够不通过进一步直接教学而保持对新技能、知识与概念的掌握程度。

泛化(generalisation):指导学生将自己的技能、知识与概念应用到不同的上下文。

应用(application):学生在获得较少教师支持的情况下自发地将自己的技能应用到较不熟悉的上下文。

中国教育家程鸿勋[4]提出了“阶梯式教学法”(又称“阶梯式学习法”)。他指出,阶梯式教学法是让在同一个教学班中不同程度的学生各得其所,各有奔头,使知识、能力各不相同的学生,沿着各自设置的目标(台阶),独自奋斗、攀登。他进而将预习、上课、复习和作业四个学习环节各自划分为五个阶梯水平。

南丽丽[5]、周庞荣等[6]、吴险峰[7]成功地将阶梯式教学法应用到了程序设计、项目开发类课程。

与以上这些有关阶梯式教学法的理论与实践相比,笔者在计算机网络实践课程中所采用的阶梯式教学法强调的是教学内容(或教学目标)的阶梯,而非教学设计的阶梯。具体地说,阶梯式教学法是将一个复杂的、高级的教学目标分解为从低级到高级、难度逐渐增大的多个目标,使得终极目标对于每一个学生都是可以实现的。

2 计算机网络实践课程体系

笔者教授的计算机网络实践课程的授课对象是中国民航大学计算机学院计算机科学与技术专业和信息安全专业的本科生。这两年来,我们以提高学生的工程实践能力为中心,在计算机网络实践课程教学中进行了一系列改革。首先,将2008级的计算机网络课程设计从20学时增加到40学时;接着,又在2009级的计算机网络(II)课程中增加了实验环节。这样,就形成了目前的由第五学期开设的计算机网络(II)课程实验(课内8学时+课外8学时)和第六学期开设的计算机网络课程设计(40学时)两部分内容组成的计算机网络实践课程体系。具体教学内容如表1所示。

表1 计算机网络实践课程体系Tab.1 Structure of computer networks practicums

教学环境方面,根据对国内多所高校的计算机网络实验室进行调研的结果,对于原有的计算机网络实验室进行了二期建设。除了补充了路由器、交换机、无线AP等真实网络设备,还专门购置了吉林中软吉大公司开发的计算机网络实验教学平台(以下简称为“中软吉大平台”)。该平台提供了IPv4网络协议、IPv6网络协议、网络程序设计3个教学模块,采用智能网络设备实现五种不同网络结构之间的自动切换,能够实现多个实验项目。学生机分为7组,每组6台,实验时人手一机。在此基础上,实践课程采取“真实环境实验与虚拟实验相结合、课内实验与课外实验相结合”的灵活多样的教学方式。

计算机网络(II)课程实验主要是验证性的网络协议分析实验,还包括具有设计性质的路由配置实验,旨在加深学生对网络协议、路由等基本概念的理解,教学难度不大。

计算机网络课程设计主要采用软件编程模式,旨在培养学生系统、综合的网络工程实践能力。课程分为两个模块:网络协议分析模块和网络应用编程模块。网络协议分析模块是对计算机网络(II)课程实验的拓展和提高,要求学生从使用协议分析器过渡到开发协议分析器,掌握网络底层开发技术。网络应用编程模块则是利用上层的套接字编程接口,开发综合性的、实用的网络应用程序。两个模块面向实用,各有侧重,但教学难度较大。本文接下来将深入介绍阶梯式教学法在这两个模块教学过程中的应用。

3 网络协议分析模块教学的三级阶梯

网络协议分析模块的终极教学目标 使得学生彻底理解数据是如何在网络中传输的。

以往教学模式 学生使用协议分析器完成验证性的网络协议分析实验。

存在的问题 有助于加深学生对网络协议报文格式的理解,但理解不够透彻;自主开发协议分析器能够解决这个问题,但涉及网络底层开发,难度较大,学生无从下手。

解决方案 设置中间阶段,提供单一协议分析的程序流程和代码框架,引导学生进入协议分析程序开发之门。

根据以上分析,将网络协议分析模块的教学分为3个阶段:使用协议分析器、半自主开发协议分析器和自主开发协议分析器,如图1所示。

图1 网络协议分析模块教学的三级阶梯Fig.1 Three-stair ladder in teaching network protocol analyzing module

阶段1 使用协议分析器。学生操作中软吉大平台中的协议分析器,捕获并分析网络数据包,理解“什么是协议”。

阶段2 半自主开发协议分析器。学生利用中软吉大平台提供的Netproto库,根据该平台给出的程序流程和代码框架,完成单一协议的分析程序。这种方式的优点是学生易于完成;缺点是Netproto库不透明,不通用。

阶段3 自主开发协议分析器。与中软吉大平台的Netproto库相比,WinPcap是一个通用的、开源的网络底层开发包,但直接学习难度较大。有了阶段2的铺垫,学生再进入这个阶段,就不再感觉那么突兀了。学生利用WinPcap库,编写完整的协议分析器或编辑器,至少支持以太网MAC协议、IP和TCP/UDP协议。

4 网络应用编程模块教学的三级阶梯

网络应用编程模块的终极教学目标 使得学生能够开发综合性的、实用的网络应用程序。

以往教学模式 教师讲完基本的套接字编程接口用法之后,让学生选择完成一个功能较复杂的网络应用程序。

存在的问题 从简单的客户-服务器通信到复杂的多用户通信,跨度较大,中间存在很多技术问题,再加上学生没有图形界面编程基础,大部分学生无法正常完成。

解决方案 设置中间阶段,教师带领学生完成一个功能较简单、但具有图形界面的多用户通信程序,揭示从“二”到“多”的技术实现手段。

根据以上分析,将网络应用编程模块的教学分为3个阶段:简单客户-服务器通信编程、多用户通信编程器和综合性网络应用编程,如图2所示。

图2 网络应用编程模块教学的三级阶梯Fig.2 Three-stair ladder in teaching network application programming module

阶段1 简单客户-服务器通信编程。学生能够使用基本的套接字编程接口开发简单的基于控制台的TCP和UDP通信程序。

阶段2 多用户通信编程。采用实例教学,使学生能够开发具有图形界面的多用户通信程序。从2个用户到3个用户,实际上是“质”的飞跃,这才是真正的网络应用程序。

阶段3 综合性网络应用编程。要求学生选择一个题目完成。教师对题目提出明确要求,学生需要在阶段2基础上,进一步学习相关知识,实现更复杂的功能。题目分为规定题目和自选题目两类。部分有代表性的题目如表2所示。

表2 综合性网络应用编程题目示例Tab.2 Examples of comprehensive network application programming projects

5 教学改革效果分析

计算机网络实践课程的教学改革从2008级开始初步实施,在网络协议分析模块中尝试采用阶梯式教学法。到2009级进一步完善和推广,网络协议分析模块重点放在协议分析编程,加强从半自主的基于Netproto编程到自主的基于WinPcap编程、从单一协议分析到多层协议全面分析的阶梯式教学;网络应用编程模块开始应用阶梯式教学法,在“简单客户-服务器通信编程”和“综合性网络应用编程”两个阶段之间增加“多用户通信编程”。下面分别从客观和主观角度对教学改革效果进行分析。

作为客观分析,将2007级至2009级三个年级的课程设计完成效果列于表3。其中优秀学生是指能够独立自主完成的学生,成绩在90分以上;良好学生是指能够完全理解所参考的案例程序并将其自主实现的学生,成绩在80分数段;普通学生是指不能完全自主完成的学生,成绩在80分以下。从表3可以看出,在生源质量没有明显变化的情况下,尽管课程设计难度有所增大,但优秀学生和良好学生的总体比例呈逐年升高的趋势,从2007级的51%提高到2009级的64%。这说明确实有更多的学生有效提高了计算机网络领域的工程实践能力。

表3 2007级至2009级的课程设计完成效果对比Tab.3 Comparison of outcome of course project from Grade 2007 to Grade 2009

主观评价方面,很多学生反映,计算机网络课程设计难度很大,完成过程很辛苦,但完成后感觉收获很大,能够第一次独立完成一个项目,很有成就感,增强了自信心。

不过,从表3也能看到,学习效果不好的普通学生所占比例还是过大,超过三分之一。根据学生反馈,网络应用编程模块还是学习难度较大。这说明,在以后的教学过程中,阶梯式教学法还要进一步细化。

6 结语

学生基础参差不齐是各个学校、各个专业的共性问题,在非重点大学表现得更为突出。因而,笔者多年来一直致力于寻求破解之道。阶梯式教学法的优势在于“分解目标、化难为易、拾级而上、逐步提高”,使得每一个学生都有希望实现终极目标。笔者将其应用到计算机网络实践教学中,并且初见成效。在教学目标有所提高的情况下,更多的学生切实提高了工程实践能力。阶梯式教学法是一种行之有效的方法,可以因地制宜地应用到其他课程的教学中。

需要说明的是,教学效果的提高是多方面因素共同作用的结果,笔者在教学过程中采取的严格管理、精心设计等手段也起到了重要作用。

目前的教学效果距离“全体学生能力有效提高”的目标尚有一段不小的距离。以后的教学改革要想取得更大的突破,一方面要把阶梯式教学法继续落实、做细,另一方面要和其他方法、手段有效结合起来。

[1] GAGNÉ R M.Contributions of learning to human development[J].Psychological Review,1968,75(3):177-191.

[2] GAGNÉ R M.Learning hierarchies[J].Educational Psychologist,1968(6):1-9.

[3]HARING N G,LOVITT T C,EATON M D,et al.The Fourth R:Research in the Classroom[M].Columbus,OH:Charles E.Merrill Publishing Co,1978.

[4] 程鸿勋.生命发展阶梯:阶梯式学习法(全新修订版)[M].北京:朝华出版社,2010.

[5]南丽丽.阶梯式教学法在C语言教学中的应用[J].计算机教育,2008(7):75-76.

[6] 周庞荣,易 斌.“梯进式软件工厂”教学模式初探[J].计算机教育,2009(24):136-138.

[7]吴险峰.阶梯式诱导——针对低起点学生的程序设计教学探索[J].新课程研究,2010(17):69-71.

猜你喜欢
网络协议网络应用阶梯式
“小步调、阶梯式”任务驱动教学法研究与实践
探讨个体化阶梯式疼痛管理模式在肿瘤晚期患者中的应用效果
泰国·曼谷
探索学时积分制 构建阶梯式成长激励体系
谈阶梯式朗读教学——以《天上的街市》为例
交通领域中面向D2D的5G通信网络应用探析
一种蓝牙多跳网络协议的设计与研究
基于载波技术的多点温度测量系统设计
基于DPI技术的语音视频流量监控系统设计与实现
新媒体视阈下青少年网络应用行为探析