您好, 访客   登录/注册

比喻教学法在《网络程序设计》教学中的应用

来源:用户上传      作者:

  作者简介:谢倩(1986-),女,湖南邵阳人,武汉大学珞珈学院计算机科学系,助教,硕士研究生。研究方向:Petri网理论及其应用、软件工程。
  摘要:本文针对网络程序设计这门课程理论知识抽象,晦涩难懂的特点,提出了在教学过程中应用比喻教学法。分析了比喻教学法的优势,并通过实际的教学案例对比喻教学法进行阐述。实践证明,比喻教学法的使用提高了网络程序设计课程教学效率。
  关键词:网络程序设计;比喻教学法;教学效率
  中图分类号:G642 文献标志码:A 文章编号:2095-9214(2015)08-0100-01
  《网络程序设计》课程涵盖的知识面广,涉及了多种网络协议以及编程技术,有不少的抽象理论知识,通常让教师觉得束手无策,学生学习起来也一头雾水。若是在教授过程中,合理的采用比喻教学法,将抽象的概念与学生熟悉的事物联系起来,会使得枯燥的知识变得生动形象,给学生留下深刻的印象。
  1、比喻教学法的优势
  比喻是一种常用的修辞手法,用跟甲事物有相似之处的乙事物来描写或说明甲事物。而比喻教学法,就是指在实际的授课过程中,选择合适的学生熟悉的事物,将其引申至未知或抽象的事物,从而达到让学生更好的认识新事物的目的[1]。
  《网络程序设计》理论知识讲解中,运用比喻教学法,用幽默风趣的语言将抽象的事物解释清楚,使得课堂氛围不再沉闷,不仅可以使原本模糊的概念变得清晰,还可以充分调动学生学习的积极性。
  2、比喻教学法案例分析
  (1)套接字
  在《网络程序设计》中,套接字socket是非常重要的概念,教材上的解释是:套接字是两个通信通道上的端节点。看到这个解释,学生还是不能明白套接字的内涵。为了使学生更好地理解,通常采用如下比喻。
  既然套接字是作为通信的末端,那么可以使用“电话系统”与“邮局系统”这两个同学们熟悉的事物进行类比。可以把支持虚电路服务的信道看作电话线,套接字就类似于一个电话。同样,可以把提供数据报服务的通信看作邮局系统,套接字看作信箱。而通过这两个比喻,套接字这个概念立刻变得形象起来。
  (2)基于TCP套接字编程模型
  面向连接的网络通信的建立有多个步骤,要使用多个函数。为了便于理解,可以将其比喻为“打电话”这个过程。要建立基于TCP的C-S(客户-服务器)通信,首先双方进程必须各自创建一个端点,也就是调用socket函数创建套接字,正如打电话之前,双方必须都拥有一台电话机一样。Socket是面向模型设计的,针对C-S通信双方提供不同的socket系统调用。客户随机申请一个socket号,这类似想打电话的人可以在任何一台入网的电话上呼叫。服务器拥有全局公认的socket,调用bind函数将套接字地址和所创建的套接字句柄联系起来,任何客户都可以向它发出连接请求和信息请求,这就类似于被呼叫方的电话号码告知了呼叫方。
  客户端调用connect函数发出连接请求,就好比拨打对方的电话。而服务端有可能在完成当前请求之前又发生多个服务请求,为了很好的处理这个问题,服务器调用listen函数将所有的服务请求放在一个请求队列中排队,并尽快处理这些请求[2],这就如被呼叫方在开启呼叫等待的功能,不错过任何呼叫请求。服务器端执行accept函数等待来自某一客户端的实际连接请求,实现与客户进程连接,这就如被呼叫方拿起电话,双方可以正式通话。
  然后,通信双方进程缓冲区向套接字缓冲区发送数据与接收数据,就如打电话的双方向电话机发出信号和从电话机就收信号的过程。
  最后,客户端与服务端完成数据传输后调用close函数关闭套接字,撤销连接。这就好比打电话双方通话结束后,挂掉电话。
  (3)基于UDP的通信机制
  用“邮局系统通信”来类比这一种通信机制是非常恰当的。基于UDP通信是面向非连接的,无法保证数据以正确的顺序到达。这就类似我们先后寄出两封信给对方,不能确保第一封信一定会比第二封信先到达对方手上。
  而在通信过程中,服务端和客户端双方首先都需要绑定IP地址和端口号,这就好比寄信之前,对方的通信地址我们是要已知的。而客户端发送信息以及服务端回应的时候,调用sendto函数来实现,需要指明对方的地址。这如同在寄信的时候,需在信封上要注明对方的地址信息。
  (4)协议端口
  在讲解“协议端口”时,学生总是不能理解为什么在网络通信的时候要指明端口号,为了解决这个问题,同样采取比喻教学法。
  大多数操作系统是支持多进程的,目的主机到底把收到的数据包送给哪个进程呢?就好比我们去银行办理业务,银行的业务有多种,有多个服务窗口。我们要成功地办理业务,必须知道对应的窗口号。同理,当你的主机开启多个服务时,如FTP、WWW、E-Mail多个服务,当接收到传送过来的数据包时,主机要准确的把数据包传送给相应的进程,这就需要数据传输的双方进程开启端口,这样数据包将会有标识有源端口,确保接收方顺利地将数据包传送至这个端口。
  (5)带外数据
  通常数据是按顺序传输的,然而套接字API概念性的提供了一些使用程序,从而可以使得一串数据无阻的先于普通的数据到达接收端。这就是所谓的发送带外数据。这就好比大家排队在银行依次办理业务,有个强盗拿着枪走入银行,越过整个队伍走到柜员面前。这个就可看作为带外数据。这个强盗能越过整个队伍,是因为枪标识他的特殊性,给了他凌驾于众人的权力。而带外数据的特殊性是通过数据包中“码位”中的GRG位和紧急指针共同标识的。
  3、结语
  网络程序设计课程知识面广、概念抽象难懂,要取得好的教学效果,必须打破传统的教学方法,灵活多变,不断创新。在授课的过程中,大量采取比喻教学法,结果表明,学生更好的掌握知识点,教学效率显著提升。只要认真探索,我们就可以把专业性很强的概念、原理与学生熟悉的事物相类比,使抽象的概念变得生动,易于理解,易于接受[3]。这样学生才会更有兴趣,学习的积极性更高。
  (作者单位:武汉大学珞珈学院计算机科学系)
  参考文献:
  [1]徐学福.论类比教学模式[J].广西师范大学学报:哲学社会科学版,1998,34(2):27-32.
  [2]方敏,张彤.网络应用程序设计[M].西安电子科技大学出版社,2005.
  [3]李先锋,韩立毛,胡波.比喻教学法在操作系统原理教学中的应用[J].计算机教育,2010(6):108-111.
转载注明来源:https://www.xzbu.com/1/view-11727941.htm