卓越计划下的《网络编程技术》教学改革

2015-12-15 22:29秦智
教育教学论坛 2015年52期
关键词:卓越计划教学手段教学改革

秦智

摘要:网络编程技术是很多高校、职业学校根据社会人才需求开设的一门实践性较强的课程,本文根据目前教学现状以及教学中存在的问题,提出了一些课程改革的思路,主要从教学内容工程模块化、教学手段多样化、教学形式实践化来考虑,并详细讲解了改革内容和改革效果,最后总结出改革对学生学习兴趣、实践能力都有所提高,达到了培养学生技能的目的。

关键词:网络编程;卓越计划;教学改革;教学手段

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2015)52-0115-02

一、引言

随着计算机网络技术的不断发展,我们的生活也越来越离不开网络,可以在网上购物、支付、交流、语音通信、文件传输、视频教学等,只要是需要的数据信息服务,都可以借助网络完成传输。我们的手机、平板电脑都可以通过网络相互共享数据信息,因此带了很大的方便。这些互联网应用产品满足了我们的生活A需要,同时也需要一大批的网络程序研发人员去设计、实现网络传输,达到我们需要的目的。所以,当今网络编程技术人才的需求量仍然很大,特别是针对嵌入式、手持设备,都需要实现网络编程和解决网络通信传输。目前,网络技术的就业形式很好,带动了很多的高校、职业学校、培训机构去开设相应的网络编程课程或实践课程,以适应企业人才的需求。但是,目前这方面的就业人才需求仍然缺少,人才难找,反之我们各个高校又开设这些相应的课程,而且教学内容也涵盖了企业所需要的,因此就形成了一个怪异的现象,这到底是怎么回事呢?从有关资料以及参考文献表明,近10年的高校扩招,学生的整体综合素质有所下降,再加上社会各方面的综合影响,导致学生不喜欢编程或感觉编程难,还有的学生只是为了应付考试而学习,这些都使学生达不到企业人才选拔的标准。

二、课程教学现状及问题

目前,很多高校都开设了《网络编程技术》课程,课程内容有基于Linux平台的,以C/C++或Java语言的TCP/IP协议的Socket网络编程;也有基于Windows平台的TCP/IP协议的WinSocket编程,编程语言采用Java、C#、VC/VC++;采用C/S架构的网络编程,也有因为Socket网络编程困难,只开设与之相近的教学内容,即基于B/S的网络编程,常见为web开发,培养学生具有不同方向的网络编程开发能力。在教学方法上,都采用了理论和实践相结合的形式,从不同层次上培养学生的能力,有的采用“理论—实践—理论”,符合原来的本科教学方式;有的采用“实践—理论—实践”,符合了工程化的教学方式。目前,教育改革提出一项重大的教学改变,即CDIO模式,让高校的学生专业知识和专业能力的培养更符合社会人才的需求发展。从调研的结果来看,各个高校由原来的“理论—实践—理论”的模式逐渐转变为“卓越工程师教育培养计划”的工程化教育,更符合社会人才的需求培养模式。

我校《网络编程技术》是网络工程、信息安全、信息对抗专业的一门具有较强理论性和实践性的课程。该课程主要讲授基于Linux Socket的网络通信程序的原理和实现方法,培养学生运用相关专业知识开发网络通信程序。课程内容涵盖了网络和TCP/IP基础、套接字地址结构及相应编程函数、套接字编程模板、并发服务器编程、I/O编程、名字与地址转换、原始套接字接口,甚至还涵盖了SNMP协议的编程内容。从内容来看,覆盖面广从而要求学生学习更多的知识,具有更多的实践动手能力,适应社会人才的需求。但是,从教学结果来看还存在很多问题,体现在以下几方面:(1)有较多的学生对Linux系统的基本操作不熟练;(2)C语言的一些高级应用设计能力较差;(3)对网络中涉及到一些相关函数及知识理解困惑;(4)网络编程课程在今后工作岗位中的具体应用不理解;(5)实践动手能力不强。

三、教学改革方案

参考文献[3]中提出了《网络编程技术》工程化教学改革,以“实践—理论—实践”的方式改变传统的“理论—实践—理论”,这样符合了“卓越工程师教育计划”的工程化教育理念。当然,这种改革的重点落脚点是重视实践能力,提高兴趣,以兴趣的形式驱动。我院在教学过程中也不断的总结经验,参考其他院校的教学改革方法和思路,提出了一系列的改革思路,并逐渐印证了改革的合理性,克服了前面曾经存在的问题,以提高学生对网络编程兴趣的同时,也提高了其动手实践能力,并结合理论,增强了解决问题的能力,以达到解决教学中存在的问题的目的。

首先,任课教师在遵循教学大纲的基础上,在教学中,根据学生的实际基础情况、兴趣情况,灵活调整教学内容的细节,灵活调整某些环节的教学时长,以“理论—实践—理论—实践”的教学方式,弥补了传统重视理论、以实践为辅助,也弥补了参考文献[3]中提到的重视实践、以理论为辅助,从而完成整过教学环节。其次,以教学内容为中心,以学生兴趣发展卓越计划的核心教学方法,将教学工程化,大致按照1∶1∶1的比例进行划分学生技能层次,有三分之一的学生具有浓厚的兴趣和技能好,让他们去带动三分之一的中等学生,三分之一的学困生由教师和中等生共同带动和辅导,让学生在相互辅导的过程中,对内容有深入的认知和感受学习的成就感,提高学习兴趣,这样就解决了学生总是感觉编程枯燥的问题。具体改革细节描述如下。

1.教学内容的工程模块化。在教学大纲要求的内容前提下,明确相关的前序课程有哪些。目前,前序的关键课程主要为《Linux实用操作系统》和《C语言程序设计》,将其作为第一个工程模块,命名为“模块1必备基础”,将在第一堂课程进行一次测验,以验证学生的基础情况。对学生的基础情况摸底后,便于后期的环节内容的深浅动态化调整,并为后期教学手段的多样化奠定基础,以最大可能的提高学生的兴趣。“模块2”为具体教学内容的主要环节,可以将教学内容环节再进行模块化,由浅到深,由实践操作到理论,让学生对内容有一个循序渐进的理解过程。

2.教学手段多样化。原有的教学主要是在课堂进行理论教学,以教师主讲为主,按照网络编程的Socket程序设计思路和函数进行讲解,比较枯燥乏味,教学效果不佳,较多学生对课程内容不感兴趣,导致学习效果不佳,没有达到教学目的。因此,采取了三种方式进行教学:第一种方式,教师先进行引导性的讲解,根据教学模块化内容,通过形象化演示操作程序结果,讲解程序运行达到的一个效果,而不是直接讲解程序代码本身,这样学生能够感受到讲解的模块内容是一个什么样的执行过程,程序实现了一个什么样的功能,并结合平时的上网下载、访问网页、玩游戏等对比理解,这样,让学生能够在理解方面很容易的接受教学内容,达到了增强学生学习兴趣的目的。第二种方式,抽点部分学生,让其课后准备相似的程序内容,在上机课中给其他同学演示,并由学生上机调试程序。第三种方式,在实验室上机,让学生相互辅导上机的程序内容,让学生在辅导过程中感受到自己的学习程度,同时学生之间也会相互指出问题,达到培养兴趣的同时,也让学生快速理解了学习内容,增强了学生的自信心和学习的成就感。

3.教学考核形式实践化。教学最后的印证需要通过考核来检验学生的整体学习情况。原来考核主要采用了纸质闭卷试卷,让学生填写一些概念、函数意义、程序执行流程的含义、补齐程序题、写程序等,是比较传统、机械式的考核方法,没有真正体现学生的实践操作能力,没有真正体现一个程序员应具有的技能。因此,可以采取“平时成绩(50%)+期末成绩(50%)”的考核方法。平时成绩考核涉及到:上机检查的加分、为同学辅导讲解的加分、自己设计程序的加分和能够讲解清楚的加分;期末考试给出多个题目,由学生抽签,由纸质转变为上机考试,准许学生在上机撰写程序的时候查阅资料参考程序,完成题目内容,要求对题目内容编译调试得出结果,实现预期效果,并对程序代码给出必要的注释,将考题的程序设计给出设计报告。这样就强制学生不得不去动手实践学习,查阅资料,而且不得不在课后花时间去编写程序、调试程序、理解程序,最终达到教学目的,真正培养了学生的实践动手能力。

四、结论

在近两年的《网络编程技术》课程教学中采用了“卓越工程师教育计划”工程化教学方法改革,分别对我院实验班、普通班进行了实践,兼顾了实践、理论教学两不误,让学生参与教学,形成互动,并有一定的紧迫性,让部分学生不得不学习,形成良好的学习氛围。当然,这种教学改革也存在一定的问题,就是教学内容模块化后,内容更细,教学互动更多,学生参与更多,导致教学时间紧张,需要占学生更多的课外时间。这种方式需要坚持,只有学生形成一种良好的学习氛围后,教学效果才会很好。

参考文献:

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

[2]王尊亮,卞佳丽.网络编程技术课程分阶段教学策略[J].计算机教育,2013,(24):41-43.

[3]唐玄,刘娟.以《网络编程技术》课程为例的工程化教学改革研究[J].商丘师范学院学报,2014,12(30):131-132.

[4]温艳冬,石冬凌.CDIO模式下的软件测试课程实践教学探究[J].电脑知识与技术,2010,6(33):9570-9571.

[5]张秀华.“传—帮—带—检”的教育模式在实验教学中的应用研究[J].价值工程,2013,(20):256-257.

[6]蔡京玫.项目教学法在《网络编程》课程教学中的应用[J].电脑知识与技术,2011,7(18):4388-4390.

[7]曹莹莹,黄津津,王创伟,荀启峰.工程教育驱动的Linux网络编程课程改革[J].计算机教育,2013,(14):24-28.

猜你喜欢
卓越计划教学手段教学改革
《数据结构》中“插入”算法课堂教学实践与体会
基于卓越计划的金属结构材料课程实践化改革与建设