资源描述:
《网络程序设计课程教学改革的探索》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、网络程序设计课程教学改革的探索.freelFC基础类库非常庞大,系统结构复杂,应用程序设计接口难于掌握,因此尽管学生在此之前已经学习了“C语言程序设计”及“面向对象程序设计”等基础课程,也很难在短时间内熟练理解和运用VC开发工具。2.一些前期的专业基础课掌握不扎实。本课程会大量涉及到“计算机网络”和“操作系统”两门课程的基本内容,如线程、进程、同步、互斥等概念;网络协议模型中各层次的地位及工作原理;等等。而这些课程只偏重理论的教学,没有将一些原理应用到实践上,导致学生理解困难,没有办法灵活运用。3.现有的“网络程序设计”教材内容难易程度
2、往往出现两极分化,有的过于注重基础,只讲授简单的套接字接口、应用层的FTP、HTTP和POP3协议等方面的编程,没有涉及到与身边密切相关的一些网络程序,如广播、多播技术、ARP欺骗技术、P2P数据交换技术等,学生只能学到一些简单的应用,和工作的需求相距较远。有的教材偏难,甚至涉及到底层协议的开发,这样的教材也不适合应用型本科层次的学生。针对以上问题,本文根据多年的“网络程序设计”课程的教学经验,对该课程的理论教学及实验教学内容进行了探索,提出了教学改革设想,针对理论和实践教学内容、教学方法和教学评价过程进行了研究,提出了适合于应用型本科
3、计算机专业“网络程序设计”课程的改革方案,并在教学过程中进行了实践,实践结果表明新方案在培养学生学习兴趣、巩固基础知识及提高实践能力等方面有一定的积极作用。二、课程的改革措施1.教学内容的选取。作为应用型的本科院校,课程教学内容的选择要难易适中,同时符合社会对人才的需求,注重学生能力的培养,本课程偏重于学生的网络编程能力,对操作系统原理、计算机网络知识的理解和运用能力、工程驾驭能力等方面的培养。教学内容既要注重基础,也要注重实际应用的需要,强调课程的工程化和实用性等特点。为了便于学生理解相关的原理,我们针对每一部分教学内容都设计了相关案
4、例,通过案例教学,将操作系统、计算机网络的基本原理、网络协议、一些经典的网络编程技术和实际应用案例等内容有机整合。在理论教学中,我们选择了8个方面的内容进行讲授,并设计了一一对应的教学案例,如表1所示。在所涉及到的教学内容中,第1部分对过往知识的简单回顾,包括所涉及到的计算机网络、操作系统等方面的知识,并以一些常用的网络程序为例,简单介绍其工作原理;第2部分是考虑到学生没有VC的编程经验,通过对话框应用程序和单文档应用程序,简要介绍MFC的基本框架以及用VC程序的架构、代码的执行过程等;第3部分是对传输层之上的套接字编程接口进行介绍,同
5、时通过设计一个应答的聊天程序,让学生理解套接字的工作过程;第4部分介绍了一个典型的应用层协议FTP的软件开发,其他的如POP3协议、HTTP协议等与FTP协议的开发过程异曲同工,因此没有介绍;第5部分通过多线程方式实现FTP文件的上传和,让学生掌握多线程技术;第6~7部分选择的是一些与身边密切相关的网络应用,包括广播和多播、网络扫描和检测技术及点对点(P2P)通讯技术等。2.实验内容的设计。实践教学环节是对课堂教学环节有益的补充,也是提高学生自身能力的关键环。考虑到学生自身水平参差不齐,我们根据课堂讲授的内容以及知识点的内在联系,设计由
6、浅入深、由易到难的实验,尽可能选择身边应用比较广泛的案例贯穿实验环节,课堂上所讲的案例可以作为学生上机的DEMO,学生在此基础之上补充和完善。根据难易程度,我们将实验教学所涉及的知识结构分成三个层次:第一层是基础实验,强调学生熟悉VC开发平台和利用套接字接口实现基本网络通讯程序;第二层是高级实验,它在基础实验之上,实现应用层FTP协议的编程、多线程编程、ARP欺骗及打洞编程等;第三层是我们设计了两个综合实验,将综合运用所学的网络知识和编程知识,实现一个较大的程序,学生在完成高级实验时,也可以自己选择题目,但要求选择的题目必须能够体现知识
7、的充分应用。前两层实验要求学生必须在指定的时间内完成,第三层综合性实验要求学生利用课外时间或课程实训时间完成,然后统一在实验室演示和考核。由于网络程序都涉及到客户端和服务器端的通讯,单独一个学生很难在有限的时间内完成每个实验,因此要求学生进行合理分组,每组2~3人,共同协作,完成实验内容,这也有利于培养学生的项目协同能力。每次实验结束后,要求每个小组提交实验报告,按照软件工程的思想编写报告内容,涉及到问题的描述及定义、问题的解决方案、问题的设计思路与规划、概要及详细设计、编程体会等。实验报告是对每个案例的总结与回顾,可以加深学生对案例及
8、相关理论知识的理解和掌握,锻炼学生的文档编写能力。3.教学方法的设计。在课程教学过程中,根据其工程性、实用性等特点,我们采用了经典的案例教学法,采用经典案例贯穿整个教学过程,选择的案例尽量保证知识点之间的连