《网络通信程序设计》课程教学存在的问题与改进

时间:2022-07-17 05:33:26

《网络通信程序设计》课程教学存在的问题与改进

【摘 要】针对当前网络通信程序设计教学过程中存在的各种问题,本文从教学内容、教学方法和考核方式三方面进行教学改进的探讨。教改措施经过网络工程本科专业学生的教学实践,有效提高学生学习的积极性和实践动手能力,明显改善教学质量。

【关键词】网络通信程序设计;实践动手能力;项目驱动法;应用型人才

《网络通信程序设计》是高校网络工程、通信工程与计算机应用等本科专业的专业必修课,是一门应用性、实践性很强的网络应用类课程。课程教学的目的是使学生理解计算机网络体系结构和网络协议的工作原理,掌握基于不同网络层次协议的编程技术,学会运用高级语言开发通信实例,再从实践中总结原理,让学生的逻辑思维与创造性思维能力得到培养。课程的学习使学生学会分析问题,建立编程模型,进行功能程序设计,以解决网络通信具体问题的能力。

1 课程教学现状及存在问题

《网络通信程序设计》是面向本科高年级学生开设的课程,要求学生学过《操作系统》、《计算机网络基础》以及至少学过一门“高级语言程序设计”课程。由于课程知识专业应用深度高,学生基础不一样,教学过程出现如下问题:

(1)编程语言基础不牢固,编程容易出错,消弱了学习积极性。学生在选修网络通信编程课程之前已开设过“C++程序设计”课程,但由于C++语言本身比较抽象,学习有难度,存在学生学习质量不高的症状。由于语言基础不扎实,学生在网络编程课程学习中,容易出现程序语法上错误,调试程序占用较多时间,个体创新能力被限制,自然对课程的学习产生消极心理。

(2)学习方法不对,学生有死记硬背的现象。学生习惯性的沿用了应试教育的思维,知识的接受上选择被动教育的方式,采用被动记忆程序的方法。由于网络体系结构的复杂性及通信协议的多样性,网络通信编程有一定的灵活性,所以网络通信实例的开发注重编程模型的设计、编程流程的构思和开发方法的选择,这些很需要学生自主思维和创造思维的能力。

(3)实践教学环节薄弱,学生的实践动手能力有待提高。目前的教学条件,实践教学主要以开设实验课程与上机辅导的方式进行。由于实验课程内容任务性不强、实验项目间关联性不大,造成实验课内学习效果不明显,学生抄袭作业现象严重。

(4)考核方式模式单一,缺乏评测的多面性。课程学习效果的评测仍然沿用传统的试卷考核的模式,考核重理论轻能力、重结果轻过程[1],学生的实践能力受模式限制很难得到较好评价,这样严重影响自主学习的积极性。

2 教学内容的安排

网络通信程序设计课程注重培养网络通信专项应用能力,针对不同学校不同专业的学生在课程的教学内容安排上应该有所不同。如果课程知识过于抽象或理论难度过深,学生学习起来会比较艰难,这样会影响学习的积极性;若课程内容选择过于简单,又达不到教学的目的,学生个体能力得不到锻炼。

随着网络技术的发展,TCP/IP协议其高效、可靠、实用等特点确立了它在网络协议中的地位,基于TCP/IP协议栈的套接字网络编程技术,是网络通信程序设计的核心技术[1]。把握网络编程课程的教学重点,针对不同专业不同层次学生的知识背景,合理安排该课程的教学内容,是保证课程教学质量的首要思考。就一般本科院校网路工程专业学生而言,学习网络编程课程更应把握重点、有的放矢的学习。传统的教学内容安排以不同类型的网络编程为线索,各章节以知识介绍、实例分析和学生实践验证的模式开展,各章关联性小,学习过程显得乏味。

经过教学实践的摸索,对教学内容的安排进行调整,如表1所示。改进后的方案,舍去了应用并不多、知识抽象的NetBIOS编程,降低学生学习难度;增加了winsock编程[2]的内容比重,更加详细的分析Winsock编程原理及多样性。课程的核心内容在于介绍WinSock从低级到高级的编程,改变了原来各章知识关联性不大的状况,在教学进度上可以选择一个综合性网络通信案例教学,该案例可以囊括表1(b)中第2至6章节的知识。教学内容的调整,让教师教学更加灵活,引入“项目驱动法”[2]教学,增加师生互动,有益于培养学生自主学习的能力。

表1 课程教学内容的安排

(a)改进前

(b)改进后

3 教学方法的选择

为改善网络通信程序设计的教学现状,经过教学内容的调整,选择适合的教学方法是改善教学质量的便捷途径。屏弃传统的以“教师为本”、“教材为中心”的讲授方式,采用“学、练、新”为一体的综合模式教学,有益于提高学习进度的关联性,保持学生学习的热情,培养动手实践和思维创新的能力。

3.1 “项目驱动法”引入课堂教“学”,保持学生学习的主动性

案例教学是程序设计类课程教学普遍采用的方法,网络编程课程教学可以选择一个综合性的通信案例(如多用户的网络聊天软件、文件传输服务软件),让教学案例以项目开发的形式贯穿于课程教学的始终。选择一个难度适中、知识点丰富的项目,是项目教学的首要任务。其次,根据知识点分解项目,生成子项目或者子任务,再把这些子任务映射到各章节的教学中。教师为教学子任务准备好教学中需要的理论知识和可能出现的问题,搜集相关的资料向学生介绍与分析,共同探讨解决问题的方法,并通过项目的进展来验证方法的可行性。采用“项目驱动法” [2]教学,让学生从简单到复杂,从零起步开始进行网络编程[3];把复杂的网络知识分解到项目应用中,能够帮助学生更好地理解所学知识;通过任务驱动的方式,模块化地进行任务规划与设计。这样的学习方法让学生保持良好的学习热情,培养主动思考和分析问题的能力。

3.2 以“练”为主导的实验教学,培养学生实践动手能力

让学生主动思考地去写程序是是实验教学环节的任务,经过教学改革的探索,采用引导学生跟随上课教学进度在实验时间自主完成项目子任务类似“举一反三”练习的方法。教师需根据进度设计囊括不同知识点的实验教学用例,提出关键问题,让学生思索解决问题的办法,在实验课上自主完成实验任务。根据表1中教学内容的安排,针对重要知识及疑难点制定专题实验,其中会话套接字通信、数据报套字通信、多线程实现编程等必做实验任务;异步模型通信编程,原始套接字编程等为选做实验。这样既让学生在实验练习中达到课程知识训练的目的,又能灵活选择喜欢的实验项目,提高学习的趣味性,逐步培养分析问题和解决问题的实践动手能力。

3.3 注重由点及面的启发式教学,培养学生自主创“新”能力

“项目驱动法”教学中教师需从项目开展中归结知识点,让抽象的网络知识具体化,使学生更容易吸收,同时在每一讲结束后进一步启发学生思维,跳出简单的程序编写细节回到项目应用中,促进学生自主思考、寻求推动项目进展的方法。比如在讲解数据报组播通信模式时,让学生思考“客户端如何加入工作组”问题。再把课堂学习来的知识,举一反三应用于课程大作业中,鼓励学生大胆实践、勇于创新。

“学、练、新”为一体的教学方法既要求学以致用[4],又鼓励推陈出新。学生在学习项目开发的过程中,教师设置问题让学生在实验中解决,再把学习到的方法应用到自选主题的课程大作业中,这种方法充分调动学生学习的自主性和创造性。

4 考核方式的改进

由于教学方法的多样性以及教学过程加大了实践动手能力的培养,传统的以试卷考核的单一模式已不能满足对学生能力评测的需要,经过教学团队的探讨决定采用实践考核与理论考核并重的双模式。实践考核以课程大作业的形式,在几次专题实验后,大概在第7周开始就让学生分组自主选题、老师把关,大作业的进行模拟课堂教学“任务驱动”的方式,老师与组长共同监督项目过程,并在期末组织教师、组长及企业导师共同评价的大作业考核方式。理论考核仍可以沿用试卷考试的方式。考核方式的改革是“项目驱动”教学模式的延续,课程大作业的制作并让学生参与评价,培养学生协作精神、自主学习的能力,同时也促使学生在评价中深化知识的理解。

5 总结

经过对网络通信程序设计课程的教学内容、教学方法和考核方式三个方面教学实施过程的改进,学生对该课程学习的积极性明显提高,大部门同学都能自主完成课程大作业并在作业答辩中准确回答通信的原理,教学质量显著提高。通过教学改进策略的思索,在一般本科院校中对培养出创新意识强、善于自主学习和实践动手能力强的计算机应用型人才进行探索性实验[5]。当然,教改工作中也有很多亟待改进和提高的地方,通过不断改革实践,总结教改经验与策略为同类课程的教育教学提供借鉴意见。

【参考文献】

[1]陈锋,吴明晖,颜晖.影响应用型人才培养质量的关键环节探讨[J].中国大学教学,2011(5):23-25.

[2]刘琰,常斌,罗军勇,等.面向能力培养的网络编程技术课程教学方法探讨[J].计算机教育,2010(18):52-55.

[3].网络编程技术课程的教学改革思路[J].西安邮电学院学报,2010(2):166-168.

[4]高全芹.面向应用型人才《测试原理与技术》课程的教学探讨[J].长沙大学学报,2012(2):115-116.

[5]刘汉兴,刘才兴,邝颖杰,等.“网络编程”教学方法的探索[J].计算机教育,2010(3):91-93.

上一篇:审美:向文学文本更深处漫溯 下一篇:在美的体验中成就未来