首页 > 范文大全 > 正文

网络工程专业网络程序设计课程探讨

开篇:润墨网以专业的文秘视角,为您筛选了一篇网络工程专业网络程序设计课程探讨范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:网络工程是近年来为满足社会对网络和信息化人才的迫切需求而设立的本科专业网络程序设计是各高校网络工程及相关专业广泛开设的一门专业课。本文依据网络工程专业的培养目标,结合个人教学过程中的体会,对该课程的教学基本问题,包括课堂教学的内容设置与学时分配、实践环节内容与安排等进行初步探讨,阐述作者的理解和认识。

关键词:网络工程专业;网络程序设计课程;教学内容

截至2008年,我国已经有143所高等学校开设了网络工程本科专业,其中大学类高校89所,“211”大学21所,学院类高校54所,高校所在地覆盖全国26个省和直辖市[1]。网络工程专业培养的是具有良好科学素养,系统地掌握网络工程技术的基本理论、方法与应用,有较强的获取新知识的能力、创新能力和实践能力,能从事网络工程及相关领域中的系统研究、设计、运行、维护和管理的高级工程技术人才。因此,该专业不仅要求学生掌握与网络工程相关的基础知识与理论,以及各种网络系统设计、建设与维护技术,如网络协议体系、网络互连技术、网络服务、信息安全、组网实践、网络测试与管理等相关知识,也要求学生掌握基本的网络应用软件与系统开发知识与技术,满足毕业生在今后的工作与学习过程中的多元需要。

为了让网络工程专业的学生掌握一定的网络应用软件与系统开发知识,很多高校都开设了网络程序设计或网络编程课程。然而,由于网络工程专业在大多数高校的开设时间不长,相关任课教师对网络程序设计课程的教学还缺乏足够的经验,因此对教学活动中的一些基本问题,如课程内容设置与学时分配、实践环节内容与安排等还缺乏统一的认识[2-3]。本文依据网络工程专业的培养目标,结合我们在教学过程中

的体会,对该课程教学活动中的基本问题进行了初步探讨,阐述了作者对这些问题的理解和认识。希望本文能引起更多同行对网络程序设计课程的关注,从而尽快提高该课程的建设水平。

1教学目标与特点

1.1教学目标

根据网络工程专业的培养目标,我们认为网络程序设计课程的教学目标是让学习者了解网络程序设计的基本概念和常用的网络编程接口,理解网络程序设计的基本原理,掌握基本的网络程序设计模型,同时具备进一步学习新的网络编程知识与技术的能力。网络工程专业的网络程序设计课程应重点教授基于网络编程接口的网络程序设计基础知识,为后续使用和开发网络应用系统打下基础。有别于信息管理类专业面向Web的网络程序设计,本课程的中心内容是基于操作系统套接口的客户/服务器程序开发技术。

1.2课程特点

程序设计课程对计算机类专业的学生来说并不陌生,但其多针对具体的程序设计语言,以学习某种程序设计语言的基本语法和用法为主。网络编程接口在本质上与编程语言无关,因此网络程序设计与以前

作者简介:纪其进(1974-),男,讲师,工学博士,研究方向为计算机网络与多媒体通信;朱艳琴 (1964-),女,教授,工学博士,副院长,研究方向为计算机网络与信息安全。

的程序设计课程并不相同。网络应用程序具有以下两方面的主要特点:

1) 程序结构较为复杂。网络程序至少涉及客户端与服务器两方面,且需要双方协同配合,因此程序的结构和逻辑都比较复杂。

2) 网络程序设计对操作系统知识和网络知识的依赖性很强。比如,多线程技术是避免程序在交互过程中发生阻塞的基本手段,因此开发者至少需理解操作系统的进程与线程的概念及多线程程序设计技术。再如消息驱动是Windows系统的基本机制,Windows网络应用程序开发也需要理解消息驱动机制。利用网络接口编程需要理解底层网络协议,特别是与网络接口直接相关的运输层协议知识。

2内容设置与学时分配

运输层以下的网络协议功能在操作系统内核中实现,或利用系统应用编程接口(API),通过专业的函数库实现[4]。尽管IEEE已经制定了网络编程的接口标准,各操作系统通常也支持标准接口,但一般会结合系统自身特点,对标准接口进行修改或扩展。因此,实际网络编程接口实现与操作系统密切相关。当前,Windows系统占据了工作站(含台式机)与小型服务器市场的主要份额,Unix系统(含Linux)则在服务器特别是大型服务器市场中仍然占据主导地位。考虑到学生毕业后的实际工作情况,接触Windows系统的机会应该更多。因此,教学内容选择的指导思想是以Windows平台网络编程接口为主,同时兼顾标准网络编程接口。

网络程序设计是网络工程专业的一门骨干专业课程,教学内容较丰富,实践性要求高。根据网络程序设计课程的教学目标和特点,我们为该课程安排了以下课堂教学内容:

第1章 网络程序设计基础知识。本章介绍网络编程相关的基本概念和知识,内容包括网络程序设计概念、进程与线程的基本概念、TCP/IP协议及其在操作系统中的实现、基于客户/服务器模式的网络应用程序模型等。

第2章 基于Berkley套接口的网络程序设计。Berkley套接口是事实上网络编程接口标准,它出自于Unix系统,Windows系统也尽可能地与之兼容。本章重点阐述Berkley套接口的基本用法,包括套接口编程的基本概念、面向连接的套接口编程、无连接的套接口编程及原始套接口编程等。

第3章 Windows程序设计基础。在Windows平台上进行网络程序设计离不开Windows系统编程知识。本章介绍Windows编程的基础知识,包括Windows操作系统的基本原理、Windows API的实现机制与调用方法及Windows消息机制。

第4章 Winsock网络编程接口规范。Winsock是Windows系统中的套接口实现,经历了Winsock1.1到Winsock2.2版本的发展。本章在第3章的基础上全面介绍Winsock网络接口规范及其使用,包括Winsock1.1及Winsock2.2的扩展能力。

第5章 基于MFC 套接口类的程序设计。MFC利用面向对象技术,对基本的Windows API进行了封装。Winsock编程接口的主要功能被封装成为CAsyncSocket和CSocket两个类。本章将通过实例说明这两个类的用法。

第6章 Windows多线程网络编程技术。多线程可以避免网络应用程序被某个调用阻塞。本章介绍多线程技术的必要性、Windows系统的多线程机制、MFC对多线程的支持及多线程机制在网络编程中的应用等。

第7章 Winsock编程接口I/O模型。支持异步网络程序开发是Windows系统的特色,为此Winsock引入了5种I/O模型实现非阻塞的套接口工作模式。本章分别介绍5种异步I/O模型的原理与使用。

第8章 Winsock编程接口选项与I/O控制命令。套接口选项和I/O控制命令是在套接口建立以后对其各种属性进行操作。本章介绍Winsock编程接口的基本选项及主要I/O控制命令的用法。

第9章 网络程序设计实例。网络编程技术具有很强的实践性,学习与分析实例可以更好地理解基本知识与技术。本章通过讲解分析实例中的各种网络编程技术巩固前面所学的知识,为以后的综合应用打下基础。

本课程重在教授网络编程的基础知识与技能,内容选择主要是为了满足教学需要,而非求全求深。因此,部分网络编程相关知识没有在课程中出现,如Winsock对网络服务质量的支持、IPv6版本套接口等。

本课程的重点内容在第3~6章。其中第3章是整个网络编程的基础部分,而第4章和第5章则包括了Windows平台下网络程序设计的基本知识,第6章的多线程技术是无阻塞同步网络编程的基本技术。第7、8两章内容与操作系统关系较密切且较抽象,是课程的难点。我校为该课程安排64 学时,其中理论讲授48学时,实验教学16 学时。根据重点难点内容分析结果,我们按表1分配课堂教学学时。

3课程实践环节

3.1实践环节的必要性

传统的网络课程教学方法多以讲授计算机网络基础理论为主、少量的验证性实验为辅。网络程序设计本身是一门实践性非常强的课程,对引导学生掌握最新的网络编程技术,培养学生的动手能力、协作精神和创新能力都具有重要作用。在学生学习过程中,如不注重理论和实践紧密结合,则不仅所学基本知识难以得到深入理解和巩固,更不能将其灵活运用于解决新的问题。因此,教师在系统讲述网络编程基础知识的同时,要充分调动学生的主动性,认真完成网络编程实验的教学。

3.2教学组织与学时分配

实验是基本的实践教学手段。通过实验教学,学生可以更快地实现从概念理解到实际编程能力的转变。每次实验前,教师首先讲解实验的设计目标、要求和所需的编程技术,要求学生做好充分的准备工作,进行初步的需求分析和程序设计。在实验过程中,教师通过解答学生提出的需求分析、设计与实现问题,为学生提供帮助。实验结束后,学生需按一定的格式规范按时提交实验报告;教师通过实验报告检查和评价学生的实验质量。如有条件,可组织学生对实验结果进行简短的讨论,让学生总结和分析自己的实验体会。

我们根据网络程序设计课程的教学大纲和实验大纲制定了实验计划。实验包括验证型、设计型和综合型实验三种。验证型实验主要让学生理解所学的网络编程知识,通过重复课堂示例掌握某一项网络编程技术。设计型实验需要学生利用某一项网络编程技术,根据具体问题要求设计并实现一个网络应用程序。综合性实验需设计并实现一个相对复杂的网络应用程序,其中需用到多种网络编程知识和技术。全部实验内容包括Berkley套接口编程实验,Winsock套接口编程实验,利用原始套接口进行PING 程序的设计及实现,基于MFC套接口类的网络编程,电子邮件程序的设计与实现(SMTP客户端、POP3 客户端程序)或FTP客户端实现及聊天室软件的设计及实现。实验报告与其他课程基本类似,有相应的实验题目、实验目的与要求、实验步骤和实验结果等内容。实验结果要包括实验过程中的问题分析、解决方式及心得。表2总结了实验的内容与学时分配计划。

有条件的学校还可以集中1周左右的时间进行课程设计。课程设计以课程教学内容为基础,实现一个具有一定规模和实用价值的网络应用系统。课程设计对所学的理论知识及实验中所学的各种方法与技巧进行综合性应用,对培养学生综合分析能力、编程动手能力具有重要作用。课程设计报告包括系统需求分析、功能设计及各模块详细设计等,类似于计算机类毕业设计论文格式。

4结语

网络工程专业是近年来为满足社会信息化需求而出现的相对较新的专业。该专业目前还没有一个明确的规范,开设该专业的各个院校对某些课程的教学尚缺乏统一的认识。本文以该专业的培养目标为依

据,结合个人教学过程中的体会,探讨了网络工程专业网络程序设计课程的基本问题。文中讨论了该课程的教学目标与特点,给出了具体的课程内容设置和实践环节安排建议,希望对完善网络工程专业以及网络程序设计课程建设具有一定的借鉴意义。

参考文献[ 规范格式]:

[1] 刘悦,张远,贾忠田. 高等学校网络工程本科专业的科学规范探讨[J]. 计算机教育,2008(4):120-121.

[2] 王一飞,吴素芹. 网络编程技术课程教学研究与探索[J]. 科技信息,2008(34):20.

[3] 冯健昭,肖德琴. 网络编程教学改革探索[J]. 现代计算机,2009(8):69-70.

[4] 叶树华. 网络编程实用教程[M]. 2版. 北京:人民邮电出版社,2010.

Discussion on Network Program Design for Students Majoring in Network Engineering

JI Qi-jin, ZHU Yan-qin

(School of Computer Science and Technology, Soochow University, Suzhou 215006, China)

Abstract: Network Engineering is newly set for undergraduate students in China to meet the intense requirements of network and information related talents. Network program design is a course widely deployed for network engineering and related major students, which teaches the students basic knowledge of network application and system design. According to the major training objectives and combing the authors’ experience, some primary issues of this course, including in-class content selection and time allocation, course practice content and arrangement are preliminarily investigated. The understanding of the authors on these issues is presented in this paper.

Key words: Network Engineering; Network Program Design; course content