信息化条件下软件开发类课程教学方法改革

2015-05-12 03:18周树森邹海林
科教导刊 2015年10期
关键词:程序设计教学改革计算机

周树森 邹海林

摘 要 软件开发类课程是实践要求较高的课程,针对目前C#程序设计教学中存在的过于偏重理论、忽视学生的动手能力培养的问题,结合信息化条件下教学方法多样化、学生获取信息的途径多样化的现状,基于应用型人才培养的社会需求,提出了C#程序设计课程“以培养学生的软件开发能力为目标,以实用型软件开发为驱动,让学生在实际开发过程中学习软件开发所需的各种知识”的观点。

关键词 计算机 程序设计 信息化 教学改革

中图分类号:G424文献标识码:A   DOI:10.16400/j.cnki.kjdks.2015.04.058

Reform of the Teaching Method on Software Development

Courses under Information Condition

ZHOU Shusen, ZOU Hailin

(School of Information and Electrical Engineering, Ludong University, Yantai, Shandong 264028)

Abstract Software development courses are high practical requirement. Now, there are two problems in C# program design teaching. One is focusing on theory analysis, the other is ignoring the training of students' practice ability. To solve these problems, based on the social requirement of application-oriented talents cultivation, we are bringing forward a viewpoint that aim at training the software development ability, driven by practical software development, let the students learn all the required knowledge about software development in the actual development process.

Key words computer; programming design; information; reform of the teaching method

中国高等教育改革确定:600多所地方本科院校将逐步转型,进行现代职业教育,重点培养工程师、高级技工、高素质劳动者等。针对社会对于应用型人才的巨大需求和高校培养的人才过于偏重理论之间的矛盾,国家已经从政策层面开始引导高校转型,培养高素质应用型劳动者。在信息化条件下,借助多媒体设备,教师的教学方式多样化;借助笔记本电脑、智能手机和互联网,学生获取信息的途径也多样化。本文结合“C#程序设计”课程的教学实践,探讨如何调整教学方式,来适应信息化条件下学生的学习需求,适应社会对应用型人才培养的需求。

1 问题分析

程序设计课程包括三个重要的知识模块:①一是语言知识,二是程序设计方法,三是算法。计算机语言处于程序设计的最底层,是掌握编程技术的关键;程序设计方法处于程序设计的中间层,是缩短软件开发周期,开发出实用型软件的关键;算法处于程序设计的顶层,是解决问题的规则。语言具有不稳定和变化更新快的特征,现在有很多程序设计语言可供选择。程序设计对于语言的变化而言相对稳定。算法则比较稳定,它与描述算法的语言无关。语言只要多使用,就能熟练掌握;程序设计方法只能在应用中领悟和熟悉;算法必须经过严格的科学的训练才能掌握。

在信息化条件下学生可以通过学习课本知识、从网上搜集相关教程、观看网络上的教学视频等方式学习最基础的语言知识。而传统的程序设计课程教学,在很大程度上并没有摆脱学科系统化课程的模式,过于偏重语言知识的讲解,忽视了程序设计方法和算法设计的培养。这种教学方法导致大多数学生在学习过程中感觉自己所学的知识枯燥无味,没有什么实际的用途,学习态度比较消极。另一方面,比较优秀的学生感觉老师讲的知识课本和网络上都有,完全可以通过自学成才,没有必要听课。学生即使学习并掌握了基础的知识,也并不具备工作所需的技能,即学得好但做得差,实际工作中灵活性和贯通性较差,没有实际软件开发的经验。很多学生眼高手低,程序听起来清楚、看起来模糊、编起来糊涂。

针对教师的教学目标和社会对学生的实用技能要求之间的巨大差距,如何有效引导学生转变学习方法,提升学生的软件开发能力,是教师在教学过程中必须要解决的问题。本文提出了“以培养学生的软件开发能力为目标,以实用型软件开发为驱动,让学生在实际开发过程中学习软件开发所需的各种知识”的观点,并将其应用到“C#程序设计”日常教学实践中。

2 教学实践

“C#程序设计”作为计算机科学与技术专业的实用型软件开发课程,是学生未来走上工作岗位从事软件开发相关工作的基石。但是,在教学过程中发现,比较优秀的学生认为,老师讲基础的编程语言知识没有必要,自己看教材、上网看教学视频也能学会。大多数同学认为,现在学的这些编程基础知识没有什么用,没有认识到现在学的知识能用来做出什么实用的产品,从心态上不重视基础语言知识的学习。结合信息化条件下教师讲授知识和学生学习知识方式的多样化,基于应用型人才培养的社会需求,在教学过程中,应该从四个方面进行教学实践,激发学生的求知欲望、调整教师的教学内容、增加教师的教学方式、在实践中锻炼学生的软件开发综合素质。最后,还需要调整课程的考核方式,引导学生平时多锻炼自己的软件开发实战能力。

2.1 激发学生的求知欲望

要激发学生的求知欲望,关键是要培养学生的学习兴趣。兴趣是学生的学习动力,也是教师引导学生的最佳方法。否则,学生上课消极怠工,教师教学没有激情。

现在的大学生都比较务实,大多数学生只会对他们认为的有用的课程,投入精力去学习。要想激发学生的求知欲,必须做到以下几点:(1)在开课的时候对学生讲明白这门课程有什么用,以后从事什么样的工作能用得着。(2)在讲授具体知识点的时候,不断穿插描述每个知识点有什么实用价值,在学习掌握的过程中应该注意什么问题,应该如何去强化巩固、灵活运用。(3)在讲课的过程中,要想方设法创设好的环境氛围,让学生在轻松快乐的氛围中学习,思维不受束缚,环境不受影响,可以经常使用一些小插曲将学生的注意力拉回到课堂中。(4)经常与学生交流沟通,知道学生的关注点是什么,重视学习兴趣的激发,提高教学效果。

兴趣是学习动力的源泉,只有有了兴趣,才能激发学生的求知欲望,让学生把更多的课余时间投入到学习中。

2.2 调整教师的教学内容

信息化条件下,各种视频、文档和教材等学习资源都比较容易获取,对于比较基础的语言知识部分,学生都能够自学掌握。所以,“C#程序设计”教学的重点应该放在程序设计方法和算法层面。让学生在实践中锻炼自己的编程能力,能够认识到哪些知识模块是自己欠缺的,做到有的放矢、自觉充电。

根据大多数学生数学基础一般、形象思维强于逻辑思维的特点,应摆脱传统的科学型人才培养模式的影响,将“C#程序设计”的理论教学从逻辑推导转向实例演示,突出以教学主线来强化工程实践能力的教学模式,推行案例化教学。通过具体工程项目开发过程的讲解,可以激发学生的学习兴趣,锻炼学生实践动手能力,达到比较好的学习效果。

基于项目驱动,实行项目开发需要什么知识就讲什么内容的理念,在“C#程序设计”的教学过程中,可以教学生开发基于.NET窗体程序和数据库的管理系统,具体教学内容如下所示:(1)C#的初步知识;(2)NET基础;(3)C#基础;(4)程序调试;(5)数据库访问技术;(6)管理系统开发。

从以上的教学内容可以看出,涉及到C#语言知识的只有两章内容。更多的授课时间被用来培训学生的.NET开发知识、C#访问数据库和综合管理系统开发实战。这样既锻炼了学生的综合系统开发能力,又能让学生在实战开发的过程中认识到自己有哪些基础知识欠缺,能够自觉地借助信息化条件下的各种互联网上的资源进行充电,真正做到在学中做、在做中学。

2.3 增加教师的教学方式

信息化条件下的教学,多媒体和网络技术在教学过程中发挥了巨大的作用。②多媒体和网络所提供的刺激信息的多样性也有利于知识的获得和保持, 同时也为学生培养信息的获取、分析和加工整合能力提供了机会。在新的多媒体和网络条件下,我们的教学模式应当摆脱过去那种以教师为中心的灌输式的教育,代之以学生为主体,教师为引导的方式。

在信息化条件下,“C#程序设计”课程中可以采用的教学方式包括:(1)引入MOOC翻转课堂教学模式,教师把讲课的内容录成视频,上传到视频网站中。学生在上课之前提前观看这些视频,在上课时教师可以集中答疑或组织大家共同做练习。(2)教师整理国内外著名大学相关课程MOOC翻转课堂的教学视频,每次指定学生在课下需要观看学习的内容。在上课时教师首先简要介绍视频中的重点、难点、要注意的问题,然后预留部分时间与学生进行交互答疑。(3)教师用录屏软件将软件开发所需要的实践操作细节录制成视频,在录制过程中配以语言讲解。将这些视频让学生在课下观看,并在观看的过程中跟随视频动手操作。在上课时教师集中帮助学生解决实践操作中遇到的各种软件操作问题、程序的编译错误和逻辑运行错误等等。

通过以上三种方式相结合,可以让学生以轻松自由的心态学习程序设计的基础语言知识,及相关实践开发操作。学生可以根据自己的理解和掌握情况用“暂停”、“重放”等按键自己掌控学习进度,可以让不同层次的学生实现个性化学习。课后复习和练习也可以按难易程度选择进行,以多媒体视频方式展示学习内容的最大好处是可以让学生随时反复观看。

“课堂与在线混合式”的教学方式可以实现更加深度和个性化的学习,提高教与学的质量和效率。通过多种教学方式的结合,可以激发学生的学习兴趣,拓宽学生的知识面,让学生更好地适应社会的需求。

2.4 在实践中锻炼学生的软件开发综合素质

软件开发类课程都配有上机课,锻炼学生的上机实践操作能力。传统的上机课以验证试验为主,学生只要按照老师的要求敲上相关的代码,运行一下,能得出相应的结果就可以了。但是,以这种模式培养出来的学生,不能灵活运用自己掌握的基础知识实现各种功能,毕业后还是不会开发软件,软件公司还要进行一段时间的培训才能上岗。为了解决社会对大量实用型软件开发人才的需求,教师在设计上机课的题目时,应该尽量增加设计型实验、避免验证型实验。让学生在实验过程中能够自由发挥,灵活运用所学的知识。另一方面,还要把每次课所做的实验串起来,组成一个实用的综合系统,让学生在实验过程中更有成就感。

以“C#程序设计”课程为例,上机课的题目可以进行如下设计:(1)学生信息管理系统登录界面设计;(2)学生信息管理系统注册界面设计;(3)学生成绩排序;(4)简易学生信息管理系统;(5)使用类实现学生信息管理;(6)将学生信息存储到数据库;(7)学生信息管理系统综合开发。

从以上题目可以看出,每次上机课做的内容有很强的关联性。学生从第一次上机课开始,已经在动手开发一个综合管理系统最基础的界面。对于后面的每一次上机课,都是对前面开发的程序不断完善的过程。到了最后一次上机课,已经可以形成一个综合的管理系统,然后稍加整理优化、打包发布,即是一个实用的软件。

通过以上模式的培养,学生对实验操作更有兴趣,更愿意在课余时间去完善系统。因为前面的功能实现不了,后面的实验没法进行,彻底避免了学生当一天和尚撞一天钟的想法。另外,最后做出的软件,可以在学生找工作的时候给招聘方演示,提高自己的录用率。这就更加增强了学生(下转第133页)(上接第119页)想把软件做好、做完美的想法,让学生动学习变主动学习,在实践中锻炼自己的软件开发综合素质。

2.5 调整考核方式,引导学生提升软件开发能力

考试是否能通过,是学生最关心的问题。传统的考核方式,让学生养成了考前突击学习几天,以卷面分考试及格为目标的学习习惯,不利于应用型人才的培养。

在实践教学过程中,可以把最终期末考试的比重降低到50%。增加上机考试,比重为30%,从而有利于调动学生锻炼自己动手能力的积极性。将课堂表现和平时作业成绩的比重设为20%,从而让学生重视平时每堂课的学习,不会只在期末考试之前临时突击学习。

另外,对于软件开发类课程,可以将期末考试的卷面考试形式变为系统开发大作业。让学生自由发挥,开发一个综合管理系统,提交系统开发报告,并且模拟毕业答辩的场景,进行现场答辩、软件演示。通过考核方式向应用能力测试方向的转变,可以让学生在思想上重视自己平时动手能力的培养,将教师的教学目标和学生的学习目标达成一致。另外,当考核结束后,学生可以真正掌握利用C#开发实用软件的方法。从而可以缩小高校培养目标和社会需求之间的鸿沟,为公司培养合格的软件开发类人才。

3 结语

“C#程序设计”教学应该以培养学生的应用能力为目标,提高学生学习这门课的兴趣,帮助学生建立学好这门课的自信心,增强学生开发实用管理类软件的能力,最终可以提高学生的综合素质。这种培养模式对于培养合格的计算机相关专业人才有重要意义。2012级计算机科学与技术专业的学生反馈显示,在以培养学生的软件开发能力为目标的“C#程序设计”教学模式下,大多数学生在自己积极向上的人生目标驱动下,提高了学习程序设计课程的兴趣,积极利用课程中学习到的方法进行上机练习,开发实用类软件,解决现实应用中的问题,提升自己的综合素质。

注释

① 潘旭华.程序设计课程教学方法与手段改革探讨.太原理工大学学报,2006(24).

② 易朝晖,李宏斌,李明霞.信息化条件下教学方法改革的思考.电脑知识与技术,2007(13).

猜你喜欢
程序设计教学改革计算机
计算机操作系统
基于Visual Studio Code的C语言程序设计实践教学探索
基于计算机自然语言处理的机器翻译技术应用与简介
从细节入手,谈PLC程序设计技巧
信息系统审计中计算机审计的应用
高职高专院校C语言程序设计教学改革探索
基于人才培养的技工学校德育实效性研究
现代信息技术在高职数学教学改革中的应用研究
以职业技能竞赛为导向的高职单片机实践教学改革研究
微课时代高等数学教学改革的实践与探索