面向西部高校的网络通信编程课程教改

更新时间:2024-01-27 作者:用户投稿原创标记本站原创 点赞:4030 浏览:9468

摘 要:网络工程专业的建设可以缓解网络人才的需求,然而现有的培养模式并不能达到培养工程型人才的目标.网络通信编程作为网络工程的核心课程之一,对网络工程型人才的培养起到了非常重要的作用.但是该课程在教学过程中存在很多问题,尤其是对西部高校.文章首先结合西北地域性特点分析了课程开展存在的问题主要在于授课模式、教学法、学生生源地等;然后详述了该类课程的教改方案和思路,主要包括了理论与实验课设置,基于工程化的项目教学方法以及师资力量等;该方案的实施将会帮助学生建立工程化的编程理念和思维,对网络通信编程课程的开设起到一定的指导和借鉴意义.


关 键 词:网络工程;网络通信编程;人才培养;教学模式;实践;工程化的项目

中图分类号:G642文献标识码:A文章编号:1009-3044(2014)34-8113-02

随着互联网和通信技术的不断发展与进步,网络型人才的需求也日益增多,高校开设了网络工程专业培养面向应用的网络型人才.这一时代背景下,桂林理工大学信息科学与工程学院在2008年开设了网络工程专业本科[1].在网络工程专业中,我校将基于Linux网络通信编程技术课程做为核心专业课程之一,掌握好这门课程将有助于提高学生在网络通信编程程序开发方面的能力,很好的解决工程实际问题.

Linux系统是一款开源的操作系统,它不仅适用于嵌入式系统的开发,而且还支持各种因特网协议,大部分主流的网络硬件、协议和文件系统都可以支持.所以,我校的网络通信编程技术课程主要是基于Linux操作系统.然而,Linux系统主要是用字符命令来控制计算机的操作,而对于长期使用Windows图形界面操作系统的学生来说,要经过很长的一段时间才可以适应.

本文就Linux网络通信编程技术课程在桂林理工大学的开展情况,结合西部地域性的特点,首先阐述了在教授这门课程时候面临的问题,包括教授对象,教学法、课程建设等方面,之后再详细描述了相应的课程改革具体措施,最后对本文进行了总结.

1课程设置存在的问题

1.1西部地域性问题

笔者所就职的高校位于西部城市,经济较为落后,高校生源多来自省内和经济落后地区.笔者就所教授的网络工程专业学生生源地进行了统计调查,如表1,学生人数为81人来自网络工程专业某年级,调查显示:77.78%的学生生源地为本省生源,其中65.43%的学生生源地为农村,少数名族人数的比例达到了34.57%.而来自农村的大多数学生是上到大学后才正式接触基于Windows操作系统的计算机,对于Linux系统很陌生,所以起点低,学习难度大是教学中遇到的问题之一.

1.2课程建设问题

Linux网络通信编程技术是网络工程专业一门专业核心课程.其课程内容覆盖丰富包括了Linux系统,文件系统,TCP/IP协议族,socket套接字通信编程,TCP/UDP网络编程,数据的IO复用等几个主要的部分.其中Linux系统本身就是一个开放型的、免费自由软件,它具备多个任务并发,多用户的特点,是经典操作系统UNIX的克隆版本,且包含了很多UNIX的特性.同时该系统与Windows操作也有很大的不同,不再是基于界面的操作,而是采用基于命令指令输入的模式进行交互操作,所以涉及的范围非常广泛.该门课程还涉及计算机网络,通信等专业课程知识[2].

1.3传统教学法模式存在的问题

这门课程传统的教学模式是理论-技术-操作的方式,即以教师为理论讲解主导,学生主要关注技术和实际操作,这种教学模式,虽然在一定程度上可以达到“学以致用”目的,但是并不能解决实际问题,由于缺乏理论知识的支撑,学生多数只能记住操作,而不能真正的解决实际问题.

2课程教学改革思路

通过笔者所在的教学团队大量的调研工作,针对西部高校以及网络通信编程技术课程存在的问题,主要从教学课程设置,实验课程,教学法,教材以及师资培养等方面,提出了相应的教改思路.

2.1课程设置

自2008年起就开始设置网络工程专业本科,网络编程的课程作为一门专业核心课程开设在了本科学习的第三年,与之相辅开设的课程包括:计算机网络,C语言程序开发以及Linux操作系统等,开设这些课程目的主要是为了将计算机网络知识与编程课程紧密相联,从而让学生从网络编程角度解决实际的问题.同时专门的Linux操作课程的开设也可以弥补学生在Linux系统操作上的不足.

2.2实验课程

现在的本科教育普遍存在的一个问题就是“重理论,轻实践”、教学与实践课程分布不均匀.桂林理工大学在培养网络工程人才的时候,根据网络编程课程实践性强的特点,大幅度的提高了实践课的比例.该课程总学时为48,32个学时为课程授课,主要是采用理论结合实例的形式进行讲授.还设置了16个学时的实验课程,占了总授课时的33.33%,实验内容包括基础性验证实验和设计性实验.具体的实验内容如表2所示.

首先前四个实验是以验证性实验为主,主要是为学生Linux编程打下基础,在学生具备了一定的编程基础后,最后两个则是基于实际设计的设计性实验.在实验教学过程中,根据学生的理解和认知能力,采用集中和单独讲解的方式,即普遍问题集中讲解,个别问题单独讲解.实验系统主要基于虚拟机运行的,操作系统是Ubuntu,这样做可以省去繁琐的实验配置工作,把重点放在Linux系统的使用上,同时使用Ubuntu系统也方便操作,利于实践教学.

2.3工程化的项目教学法[3-5]

为了帮助学生构建工程理念,还专门布置了实践型强、基于工程化的综合性大作业,根据学生水平层次,将学生以10人为单位进行分组完成大作业.编程能力较强担任组长和副组长,主要负责统筹、规划等工作,然后按照将大作业内容按模块划分由各个组员完成,该作业贯穿整个学期,主要由学生在课外进行,考核方式主要以书面报告和口头答辩的形式进行.这样做的目的主要有几个: