您好, 访客   登录/注册

普林斯顿大学计算机网络课程教学方法的启发

来源:用户上传      作者: 张明华 韩彦岭 周汝雁 梅海彬 黄冬梅

  摘要:以普林斯顿大学计算机系的计算机网络课程COS461为例,分析教学内容、实验与作业、课程考核、教学方式4个方面的教学资源特点和教学方法。针对上海海洋大学该课程教学中存在的问题,思考如何借鉴国外著名高校的优质教学资源,提高教学质量。
  关键词:计算机网络;教学方法;普林斯顿大学;教育资源共享
  文章编号:1672-5913(2013)14-0086-05 中图分类号:G642
  1 背景
  计算机网络是我国高等院校计算机专业学生的一门核心基础课程。随着云计算、物联网、大数据时代的到来,计算机网络已成为新兴信息技术的核心基础设施,同时,它与信息安全、Web编程等技术息息相关,因此,计算机网络课程在专业人才培养知识体系中的地位越来越重要。
  在计算机网络课程的教学中,荷兰阿姆斯特丹自由大学Tanenbaum教授编写的教材《计算机网络》传播广泛,它是一本伴随着网络一起发展与成长的书,每个版本分别对应了网络应用的不同阶段。在国内,第3版中文版被许多大学选为教材或主要参考书,然而,除了教材,我们对国外如何教这门课却知之甚少。近年来,继麻省理工学院率先公开教育课件之后,国内外高校纷纷开始重视这项工作,优质教育资源共享成为利用信息技术提高教育质量的重要途径,这给我们进一步了解、学习国外计算机网络课的教学方法提供了条件。
  通过调研美国著名大学在网上发布的课程资源我们发现,全面公开计算机网络课程资源的学校还不是很多。通过对比分析,我们选择普林斯顿大学的计算机网络课程进行研究,原因是:(1)普林斯顿大学是美国常春藤联盟的成员之一,其高质量的教育教学资源有重要的参考意义;(2)普林斯顿大学计算机系发布的计算机网络课程资源最新最全,是2013年春季学期正在进行的课程,且包含讲授这门课需要的全部教学资料,能够反映该学校的实际教学情况;(3)在课程设置上,上海海洋大学和普林斯顿大学的情况类似,都是将计算机网络作为一门课来开设,因此更便于将优秀的教学资源在我们的教学实践中应用。
  普林斯顿大学计算机系的计算机网络课程编号为C08461,其先修课程是编程系统导论COS217,另外从完成本课程的编程作业方面考虑,建议最好也学过操作系统COS318或高级编程技术COS333。我们将首先分析一下COS461的教学方法,然后在此基础上,就如何利用其教学资源,结合我们教学过程中出现的问题,给出解决的思路。
  2 COS461的教学方法
  我们将从教学内容、实验与作业、课程考核、教学方式4个方面介绍普林斯顿大学计算机系计算机网络课程的教学情况。
  2.1 教学内容
  COS46 1选用的教材及推荐的参考书见表1,主要是让学生学习计算机网络的原理及其提供的服务,包括网络体系结构分层与协议、发现与路由、分布式资源分配、Internet应用、网络案例等。
  第1部分介绍网络体系结构的各个层次及主要协议,具体包括课程概述、数据链路层、套接字编程、网络层、传输层和HTTP应用层。
  第2部分介绍网络中关于命名、寻址和路由的问题,使得数据能够到达远端的计算机,包括ARP、DHCP、DNS及路由选择协议等。
  第3部分介绍如何在相互竞争的网络用户中有效、公平地分配资源,包括拥塞控制、拥塞避免、链路上的队列管理、路由选择协议的收敛性、移动设备路由、防火墙、隧道、多播与任播等。
  第4部分介绍因特网中的应用,包括内容分发网(CDN)、分布式哈希树(DHTs)及应用、P2P文件共享、数据中心、远程过程调用RPC等。
  第5部分介绍网络案例,包括无线网、蜂窝网、数据中心网、骨干网等。
  第6部分介绍网络安全,包括加密、安全通信协议、域间路由选择安全性问题。
  第7部分涉及更高级的话题,包括Intemet测量和软件定义网络(SDN)。
  此外,课程还针对不同教学内容给学生提供了相应的阅读文献,可以看出,这门课的内容非常丰富,既有广度又有深度。教师在教材的基础上增加了网络领域的前沿研究内容,比如SDN。在计算机网络的某些经典知识点中又进行了深层次的探讨,比如路由选择协议的收敛性、安全性。
  2.2 买验与作业
  COS461课程中共有5次大作业,每次大作业都提供了详细的功能要求、评分细则、编程技术指导,并提供所需的工具与环境等。为了评分的公平和方便,教师要求学生统一使用实验室机房的编程环境,但提供了3种上机实验的方式,即学生可以到实验室做,也可以在自己的寝室利用SSH远程登录到实验室的机器上做,还可以安装虚拟机软件(推荐VirtualBox)在机房环境的镜像系统中做实验,学生可以方便地安排自己做作业的时间和地点。所有作业都是在Linux环境中完成,具体情况如下:
  (1)作业0,编程学习如何使用网络套接字。这是一个预备性的作业,目标是使学生掌握Unix套接字编程,实现简单地客户与服务器的交互。要求用C/C++语言实现,服务器端程序能够用TCP接收并显示客户端发送的文本消息,当有多个客户发起连接请求时,能够顺序处理每个客户的请求;当多个客户同时发起请求时,能够依次处理每一个客户的请求;客户端能够从文件中读取消息发送给服务器。
  (2)作业1,编写一个支持并发的HTTP代理服务器。教师为学生提供了单用户的测试脚本、并发用户的测试脚本、编程框架、主要实现步骤和一些细节的说明。
  (3)作业2,实现一个简单的Intemet路由器。能够接收原始以太网数据帧,然后根据路由表将数据帧正确地转发出去。数据帧的产生,测试的网络环境和网络设备由斯坦福大学研发的Mininet来实现。Mininet是一个可以在普通计算机上运行的虚拟网络,主要用于开发、教学和研究。学生负责实现静态路由表的创建及分组数据的转发。   (4)作业3,实现一个简单的TCP协议。教师给学生提供部分源码、可参考的客户端和服务器端代码、涉及网络知识点的介绍、主要实现步骤及一些提示。
  (5)作业4,Intemet测量。该作业包括流量测量和BGP测量,给学生提供一些可以公开下载的网络数据,学生提交对这些数据的分析报告,感性地理解Internet的重要特性。
  通过分析我们看到,这些作业综合性强,选题与实际生活结合紧密,且更侧重于培养学生的动手实践能力,学生通过一个作业就可以掌握和理解计算机网络体系结构中一至两层的核心内容。另一方面,教师对作业应实现的功能进行了明确的描述和界定,为学生提供了全面、细致的讲解和技术提示,给学生独立完成作业创造了条件和空间。
  2.3 课程考核
  学生学习这门课的总成绩组成是:期中考试成绩占20%,期末考试成绩占25%,4次编程大作业每次的成绩占12%,考勤成绩占7%。期中、期末考试均为闭卷,考试内容来源于课程讲义、阅读材料和平时布置的大作业。
  每次作业的截止日期为当天的晚上11点59分。对于每次作业中第1个提交作业并得到满分的学生会给予特殊的分数奖励,而对于迟交作业的学生也会有不同程度的扣分。具体规定是:晚3小时提交的按实际成绩的95%计,晚12小时提交的按实际成绩的90%计,晚24小时提交的按实际成绩的80%计,晚2天提交的按实际成绩的70%计,晚3天提交的按实际成绩的60%计,晚7天提交的按实际成绩的50%计,更晚的按实际成绩的20%计。如果是因为生病(需有医生的证明)或确有特殊情况(工作太忙不算)不能按时交作业,应在第一时间告诉老师,这样才能被宽限。另外,虽然已经晚了超过7天的时间,但为了能通过这门课程,学生仍然需要在课程结束之前提交作业。
  总的来说,从COS461确定的考核方式中能够反映出:(1)平时作业非常重要,它和闭卷考试有相同的地位,学生要取得好的课程成绩,单靠考试时下工夫是不行的,这样对学生的评价也更公平合理;(2)并不严格要求学生一定要每节课都来听课,这样给有能力的学生留下了一定自由的空间;(3)制定的评分规则虽然严格但也不失人性化的考虑,比如对于迟交作业还有一个有趣的约定,每个学生在整个课程学习中有1次“免费”的1天迟交机会,同时建议学生不要把这个宝贵的机会用在第一次作业中。
  2.4 教学方式
  通过分析COS461的课件可以看出,案例式、问题式、探究式、讨论式等多种教学方法被综合运用在课程的教学过程中。比如,在课程概述部分,教师通过大量具体的案例、数字、图表来说明因特网(Internet)是个让人既兴奋又紧张的领域,然后提出“因特网是什么”“因特网的设计是怎样来应对各种新的挑战的”等问题激发学生了解、学习因特网内部原理的兴趣。
  整个课程共44学时,每学时50分钟,其中有3次课是在春季假期中。实际上,课程时间并不多,那么教师是如何解决内容多而时间少的矛盾呢?相对于计算机网络本身众多的知识点,教师在课堂教学中讲授的内容却是非常有限的,主要是一些基本概念和思想,具体细节则留给学生课下去研究清楚。因此,课堂上的内容只是教材里的部分章节,但每章的内容都会涉及。其余的课时一部分用来补充网络编程知识,一部分用来做专题讨论,还有一部分专门留给学生读指定的文献及准备期中、期末考试。
  这种教学理念使得教师在整个教学过程中起到的是引路人、指导者、讨论者、监督者的作用,学生成为课程学习的主人。但这对教师的要求更高,因为在有限的课时里讲的内容综合性更强,具有一定的深度,而且布置的作业、阅读材料应突出重点、难易适中,这样才能保证学生的学习质量。
  3 计算机网络课程教学的几点思考
  学习普林斯顿大学计算机网络课程的教学方法和教学资源的最终目标是为了提高我校课程的教学质量。本节首先分析我们在教学过程中发现的问题,然后结合COS461课程的优秀教学资源和方法,就如何提高教学质量提出几点想法。
  3.1 当前教学中的问题
  上海海洋大学是上海市、国家海洋局和农业部共建的一所普通本科高等院校,学校在转型发展阶段亟需培养具有海洋特色的各类人才。计算机网络课是计算机专业本科生的一门核心专业课程,总学时48学时,其中课内实验学时6学时,在大学三年级下半学期开设。目前,在课程教学中存在的问题有:
  (1)由于实验学时非常有限,实验以网络协议分析为主,学生的网络编程能力得不到有效锻炼,影响了对网络原理的理解。
  (2)教学内容主要是网络体系结构的各个层次及其协议,偏重原理,学生要记忆的内容多,与实际生活相关的网络应用常常简单带过,网络领域的前沿内容也很少涉及。
  (3)对于某些典型的网络实验,比如编程实现客户一服务器的交互通信,学生通过网络搜索就能够找到一个完整的解决方案,但学生并没有真正得到提高。
  (4)教学模式单一,老师讲得多,学生被动接收,因此自主学习能力不强。通过分析我们认为,造成这种现象的原因是多方面的。从学生的角度来说,一方面学生的基础比较薄弱,而且多年来接受的教育已使他们习惯于这种学习模式,因此,相当一部分学生希望老师讲得细致些;另一方面,到了大三,有的学生对毕业后的发展已经有初步的规划,和将来工作关系不大的课程就不太愿意花费时间精力去学,只想应付了事。从老师的角度来说,探究式、讨论式等新的教学模式需要学生的积极参与才能起作用,学时也有限,而现有的教学能够保证基本教学内容的完成。
  3.2 几点想法
  教学方法的改革是一个长期的过程,而且需要随着社会对人才培养的要求、学生对象的特点、教育理论的发展而动态变化。从分析普林斯顿大学的计算机网络课程资源过程中,我们体会到,不管采取什么样的教学理论和方法,提高教学质量的一个重要前提是要提高教师自身的综合素质。尤其是在地方院校,学生的基础薄弱,教师需要花费更多的精力去指导,才能有所收获。针对上述问题,我们从以下几个方面借鉴C0s461的做法或教学资源进行改进。   1)教学内容方面。
  改变以前紧扣课本的思想,学生容易理解的内容略讲或不讲,重点、难点进行细讲,减少课本内容在课堂讲课中的比例。按照模块化思想组织教学内容,增加对实际网络案例和网络研究领域的前沿方向的介绍。
  2)实验方面。
  将COS461的作业拆成几个小的题目,降低难度,供学生实验使用。布置实验题目时,教师应给学生增加更多的限制条件,比如,提供程序框架、固定编程语言,明确程序的功能和性能要求,这样一方面学生有了指导和方向,另一方面使他们在网络上找不到现成的程序。另外,在修订本科培养计划时,考虑增加一门网络实验选修课,以更有效地提高学生的实践能力。网络实验课教学大纲的制定将是今后教改研究的另一个主要内容。
  3)考核方面。
  提高平时成绩在总成绩中的比例,即期末考试成绩占50%,平时随堂测验成绩占20%(共2次),实验成绩占20%,考勤成绩占10%。严格课程教学的过程管理,在迟交作业方面,借鉴COS461课程的办法。
  4)教学方式方法方面。
  在课程学习开始之前,从学生的角度考虑,使他们明白这门课的重要性,激发学习兴趣。在教学过程中,以案例式教学为主,结合问题式,启发式教学方法。尤其是在网络案例、学科前沿的介绍中,多从应用的角度讲解,先让学生听得懂、有兴趣,然后再了解其中有什么理论。另外,将COS461的开源实验资源介绍给学生,结合平时成绩特别奖励机制,鼓励成绩优秀的学生以小组的形式去完成COS461的其他大作业,比如HTTP代理,路由器仿真,简单TCP协议。一方面在学生中起到带头、感染周围学生的作用,另一方面也可以借此了解学生对于这些作业的接受情况。最后,习题作为一种特殊的案例,可以用来检验、加深学生对网络原理的理解。
  4 结语
  信息技术在教学中发挥着越来越重要的作用。随着网络技术的发展和深入应用,更多国外的优质教学资源可以被获取和方便地使用,这给我们提高计算机网络课程的教学质量提供了新的思路。我们在分析了普林斯顿大学计算机网络课程COS461的教学方法和教学资源之后,结合我们课程教学中存在的问题,就如何借鉴国外的教学资源和方法进行了初步的探讨。我们将在今后的教学中努力地加以实践,以期更好地促进教学。
  (编辑:孙怡铭)
转载注明来源:https://www.xzbu.com/8/view-5784311.htm