网络工程专业的网络编程课程教学与改革

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

网络工程专业的网络编程课程教学与改革

胡静,赵雷,罗宜元,赵莹

(上海电机学院电子信息学院,上海 200240)

摘要:分析网络工程专业在网络编程技术教学过程中存在的一些问题及产生的原因,提出对网络工程专业中网络编程教学改革的思路与方案,以网络编程技术课程的授课内容为例,从理论教学与实践教学两个方面,介绍课程内容的组织方法和手段。

关键词:网络编程课程;网络工程专业;教学改革;课程群;教学方法

第一作者简介:胡静,女,副教授,研究方向为网络技术应用、智能信息处理,

hujing@。

0引言

网络编程技术是网络工程专业的必修课程。该门课程主要学习网络环境下的编程原理及方法,通过网络编程课程的学习,使网络工程专业学生掌握网络编程技术的概念、编程方法、系统组成及设计方法,并能使用相关软件工具;通过对该课程的学习,将网络与软件编程有机地结合起来,使学生通过网络软件编程加深对网络理论的理解和掌握,同时又能提高学生网络应用软件编程能力,加强学生实际工作能力[1]。

尽管网络编程的有关课程同属网络工程、软件工程、计算机科学与技术这3个专业,但在课程内容体系结构、教学内容组织方式以及教学方法与手段上都不尽相同[2]。笔者所指网络编程技术包括3个方面,从操作系统的角度来看,分别是应用层编程、套接字层编程和硬件接口层编程。非网络工程专业的学生只需掌握应用层编程即可。因这一层通常有着较为丰富的组件,屏蔽了大量的有关网络硬件的技术细节,软件开发较为容易。而对于网络工程专业学生而言,其培养目标是:建好网,管好网,用好网。因此,笔者将从课程群的建设、课程内容的组织、教学手段的改进这3个方面,对网络工程专业的网络编程技术课程改革进行一些探讨。

1课程群的建设

网络编程课程教学内容覆盖面广,属于难度较高的专业课程,其中所需专业基础知识涉及计算机基础理论、通信原理、网络原理等各个方面,如果没有相应的先修课程作为铺垫,很难真正掌握网络编程技术的精华。大多数院校为了降低难度,将网络编程技术课程分成两门甚

至两门以上课程来讲解,其先修课程也分别由十几门课程组成,从而存在课程体系结构不明确,课程内容交叉过多、重复开设的问题 [3]。

此外,对网络编程能力的培养过程也断断续续,没有从大一贯穿至大四,缺乏连续性。例如,对编程能力的培养,在大一、大二学习期间都开有相应的编程能力培养课程,但在大三期间却中断了编程课程,而到了大四期间,每个学生都需要利用某种编程语言来完成毕业设计课题,如果能在学生4年的学习期间一直贯穿编程能力的培养,当他们面临毕业设计课题时,就能选择一种相对比较了解的编程语言去完成[4]。

解决这个问题最好的办法就是以网络编程课程为主干课程,整合知识点,完善课程群建设。同时,将所需知识分散至每一学年的教学任务中,循序渐进地引导学生理解并掌握网络编程技术的理论与知识,培养网络环境下的编程能力。在课程群的建设过程中应把握以下3个原则:

1)课程群的建设应以学校的办学定位与培养目标为前提。

如果是研究型院校,应以软件理论研究为主要目标建设课程群;如果是应用型院校,应以软件应用开发为主要目标来建设课程群,重点各有所不同。如笔者所在学校是一所应用型本科院校,办学定位是“技术立校,应用为本”,以培养应用型人才为目标。故而,网络编程课程群的建设也应以培养网络应用编程软件的开发与应用为前提。

2)以课程结构层次化,能力培养平行化为主要目标。

为了更好地让学生掌握网络编程的关键技术、突出核心内容,按照从简至繁,从容易到复杂的原则,将网络编程课程所需知识按照如下4个层次来实施:基础编程训练、高级编程训练、网络编程训练和专业综合实验。对于大一新生,主要帮助他们理解编程理念,熟悉编程环境,培养良好的编程习惯。开设的课程主要有:高级语言程序设计、数据结构与算法、可视化编程等。对于大二学生,主要目的是提高他们系统编程的能力,熟悉系统软件开发环境,掌握系统软件开发与应用的关键技术。开设的课程有面向对象程序设计、操作系统原理、数据库原理及应用、计算机网络等。对于大三学生,进入专业课程学习的同时,进一步强化网络编程能力的培养。在所开设的网络设备与集成、网络工程设计等课程中,强化网络设备硬件接口编程能力的培养;在开设网络协议与分析课程的同时,强化网络协议的编程能力培养;在所开设的网络编程技术课程中,强化套接字编程和Web程序设计能力等。对于大四学生,在开始毕业设计之前,开设3周的专业综合实验课程,帮助他们回顾曾经学过的知识,并且学会综合利用这些知识,解决实际生活中可能遇到的问题,同时,也为完成毕业设计做好前期准备。如图1所示是笔者所在学校的网络工程专业网络编程课程群示意图。

3)网络编程能力的培养应与掌握网络硬件的设计与配置同时进行。

这是网络工程专业学生区别于其他专业学生的根本所在。

德克萨斯州大学Yale.N.Patt教授曾说:“懂硬件特性的软件设计师所设计的程序,在运行性能上远高于那些不懂硬件特性的人所设计的程序。”这句话不无道理,在培养网络工程专业学生的网络编程能力的同时,也让学生理解“数”的系统概念,理解“工程”的系统概念。学习电路基础知识、数字逻辑、计算机组织与体系结构、嵌入式开发原理,以及网络设备与集成、网络工程设计等基本理论与知识。硬件的课程体系结构同样遵守课程结构层次化、能力培养平行化的设计原则,这样才能有效实现逐步提高学生网络编程能力的目的,设计出的程序也才会更加完善。

2课程内容的组织

网络编程课程教学内容覆盖面广,授课难度较大。网络编程课程的内容主要包括高级语言编程、面向对象编程、可视化编程、套接字编程、多线程编程、网络协议编程、网络应用编程等。除此之外,还要求学生能较好地掌握计算机网络、网络协议与分析、网络设计与组建、网络设备与配置、网络管理与维护、网络安全技术等专业知识[5]。因此,如果没有很好地整合课程内容,在总课时的限制下,将会导致授课内容过多、顾此失彼现象的发生。另外,有些内容又重复开设课程,使得学生对所学课程渐渐失去兴趣,严重影响了教学的效果。以网络编程技术课程为例,教学内容可做如下改革。

1)理论教学内容。

首先,在学习网络编程技术课程之前,建议先修高级语言程序设计、面向对象程序设计、数据结构与算法设计、计算机网络原理、数据库原理及应用这些课程。在有一定基础的前提下才能较好地学习该门课程。此外,在该门课程讲授的第一节课中应首先介绍课程总体框架与性质。如图2所示。

其次,这门课程基于套接字编程和基于应用组件的应用编程两部分而组成。基于应用组件的应用编程选择或者J2EE,由授课教师根据情况自由选定。这些内容在某些高校分属于两门课程,但笔者认为将这些内容整合在一门课程中,不仅可以由教师根据培养目标与授课计划进行取舍讲授,也会使得学生不仅知其然,而且知其所以然,促使他们更多地进行

相关文档
最新文档