《网络工程专业“网络程序设计”课程的案例教学实践.docx》由会员分享,可在线阅读,更多相关《网络工程专业“网络程序设计”课程的案例教学实践.docx(9页珍藏版)》请在三一文库上搜索。
1、学习好资料欢迎下载网络工程专业“网络程序设计”课程的案例教学实 践在网络工程专业中开设“网络程序设计”课程是为了让该专业的学生在学习计算机网络理论知识的基础上,理解网络程序设计的基本原理,掌握基本的网络程序设计模型, 具备网络应用 软件与系统开发的能力。然而,在笔者多年的教学过程中发现, 这门课程内容多、学时少、实践性强,而编程调试的难度又令很 多动手能力差的学生失去了学好这门课程的信心。如何充分利用有限的课堂教学时间使学生完成理论与实践的有机结合,掌握网络程序的设计思想和开发方法,是亟待解决的问题。因此,笔者 提出以案例为主线,将案例教学法应用于课程的多个教学环节中 的教学方法,取得了良好的
2、教学效果。1教学现状1.1课程地位作为本科院校的网络工程专业, 培养目的不能局限于“组网 工程”,而要根据各种类型的用人单位对网络工程专业人才需求 的不同层次,坚持理论和工程实践结合,知识与能力并重,强化 工程素养训练,培养基础知识扎实的,具有较强的分析问题和动 手解决问题能力的,能从事和网络相关的科研、 工程和应用工作 的多层次综合性人才。因此,该专业不仅要求学生掌握与网络工 程相关的基础知识与理论,以及各种网络系统设计、建设与维护 技术,如网络协议体系、网络互联技术、网络服务、信息安全、 组网实践、网络测试与管理等相关知识, 也要求学生掌握基本的 网络应用软件与系统开发的知识与技术, 这样
3、才能满足学生在以 后的工作与学习过程中的多元化需要。在网络工程专业的课程体系中,“网络程序设计”这门课程属于专业选修课,目的是让学生在学习了“计算机网络”等理论 课程和“ C#程序设计”或“ JAVA程序设计”等基本编程技术的 基础上,了解网络程序设计的基本概念, 深入系统地学习计算机 网络编程技术,从网络编程实现的角度更深层次地理解计算机网 络的理论和协议,同时,培养学生开发实用且具有网络通信功能 系统的能力。1.2课程内容“网络程序设计”课程与一般的程序设计课程不一样。一个网络通信程序必须由客户端与服务端相互通信来实现,因此,“网络程序设计”课程侧重于“网络通信”,在教学上不能像一般的程序
4、设计课程那样偏重于程序设计语言的基本语法和用法, 而应强调网络程序的编程思想和开发方法。从课程内容来说,本门课程以某种具体的程序设计语言为基 础(如cm程序设计语言),结合一些高级编程技术,如多线程 编程、数据流处理、异常处理机制等,实现对网络中的各类协议 进行编程开发,如图1所示。1.3存在问题1)学时有限。由课程内容可以看出,“网络程序设计”课程涉及多种网络 编程技术,涵盖的知识点非常多。同时,随着技术的不断进步, 内容还在不断地加深和丰富。但由于这门课程属于专业选修课, 学时安排一般比较少(大部分院校该课程安排在48学时左右),其中还包括学生上机实验,因此课堂讲授时应尽可能兼顾编程思 想
5、、开发方法和各种网络编程的技术,以最少的学时让学生掌握 尽可能多的知识。2)学生动手能力差。这门课程的工程实践性非常强, 对学生使用程序设计语言的 能力要求非常高。前期的“C龍序设计语言”课程中, 教师受学 时限制,往往会降低难度,在高级程序设计技术方面介绍较少, 大部分学生只局限于掌握老师上课讲的内容,不会课后主动花大量时间深入研究,动手调试程序的能力比较弱, 不具备软件项目 开发所需要的各项综合能力,理论与实践严重脱节。2案例教学的可行性案例教学法是指教师根据教学内容及目标,通过创设案例, 组织学生开展分析、研究、表达等活动,让学生在具体的问题情 境中积极思考、主动探索,从而培养学生综合素
6、质的一种教学方 法。起初,案例教学主要应用在管理学、法学等学科的课堂教学 中。目前,案例教学在程序设计语言课程中也有很多应用,但主 要集中在对一些具体技术的讲解, 在案例处理及选择方面缺乏连 续性,各章节知识点的案例相互割裂, 无法体现各知识点之间的 联系,在“网络程序设计”课程中的应用仍然较少。在设计网络程序时,不再是简单的单机程序, 而是由多个用 户程序互相通信来实现。因此,一个网络程序更类似于一个小型 项目系统的设计。案例教学对于几乎没有项目开发经验的学生来 说,是掌握这门课程的最佳途径。 设计好的案例可以将学生引入 特定的情境中,启发学生思考,拓宽学生分析问题的思路,培养 学生解决问题
7、的能力、实际动手能力与创新能力,让学生最终学 会网络程序的设计思想和开发方法, 符合“网络程序设计”这门 课程理论与实践并重的基本要求。3案例教学的实施本课程内容多、学时少、工程实践要求非常高。因此,在教 学过程中,要以解决实际的网络程序设计问题为中心,立足协议的运用,设计合理的案例,注重理论与实践的紧密结合。3.1案例设计在案例设计时要兼顾以下几点:1)一个案例中要包含尽可能多的知识点,兼顾知识点之间 的联系。例如,设计一个网络聊天的案例,由客户端和服务器端 进行通信,功能包含打字聊天、语音对话、传送文件等。这个案 例中包含了 Socket编程技术,TCP UDR FTP协议编程,以及 多线
8、程编程技术、数据流和异常处理机制等知识点,在这些知识 点和技术的配合下实现这个网络聊天系统。2)在设计案例时要从实际应用的项目中寻找,激发学生的 学习兴趣。例如,设计一个网络管理的案例,包括ping、主机扫描、端口扫描、活动主机发现等功能。这个案例的功能在“ 360 安全卫士”中都有,容易使学生产生主观感受,激起开发热情。本课程的教学中,设计的案例如表 1所示,6个案例涵盖了 图1中的所有知识点。3.2实施步骤设计好合理的课程案例后,整个教学过程以案例为主线进 行,具体的教学实施分3个阶段:上课讲解、上机实践、总结评 价。下面从3个教学环节具体介绍案例教学法在整个授课过程中 的应用。3.2.1
9、上课讲解在理论教学时,首先通过案例引出授课内容, 演示案例的运 行效果,让学生对案例有个全局认识,引起学生的兴趣。然后, 教师以项目开发的方式, 对案例进行分析和设计, 以软件工程的 思想画出案例的设计框图,为学生日后进行项目开发打下基础。 再针对案例中涉及的知识点逐个进行理论讲解,将先修课程中的计算机网络及协议的理论知识应用于程序设计中,让学生在网络程序设计的过程中进一步加深对理论知识的理解。在讲课时要注意以下几点:1)由浅入深、循序渐进。例如,在网络聊天案例中,介绍 TCP编程的知识点时,首先 结合TCP协议的理论,归纳TCP编程的一般步骤;然后以 C#吾 言为例,介绍实现TCP编程所用到
10、的类;根据编程步骤,由 C# 类实现一个简单的客户端发送“ hello ”消息给服务器端的小程 序,利用投影仪当堂演示小程序的编写和调试。在调试时,可以 故意设置一些障碍,例如不运行服务器端,故意造成客户端连接 失败,从而逐步培养学生的程序调试能力。同时,可以在此基础 上引申出异常处理这个知识点, 循序渐进地引出TCP消息边界问 题、多线程编程、数据流等知识点。2)注意知识点的融合与比较。课程设计的案例往往包含较多的知识点,要注意不要将知识点相互孤立,要加强对这些知识点的融合和比较。例如,在文件 传输的案例中,FTP编程知识点和数据流知识点就要融合起来讲, 不能割裂。在讲计算机编程时,结合FT
11、P文件传输协议仔细讲解 FTP协议传输的网络数据流和文件数据流之间的区别和联系,并 实际编写课堂小程序展示两者之间的关联,加深学生对这些知识点的融合与比较。另外,在后面的课程中,介绍网络下载案例时, 可以与之前的文件传输案例进行比较,从实际编程的角度比较分析P2P技术的文件传输与FTP协议的文件传输,并用多台机器配 合演示两个案例的实际运行效果,让学生在掌握P2P技术与FTP协议的理论知识后,从实际编程项目的角度加深对理论知识的理 解。3)理论联系实际、培养动手能力。在理论课讲授过程中注意理论知识的讲授与程序的编程、调试的演示要交叉进行,给学生一个良好的起点,激发学生自己动 手的兴趣。在讲课时
12、要注意控制好节奏, 留给学生一定的思考时 间与空间;在编程或调试的过程中要不断地抛出问题,引导学生思考、分析和讨论,从而帮助学生逐渐增强在编程时分析问题、 解决问题的能力。由于讲课课时有限,对每个案例不可能都尽善 尽美地在课堂上讲解调试完成,因此,每节课结束后都要留几个问题,让学生课后去思考,主动查找资料完善程序,然后在上机 实践环节中编程调试。学生上机的内容,由传统的验证型编程改 为综合型、设计型项目的编程。这样可以引导学生的发散性思维, 进一步激发学生的学习兴趣, 让学生课后主动探索,寻找问题的 解决方案。322上机实践在程序设计类课程中,上机实践环节是必不可少的。 让学生 亲自动手编程,
13、学会程序的分析、设计、编程以及调试,提高实 际动手的能力。本门课程涉及比较难的程序设计内容,在调试程序时又需要多个通信主机配合,因此,在上机实践环节,可以打 破传统,由34个学生组成一个小组,共同完成每个案例的编 程调试,这样做有几个优点:1)增强团队意识,提高上机效率。学生的动手能力参差不齐, 有的善于查找资料,有的善于编 写代码,有的善于程序测试等。让他们34人组成一个小组,由组长带领,发挥各人的特长,共同讨论,互帮互助,相互配合,可以在有限的上机课时中更好地完成案例内容,提高上机的效率。2)激发学生的编程兴趣和斗志。传统的上机课时有限,上机内容一般是每个学生独立完成, 而网络程序设计的编
14、程、调试难度比较大,大部分动手能力差的 学生遇到错误无法找到出错的地方,产生极大的失落感,慢慢地就失去了对网络程序设计的开发热情。采用小组合作的方式,小组内成员互相探讨共同完成一个项目的开发,容易产生成就感, 激发编程的兴趣。小组之间还可以互相竞争, 比比看谁的系统更 好,这样,又避免了上机抄袭的现象,比传统的独立完成验证型 实验能收到更好的效果。323总结评价在每个案例的上机实践环节结束后,要求每个小组撰写提交 实践总结报告,内容包括:案例的功能描述、总体设计思路与框 图、详细设计、问题及解决方案、编程技巧与心得体会等。撰写 总结报告一来是对每个案例的总结与回顾,加深学生对案例及相关理论知识
15、的理解;二来是为日后撰写毕业设计论文做准备,锻炼学生的写作能力。在最后评定成绩时,不再以传统的卷面考试方式来评判,而是结合同学们的理论和实践能力,综合考评,成绩以优、良、中、及格、不及格5个级别给出。因为上机实践是以小组的形式进行 的,因此在考评时也以小组为单位进行考核。在此基础上,综合考量每个学生在小组中的角色和工作量的多少,最终评定出每个同学的成绩。3.3效果分析“网络程序设计”课程选择具有启发性、典型性且来源于实 际的案例,将理论知识应用于具体的编程实践,让学生在上机编程的过程中进一步体会理论知识, 提高了学生的学习兴趣和学习 主动性。在上机实践环节以小组形式加强互助合作,增强编程成就感的同时,提高了学生的编程、调试能力,培养了学生分析问 题、解决问题的能力和进一步学习新的网络编程知识与技术的能 力。4结语在“网络程序设计”这门课程中采用案例教学的方式,是一次有益的尝试。让教师在有限的课堂教学时间里讲授更多的知识 点,将理论与实践更紧密结合,促进学生构建良好的知识体系; 在上机实践环节采用小组方式, 充分发挥学生的主观能动性, 增 强学生的动手能力、写作能力,有效地解决了以往教学中存在的 学时少、学生动手能力差、理论与实践脱节等教学难题,取得了 良好的教学效果,对规范网络工程专业“网络程序设计”课程的 教学和实践具有重要的指导意义。
链接地址:https://www.31doc.com/p-11220527.html