软件工程专业教学过程中如何提高学生的编程能力

2016-03-12 07:18彭耶萍
考试周刊 2016年9期

彭耶萍

摘 要: 本文阐述了如何提高软件工程专业学生编程能力,即从培养学生学习编程的习惯、主动学习编程的态度、通过阅读代码找到程序的精髓、学生编写程序的思维和算法和通过实践应用锻炼编写程序的能力五个方面提高学生的编程能力。

关键词: 软件工程专业 编程能力 计算机运用能力

软件工程教育是一种能力教育,是一种以学生为导向的教育,除了注重学生综合能力的培养外,更注重学生专业能力和专业拓展能力的培养。学生的计算机运用能力和编程能力是软件工程专业教学质量的两个重要评判依据。我结合自己多年来的软件开发经验和软件工程专业的教学经历从日常、学习、读书、思考、课后练习和实践操作六个方面探讨如何提升软件工程专业学生的编程能力。

一、培养学生的学习编程的习惯

行为决定习惯,习惯决定性格,性格决定民运。要提升自己的编程能力,就必须养成良好的习惯,每天都要完成一定规模的编程任务,持之以恒。必须严格要求学生,每天给学生树立一天的小目标并且一定完成它。比如说今天要求完全弄懂C语言的基本数据类型有哪一些。基本类型就可以到书籍教材上或者到网上学习C语言的基本数据类型有两种:一是整形类型,包括int ,short int,long int,long long int(C99),char,bool;二是浮点类型,包括float ,double,双精度浮点型(float_complex,double_complex,long long_comples)。然后再找题目巩固,做出一道题来就很会有成就感,久而久之学生对编程的兴趣就会越来越浓,从最简单的知识部分做起,循序渐进,逐步提升学生的编程能力。

所谓练就是练习,把所学的知识应用于实际,练习课本后的习题及书本上经典的例题、经典的算法、具有代表性的程序。在练习的过程中多思考多理解多提问。首先运行这段程序看看是什么效果,然后删除掉一些代码,再运行程序看看与不删除之前的效果有什么区别,从而知道删除的这些代码是实现什么功能的。然后再仔细体会这段代码,例如有很多循环例子,是否可以实现for循环和while循环相互转化,当通过自己的实际转换后才体会到原来每个循环有各自的特点。练习其实是一个循序渐进的过程,刚开始先做简单的练习,后面随着自己的能力不断提高再增加难度先练习语法规则和编程规则。

二、培养学生主动学习编程的态度

学,顾名思义是指学习,然而学习也是很有讲究的,学习包括提前预习、课后复习和课中认真学习。所以要提升学生的编程能力,就必须一步一个脚印地按着这三个步骤走:上课之前认真预习,把将要上课所要讲的知识,要求学生提前预习,做好充分的准备,这样能够保证在课堂听课感觉更得心应手。自学能力是以后工作生活中很重要的一种能力。课中认真听讲,要求学生紧跟着老师的思路,教师在讲台上演示时候要求学生跟着老师同步进行代码编程,不懂的难点知识点及时标记下来,课堂或课后进行辅导。课后要求学生进行温习,通过做练习把老师讲的知识完全理解。另外,还要不断地学习新的和先进的开发工具;只有理论基础扎实,编程才能游刃有余,才能写出高水平的代码,才能编写出高质量的程序,自然而然编程的能力机会得到增加。

三、培养学生通过阅读代码找到程序的精髓

除了课堂教学之外,学会阅读代码对软件工程专业的学生来说尤其重要。看经典的算法程序,然后总结起来,反复读,直到自己完全理解消化自己能够得心应手地运用,从而发展自己的编程思维。细细地品读别人写的代码,不能效仿别人的代码,要求学生读懂代码的思想和逻辑。读完后思考自己和编写这一段代码的人的差距。读懂代码的思想和精髓,没有思想这段代码只不过是一段杂乱的英文字母。再将别人的算法思想和自己的思想进行对比,反复琢磨,就会懂得很多有用的东西。此外,阅读完后应和老师多多交流,和同学沟通,树立“三人行必有我师焉”的思想。可能在不经意的交谈间产生灵感写出更好的代码,最终学习别人的精髓编程,以提升自己的编程能力。

四、培养学生编写程序的思维和算法

面对一个问题,思考这个问题的可行性,思考这个问题为什么值得思考,思考这个问题该怎么解决,包括编写这个程序所需要的知识,所以完成一个代码任务之前要再三思考。第一,思考这个问题的可行性,用课堂上学的知识能否解决这个问题,如果这个问题本身就是一个悖论,用编写一段代码实现它要求的功能,编写程序肯定陷入无限的死循环,这个问题终究还是无法解决。第二,思考解决这个问题有没有更好的解决办法。这样可以大大减少完成任务的时间开销。比如:编写一个程序要求要有主页,登入页面和注册页面,让学生使用以前编写的代码,然后通过修改达到老师的要求,这样既温故了所学知识,又应用了新的知识,还节约了编码的时间。

五、通过实践应用锻炼编写程序的能力

所谓实践就是做出实际的东西出来,“百说不如一练”,学得再好做不出实际的东西出来也是白学。在每个学期的课程设计或实训时期要求学生以企业实际的工程项目为案例进行开发设计,在实践中不断地锻炼自己的编程能力。以团队方式供完成。这样不仅可以培养学生实际能力,还可以养成团队合作的精神。在合作的过程中找出问题,然后解决问题,不断提高逻辑能力、思维能力和创新能力。

总之,要提升学生的编程能力,就要养成良好的习惯,培养编写程序的思维,不断地积累编程经验,阅读、借鉴,然后把所学的东西付诸实践,持之以恒。

参考文献:

[1]李永.怎样提高学生编程能力[J].文献资料,2006(08).

[2]郭剑.编程能力的培养与提高[J].电脑与电信,2010.

[3]马慧彬.结合ACM竞赛提高学生编程能力的教改探索[J].计算机与信息技术,2010.

[4]韩国勇.浅谈提高学生编程能力[J].科技资讯,2010.

[5]樊纪山.提高非计算机专业学生编程能力的探索与思考[J].福建电脑,2010.