《网络程序设计课程教学改革探索.docx》由会员分享,可在线阅读,更多相关《网络程序设计课程教学改革探索.docx(10页珍藏版)》请在金锄头文库上搜索。
1、网络程序设计课程教学改革探索 网络程序设计课程教学改革探索胡庆辉a,阮晓霞b,陆玉靖c(桂林航天工业学院a.信息工程系;b.外语系;c.汽车工程系,广西桂林541004)摘要:针对“网络程序设计”课程教学中存在的问题,根据课程的特点和要求以及应用型本科教学的要求,提出了该课程的教学改革设想,在理论和实践教学内容的选取、教学方法的设计及教学评价考核等方面进行了分析和研究,并在教学过程中进行了实践,结果表明在提高学生学习兴趣、增强学生动手能力、巩固学生对知识的理解和掌握等方面有一定的积极作用。关键词:案例教学;网络程序设计;评价体系;实践教学基金项目:广西教育厅十二五教改重点项目(20XXJGZ0
2、65)资助作者简介:胡庆辉(1976-),男,副教授,博士,重庆开县人,主要从事多核学习、监督学习、半监督学习及数据挖掘等方面的研究。一、背景随着计算机和网络的普及,在我们身边,随时随地都在利用各种应用程序实现用户之间的交互。打开浏览器,打开各种各样的聊天和通信工具,我们随时接触到的是网络。未来的IT产业,计算机网络相关的应用将成为核心。高性能的服务器设计、分布式程序的管理、数据的高效传输以及数据传输过程中的安全控制等,都是网络程序设计者要考虑的问题。“网络程序设计”作为“计算机网络”的后续课程,是计算机相关专业的一门重要课程,该课程将计算机网络技术及实践应用有机地结合,对学生加深理解和运用计
3、算机系统、计算机网络的基本原理及程序设计能力的提高等,都起到至关重要的作用。无论学生将来是从事软件工程、网络工程项目的设计与开发,还是计算机网络相关的科研和管理工作,都极有可能需要进行网络程序设计,因此这门课程在教学中占有重要地位。但在实际教学过程中,我们发现不少学生存在程序设计能力不强、操作系统及计算机网络基础知识不扎实等问题,主要体现在以下几方面。1.学生编程能力差,不能熟练运用VC开发工具。目前的一些高级开发工具,如VC、Java、VB、。NET、Delphi等,都可以实现基于网络协议栈的编程,但是除了VC以外,其他开发工具都是在一个较高抽象层次上进行面向对象的开发,利用这些工具学生无法
4、深入理解操作系统网络通信的底层接口,而VC环境提供了底层的网络编程接口,因此通常是作为“网络程序设计”开发环境的首选。但由于VC环境中的MFC基础类库非常庞大,系统结构复杂,应用程序设计接口难于掌握,因此尽管学生在此之前已经学习了“C语言程序设计”及“面向对象程序设计”等基础课程,也很难在短时间内熟练理解和运用VC开发工具。2.一些前期的专业基础课掌握不扎实。本课程会大量涉及到“计算机网络”和“操作系统”两门课程的基本内容,如线程、进程、同步、互斥等概念;网络协议模型中各层次的地位及工作原理;等等。而这些课程只偏重理论的教学,没有将一些原理应用到实践上,导致学生理解困难,没有办法灵活运用。3.
5、现有的“网络程序设计”教材内容难易程度往往出现两极分化,有的过于注重基础,只讲授简单的套接字接口、应用层的FTP、HTTP和POP3协议等方面的编程,没有涉及到与身边密切相关的一些网络程序,如广播、多播技术、ARP欺骗技术、P2P数据交换技术等,学生只能学到一些简单的应用,和工作的需求相距较远。有的教材偏难,甚至涉及到底层协议的开发,这样的教材也不适合应用型本科层次的学生。针对以上问题,本文根据多年的“网络程序设计”课程的教学经验,对该课程的理论教学及实验教学内容进行了探索,提出了教学改革设想,针对理论和实践教学内容、教学方法和教学评价过程进行了研究,提出了适合于应用型本科计算机专业“网络程序
6、设计”课程的改革方案,并在教学过程中进行了实践,实践结果表明新方案在培养学生学习兴趣、巩固基础知识及提高实践能力等方面有一定的积极作用。二、课程的改革措施1.教学内容的选取。作为应用型的本科院校,课程教学内容的选择要难易适中,同时符合社会对人才的需求,注重学生能力的培养,本课程偏重于学生的网络编程能力,对操作系统原理、计算机网络知识的理解和运用能力、工程驾驭能力等方面的培养。教学内容既要注重基础,也要注重实际应用的需要,强调课程的工程化和实用性等特点。为了便于学生理解相关的原理,我们针对每一部分教学内容都设计了相关案例,通过案例教学,将操作系统、计算机网络的基本原理、网络协议、一些经典的网络编
7、程技术和实际应用案例等内容有机整合。在理论教学中,我们选择了8个方面的内容进行讲授,并设计了一一对应的教学案例,如表1所示。在所涉及到的教学内容中,第1部分对过往知识的简单回顾,包括所涉及到的计算机网络、操作系统等方面的知识,并以一些常用的网络程序为例,简单介绍其工作原理;第2部分是考虑到学生没有VC的编程经验,通过对话框应用程序和单文档应用程序,简要介绍MFC的基本框架以及用VC程序的架构、代码的执行过程等;第3部分是对传输层之上的套接字编程接口进行介绍,同时通过设计一个应答的聊天程序,让学生理解套接字的工作过程;第4部分介绍了一个典型的应用层协议FTP的软件开发,其他的如POP3协议、HT
8、TP协议等与FTP协议的开发过程异曲同工,因此没有介绍;第5部分通过多线程方式实现FTP文件的上传和下载,让学生掌握多线程技术;第67部分选择的是一些与身边密切相关的网络应用,包括广播和多播、网络扫描和检测技术及点对点(P2P)通讯技术等。2.实验内容的设计。实践教学环节是对课堂教学环节有益的补充,也是提高学生自身能力的关键环。考虑到学生自身水平参差不齐,我们根据课堂讲授的内容以及知识点的内在联系,设计由浅入深、由易到难的实验,尽可能选择身边应用比较广泛的案例贯穿实验环节,课堂上所讲的案例可以作为学生上机的DEMO,学生在此基础之上补充和完善。根据难易程度,我们将实验教学所涉及的知识结构分成三
9、个层次:第一层是基础实验,强调学生熟悉VC开发平台和利用套接字接口实现基本网络通讯程序;第二层是高级实验,它在基础实验之上,实现应用层FTP协议的编程、多线程编程、ARP欺骗及打洞编程等;第三层是我们设计了两个综合实验,将综合运用所学的网络知识和编程知识,实现一个较大的程序,学生在完成高级实验时,也可以自己选择题目,但要求选择的题目必须能够体现知识的充分应用。前两层实验要求学生必须在指定的时间内完成,第三层综合性实验要求学生利用课外时间或课程实训时间完成,然后统一在实验室演示和考核。由于网络程序都涉及到客户端和服务器端的通讯,单独一个学生很难在有限的时间内完成每个实验,因此要求学生进行合理分组
10、,每组23人,共同协作,完成实验内容,这也有利于培养学生的项目协同能力。每次实验结束后,要求每个小组提交实验报告,按照软件工程的思想编写报告内容,涉及到问题的描述及定义、问题的解决方案、问题的设计思路与规划、概要及详细设计、编程体会等。实验报告是对每个案例的总结与回顾,可以加深学生对案例及相关理论知识的理解和掌握,锻炼学生的文档编写能力。3.教学方法的设计。在课程教学过程中,根据其工程性、实用性等特点,我们采用了经典的案例教学法,采用经典案例贯穿整个教学过程,选择的案例尽量保证知识点之间的连贯性,比如在讲多线程编程技术时,可以在已开发的FTP客户端程序基础之上完善完成多线程的上传和下载功能;在
11、讲到打洞技术时,可以在第3部分已经设计的简单聊天程序之上,实现不同局域网之间的通信;等等。在教学时由浅入深、循序渐进,改变传统的“填鸭式”教学模式,从以教师教为主向以学生学为主的方向转移,尽量让学生积极参与到教学过程中。由于该课程有较强的实践性,通过案例教学和实践,很容易激发学生的自主学习兴趣,提高学生的创造性思维。4.构建合理的学生评价体系。在对学生考核评价体系的改革方向上,力求过程评价与结果性评价、形成性考核与终结性考试、精确性评价与模糊性评价相结合;考核内容应以课程标准为依据,倡导灵活多样的考核原则,考虑学生差异,注重学习和发展过程评价。考核方法不再仅以传统的卷面考试方式来评判,实验过程
12、的评价占有较大的比重,根据学生在小组中承担的工作量及小组的完成情况,给出每个学生的成绩,这样可使一些动手能力强但考试成绩不理想的学生获得满意的评价结果。三、结语通过对“网络程序设计”课程的教学改革,我们设计了符合应用型本科人才教学的课程教学内容,根据课程工程性、实用性的特点,将教学理论与实践应用紧密地结合,构建案例教学的模式,促进学生构建良好的知识体系。在上机实践环节,我们采用了分组的方式,充分发挥了每个学生的优势,增强了学生的动手能力、写作能力。实践表明,改革后的教学方法有效地解决了以往教学中存在的学时少、学生动手能力差、理论与实践脱节、知识理解和掌握不牢固等问题,取得了良好的教学效果,对其他课程的教学和实践具有重要的指导意义。参考文献:1蒋峥峥,陈晓红,王进,等。网络工程专业“网络程序设计”课程的案例教学实践J.计算机教育,20XX,(2):27-31.2刘琰,常斌,罗军勇,等。面向能力培养的网络编程技术课程教学方法探讨J.计算机教育,20XX,(18):52-55.3王云儿。新建应用型本科院校以能力为导向的学生学业三维评价模式探析J.教育研究,20XX,(6):102-106.4彭胜,丁雷。基于网络程序设计课程的教学模式改革J.科技教育,20XX,(3):188-189.5李庆华。计算机专业网络编程课程教改研究与探索J.福建电脑,20XX,(6):59-60.