提高非计算机专业学生编程能力的探讨与实践

时间:2022-04-06 12:26:54

提高非计算机专业学生编程能力的探讨与实践

摘要:高级语言程序设计是高等院校非计算机专业理工类学生的必修课程。该文针对非计算机专业学生普遍存在的编程困难的现状,结合现代教育理念以及本人的教学经验,从培养和提高学生编程能力的角度出发,以《C程序设计》为例,在理论教学和实践教学两个方面做了一些探讨和实践。

关键词:非计算机专业;C程序设计;编程能力;提高

中图分类号:G642文献标识码:A文章编号:1009-3044(2009)13-3446-02

1 引言

随着高科技在各行各业的普及与深入,计算机已成为一种处理专业领域问题的有力工具。是否掌握计算机知识和技能已成为衡量当代大学生适应社会发展需要的重要标志。非计算机专业的《C程序设计》[1]课程的教学目标是通过学习使学生熟练C语言,掌握程序设计的思路,并具有用C语言编程的能力;培养学生利用计算机技术解决工程实际问题的能力。但在实际教学过程中发现,学生对课程的基础知识和基本概念的理解和掌握比较扎实,但在灵活应用C语言编制程序的能力方面就比较薄弱,处于看得懂、编不出的状态。

对于一些非计算机专业的学生,他们普遍对为什么要学习编程语言尤其是C语言感到困惑。另外计算机学科概念的基础术语比较抽象,程序设计语言的语法枯燥,编程的算法比较复杂,学生普遍存在畏难心理[2]。由于以上几方面的原因导致学生在学习过程中没有学习的兴趣及动力。所以在教学中如何提高学生的学习兴趣和消除学生的畏难心理是提高学生编程能力的关键。本文针对非计算机专业学生的特点,从理论教学和实践教学两个方面作了一些探索,收到了较好的效果。

2 理论教学上的探讨与实践

一直以来,程序设计课程都采取“理论+实践”的教学模式。理论课主要教授语法、算法;实践课主要是验证性、设计性的内容。本人认为要提高学生的编程能力,理论课应该在如何提高学生的学习兴趣上下工夫。

2.1 利用第一堂课充分调动学生学习兴趣

《C程序设计》课程的第一堂课一般是概述,介绍C语言的产生、发展以及特点,初步认识C程序,介绍编辑、编译、运行C程序的步骤。但如果照本宣科地向学生灌输书本上的知识,不免让学生感到枯燥。

本人认为第一堂课应该充分调动起学生学习C语言的兴趣和热情。在简单明了地介绍上述基础知识外,应该将重点放在让学生了解为什么要学习C语言程序设计、学习C语言是件很有意思的事情上。比如本人会把用C语言编程解决实际问题作为一个切入点,以过河游戏为例。首先和学生一起玩游戏,将课堂气氛活跃起来。学生在玩这个游戏的时候,一方面启发其解决这个问题的方法,比如提出“规则”、“遍历”等概念,一方面提出人在解决问题时的“力不从心”。然后不失时机的向学生展示自己编写的解决该问题的程序,并向学生提出算法的概念。告诉学生,C语言可以解决现实中的实际问题,编程就是将自己所想的用另一种语言表达出来而已。

这样,在一定程度上消除了学生对程序设计课程的恐惧心理,充分调动起其学习编程的兴趣和热情,学生普遍进入一种迫不及待、跃跃欲试的状态。

2.2 合理调整授课顺序

在C语言教学中,无论是教材还是教师上课,一般都是先介绍数据类型和表达式,再介绍各种语句的语法规则,然后是数组、函数、指针等等。这种编写安排或教学模式不利于学生编程能力的提高[3]。学生在学习C语言时,开始怀着神秘兴奋的心情进入课堂,但随着几节关于大量难以理解和记忆的新术语、新规则的介绍,枯燥乏味的例题分析后,学生马上又产生了厌学心理,一开始的热情也随之减弱甚至消失。

针对这种情况以及非计算机专业学生的认知特点,本人在教学过程中,合理调整了授课顺序。本人主张应使学生先对程序设计有个宏观的认识,然后才是细节上的深入。所以在第一堂课后,先讲授程序设计结构,中间穿插讲解必要的基础知识,然后在学生上机过程中点出、强调,使学生在特定的编程环境中吸收这些基础知识。

3 实践教学上的探讨与实践

《C程序设计》是一门实践性要求很强的课程,只有通过上机实践,学生才能真正理解消化课堂上的教学内容,纠正原来理解上的偏差,加深对C语言的了解。学习的能力和方法比掌握的知识更为重要,教师更应该教会学生编程领域的学习方法,培养他们的学习能力,而不是仅仅教给他们知识点。在上机实践环节本人作了以下几个方面的研究和尝试。

3.1 递进启发式编程

在非计算机专业学生编程的时候,会觉得代码处处出错,无从下手,似乎只有在教师的指导下才能完成编程。因此,有必要找到一种有效的自我提高的方法。本人在实践教学过程中发现,对于初学者,应该循序渐进地进行启发,教会学生编程的方法。

第一阶段 抄代码。在每个新知识点的学习后,提供给学生范例代码。学生通过读懂、调试通过程序,感受新知识点的应用方法。

第二阶段 填空补充。在读透程序的前提下,设计新的题目,应用前面程序的知识点。在这个阶段不能全部把程序代码给学生。采取填空的方式,让学生去补充完成代码,并上机调试。

在这个阶段仍然要分步进行。开始的时候让学生补充单个的语句,最后以补充程序段的方式来提高学生的编程能力。

第三阶段 设计程序。在前两个阶段的基础上,让学生独立设计出应用相关知识点的程序。这里其实也是一种模仿阶段。

这种学习方法一方面强调了学习的渐进性,降低了学习的难度,能力得以逐步提高;另一方面可以逐步使学生从依赖老师向独立解决问题而转变。

3.2 鼓励学生读出错信息,学会自己解决问题

学生在编程的过程中,往往一出现问题,就不知道该如何是好,不会自己去查错。本人在教学过程中强调编译环境中编译信息的查看,鼓励学生遇到问题自己发现问题、分析问题、解决问题。在出错中学习,从而提高学生的编程能力。

3.3 重视程序调试

在C的编译编译环境中一般都有调试功能。虽然对于非计算机专业的学生没有调试程序的要求。但本人认为,学生通过调试不但可以对程序进行逻辑错误的查找,还可以在调试过程中更深层次地理解程序的执行过程。

4 结束语

提高非计算机专业学生的编程能力,是公共程序设计课程教学改革研究的一个课题,需要在教学的各个方面进行探索和研究。本人在提高学生学习兴趣以及消除学生畏难心理等方面总结了几种行之有效的方法,并应用于实际教学中。学生编程能力得到了很大的提高,取得了很好的效果。

参考文献:

[1] 谭浩强.C程序设计[M].3版.北京:清华大学出版社,2005.

[2] 谢书良.试论学习程序设计语言课程的心理障碍及压力来源[J].计算机教育,2008(20):120-122,199.

[3] 李妮.公共《C语言程序设计》课程教学改革的探讨[J].电脑知识与技术,2008(23):1094-1095.

[4] 孙静.程序设计课程教学研究――在教学过程中提高学生的编程能力[J].中国教育技术装备,2008(16):42-43.

付春捷(1980-),女,浙江杭州人,浙江理工大学科技与艺术学院助教,研究方向:计算机基础教学。

上一篇:富客户端技术使用前景分析 下一篇:二级VFP应试策略及SELECT-SQL语句详解