APP下载

师范院校程序设计语言课程的设置与教学

2010-04-05郑继刚

大庆师范学院学报 2010年3期
关键词:师范院校C语言程序设计

郑继刚

(保山学院 数学系,云南 保山 678000)

0 引言

在我国现行的教育体制下,师范院校作为中小学师资供给和培养的主要基地,是培养德智体全面发展的教育工作者的摇篮。随着计算机的普及,那种只靠一块黑板、一支笔、一张挂图、一本书的传统教学模式正在改变,计算机辅助教学(Computer Assistant Instruction,简称CAI)将成为中小学各学科教学的一种强有力工具,需要中小学教师参与CAI的研究和实践工作。师范院校的学生只有充分掌握程序设计理论,才能在将来的工作中胜任CAI的研究、开发与应用[1]。

目前许多师范院校不仅在计算机专业开设了程序设计语言课程,而且在非计算机专业也开设了该门课程。全国计算机等级考试(NCRE)、全国计算机应用技术证书考试(NIT)和全国各地区组织的大学生计算机等级考试都将程序设计语言列入了考试范围。因此,如何搞好师范院校程序设计语言课程的教学,成为各专业建设讨论的热点。

1 充分认识开设程序设计语言课程的重要性

正如自然语言是人类社会交流的工具一样,计算机语言也是应用者和计算机之间进行交流的一种工具。全国大学生数学建模比赛、电子设计比赛、“挑战杯”全国大学生课外学术科技作品竞赛等都需要一批既懂专业知识又懂程序设计语言的学生去参与和实践。而对于常用的CAI软件,其管理和维护也需要使用者掌握程序设计语言。目前,虽然软硬件技术平台在飞速发展,但还没有一个不使用程序设计语言就能进行CAI软件开发的环境,要使学生一毕业就可以进行软件开发工作,就需要较深入地掌握先进的可视化开发工具,如Visual C++、Java Builder、VisualBasic、PowerBuilder、Delphi等,但是目前的课程设置,还不能较好地满足社会对毕业生的要求。

对于学生的个人发展来说,程序设计语言课教学对学生综合素质和能力的培养也起着重要的作用。针对学生的素质教育,程序编写过程的思路、方法和训练是非常重要的。就像几何学,将来工作中很少用得着,但学生必须要学习其相关的原理并掌握一些必要的解题思路和方法。这是因为,几何学是我们掌握和学习其他学科的基础,它的许多原理和思维方式都是我们经常用到的,更重要的是在使用原理的过程中对思维能力的训练。程序设计语言也是相同的道理,它凝聚了很多现代的思维方式和思维观念,学习程序设计语言有助于开发智力、提高学生的思维能力和综和应用能力,因此,师范院校开设程序设计语言课程具有十分重要的意义。

2 程序设计语言课程的选择

程序设计语言种类众多,目前流行的有结构化设计语言有PASCAL、C语言、面向对象设计语言C++、C#、Java,可视化程序设计语言VB、VC、VFP、PB、DelPhi等[2]。计算机技术的发展,不同种类的问题宜采用不同的工具解决,比如数据库应用程序设计,采用PowerBuilder开发设计可节省大量开发时间;而基于B/S模式的动态网页应用程序设计,又宜采用ASP技术或JSP技术。至于选用哪种语言进行教学,要考虑到计算机只是一种工具,在程序设计语言课的教学中要以应用为目的和出发点,结合各专业课程的需要和让学生掌握实用编程技术的目的进行选择[3]。同时,在教学过程中应注意让学生建立“算法+数据结构+程序设计方法+语言工具和环境=程序”的程序设计思想。

教材是知识的载体,也是教学的主要依据。目前,一些师范院校使用的程序设计语言教材版本较陈旧,有些章节虽然经过几次修订,但主要教学内容、教材编排仍显得相对落后,基本没有跳出传统程序设计语言的框架;以培养学生抽象思维和逻辑推理能力为目标,重点强调其科学性、系统性、严密性,而淡化了对学生在实际软件开发中使用频率高、易出错的各知识点的重点训练。因此,在教学过程中必须对授课内容做出适当的调整,如删减一些初学者理解起来有难度的内容,增加在实际软件开发中经常使用的结构体、回调函数和内存管理等内容,从而培养学生解决实际问题的技术应用能力和创新能力。

3 程序设计语言课程的设置

作为教学语言,应选择通用语言。通用语言的语法定义明确,简单易学,表现力强,能够体现结构化程序设计风格,同时拥有一般程序设计语言的数据结构,有较好的编译系统和调试工具,并具有一定的实用性,同时兼顾中小学教育需要。目前,中学信息技术课开设了BASIC语言,奥林匹克竞赛则选用PASCAL或C语言。虽然程序设计语言有很多种,但C语言引领了主要的发展方向,而且C语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好,既具有高级语言的优点,又具有低级语言的许多优点。

程序设计语言课程设置应贯彻少而精、不断线的原则,师范院校可以开设以下程序设计语言课程:①第三学期开设C语言,总共72学时(其中理论54学时,实验18学时),侧重讲解结构化程序设计方法、数据结构与算法、模块化程序设计以及程序的测试与调试技能等;②第四学期开设VB,总共72学时(其中理论54学时,实验18学时),侧重讲解可视化编程技术、可视化编程环境的使用等;③第五学期选修C++或Java,总共72学时(其中理论54学时,实验18学时),侧重讲解面向对象设计方法、类及其对象等。

4 程序设计语言课程的教学

4.1紧密联系学生的专业开展教学

教师深入分析教学大纲,在全面了解学生的程序设计基础知识状况的前提下,根据大纲制定好教学计划。在制定计划的过程中要针对学生的专业知识基础,将教材中涉及的学生未掌握的基础知识类例题进行更换,避免因专业知识方面的问题形成教学障碍。在教学中选择的例题应符合专业基础和专业兴趣,尽量避开使学生感到枯燥无味的题目。总而言之,对不同专业的学生的教学方法原则上是一致的,但对具体内容需要作相应的处理,以求良好的教学效果。

4.2理论教学应突出重点

程序设计语言内容繁多,在有限的课时内不可能也不必要面面俱到,所以必须突出重点,突出实用性。教学的关键在于教会学生正确运用程序设计语言编写程序,一些细节、具体规则和更深层次的知识可以让学生在以后的应用中查阅有关书籍。程序设计语言课程的难点在于算法的设计,算法设计需要分析、演绎、综合等抽象思维能力,可在教学中通过分析、归纳出各种算法的思想和步骤。如在讲解循环、数组时,重点讲清楚素数问题、求和、查找、数据统计、排序算法等。

4.3实验教学以学生为主

实验的过程应以学生为主,充分发挥他们的主观能动性。程序设计语言课程的实验中,一部分是验证教材的知识点,这对知识的理解、掌握与巩固是必要的。在此基础上,教师可设计属于应用型的实验内容,以培养学生解决实际问题的能力。教师除了对所有学生进行统一的要求之外,还应做到因材施教,对学习水平较高的学生,进行个别辅导,以激发其创造性。另外,在教学时可利用现代化的教学手段,如使用投影仪等多媒体设备、CAI课件等,从传统的上机实验教学逐渐过渡到多媒体教学,以提高教学效果。

4.4 注重程序设计思想的培养

在程序设计课程中,首先要强调基本算法在程序设计中的核心地位。教学如果没有站在如何运用程序设计语言解决实际问题的角度,就没法很好的讲解如何分析问题和解决问题,结果将导致学生程序设计能力、上机解题能力训练不够,更谈不上引导学生进行课题研究和科研探索。因此,在开始学习时就要努力培养学生掌握解决实际问题的程序设计思想、养成良好的程序设计习惯。这要求教学的重点必须放在解题思路、算法设计和编程构思的培养上,使学生形成一个良好的程序设计思维基础。

4.5 联系实际开展教学

学习的目的在于应用,如果所学的内容不能得到应用,那么努力学习就没有多大意义。在教学中应以现实生活中或工作中所碰到的问题为例,这样不但能提高学生学习的兴趣,而且还能培养学生处理实际问题的能力、巩固所学的知识,更清楚和形象地了解学科间的横向联系[4]。如在数组应用中举例根据考生的成绩,取考生信息的问题。通过这个例题使学生掌握数组的使用方法,弄清楚计算机处理问题的过程,从而学会利用二维数组处理矩阵之间的运算、矩阵求转置、解线性方程组等问题[5]。通过举例,提高了学生的学习兴趣,也充分显示了程序设计语言与其他学科的联系。

5 改进教学手段

利用联机多媒体投影教室是目前较广泛采用的多媒体教学手段,它可以实时将各种教学文稿、图像、声音、动画等多媒体信息反映给学生,使学生发挥多方面的想象力。对于操作性较强的课程内容,容易达到较好的讲授效果。由于程序设计语言是逻辑性、艺术性很强的一门课,要深入浅出,并不断保持学生的学习兴趣,单纯的教学文稿联机投影和实时联机调试程序往往会限制教师引导作用的发挥。这就要求教师要结合自己的教学经验,对课程内容进行选取、编排、抽象、建立演示模型,把设计好的脚本运用生动、实用的CAI教学课件表现出来。例如,对于过程调用、递归等问题,采用汉塔问题演示能生动地反映递归效果;对于冒泡排序算法则用动画过程进行演示。这些有趣的问题和生动的演示能激发学生的学习热情,加深他们的认识和理解。

6 结语

综上所述,我们讨论了程序设计语言课程的设置与教学方法,以此引导这门课程更好地为教学服务。随着信息化进程的不断加速,教学软硬件的不断升级,程序设计语言课程越来越受到重视。通过改革教学方法,更新教学内容,采用现代化教学手段,使程序设计语言课程的教学跃上一个新台阶,从而取得良好的教学效果和社会效果。

[参考文献]

[1] 林颖贤.高师数学教育专业程序设计语言教学探讨[J].集美大学学报,2001(4):65-68.

[2] 钱能.C++程序设计教程[M].北京:清华大学出版社,1999.

[3] 孔垂柳,田地.基于程序设计思想的C语言教学方案[J].吉林大学学报,2005(8):5-6.

[4] 张锦祥.高级程序设计语言课程教学改革与实践[J].浙江教育学院学报,2007(4):71-76.

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

猜你喜欢

师范院校C语言程序设计
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
师范院校毕业生就业观念对就业选取的影响
新课标背景下师范院校文学理论教学反思
浅析师范院校学生教育管理模式的构建
应用转型期师范院校大学生的心理调适
PLC梯形图程序设计技巧及应用
论子函数在C语言数据格式输出中的应用