摘要:程序设计课程是各高校都开设的一门公共基础课,作为计算机课程的主要内容,编程能力的培养以及计算机灵活应用的是课程的主要目的。该文就课程教学过程中的经验进行了总结,对课程的教学方法进行了全面的阐述。
关键词:计算机;编程;教学
中图分类号:G642文献标识码:A文章编号:1009-3044(2011)26-6486-02
计算机程序设计课程是个高校普遍开设的一门课程,无论是计算机专业还是非计算机专业,在一年级时都设置了关于计算机的公共基础课,高级语言程序设计便是其中之一,而且占2个学分甚至更高。计算机专业在后续的学习过程中至少还会开设两门编程或软件开发的课程。计算机程序设计课程不仅是大学生的一门必修课,在大学生的文化和素质培养过程中起着至关重要的作用:它不只是教会学生为解决一个问题而编写一个或大或小的程序,更重要的是在学习编程的过程中学习到、培养起一种开放、灵活的思维,同时也是为学生今后在工作中无障碍的使用计算机去解决实际问题奠定基础。
程序的编制、软件的开发是一件辛苦的工作。在教学过程中,学生作为初学者,普遍反映编程难度较大,尤其是文科和艺术专业的学生反应更为强烈。其实这些现象是在编程和软件开发课程中出现的正常现象。但对于这些问题,如何开展教学活动,如何引导学生正确学习,至解决这些问题的重中之重。初学编程的人进步慢甚至半途而废的主要原因是他们没有从事编程和软件开发的具体环境,如果一个实践经验丰富的教师能够将编程理论和实践经验通俗的讲出来,并为学生创造一个模拟或真正的编程或软件开发学习环境,培养他们的编程思想和编程感觉,组织学生自己动手模仿实际项目的开发过程,学生是能够很快入门、进步的。
1 编程思想是第一位的,要注重培养编程感觉
要成为一名优秀的程序员,最重要的是要掌握编程思想,找到编程感觉,而不是死记硬背编程语言本身。编程语言是相通的,不同的只是细节上的差异。一旦掌握了编程思想,找到编程感觉后,就可以即学即用了。就象一个精通汽车修理的人,当他着手修理一辆从未接触过的品牌的汽车时,只需要参考一下该车的维修指南,就可以动手排除故障了。掌握编程思想,找到编程感觉,是一名程序员追求的高级境界,是在不断的实践、观察、分析、比较、修改、总结中逐渐积累的。
编程的入门只能从一门实实在在的编程语言和实际的编程练习中去实践和体验,基本的语义、语法和一些常用的算法是必须牢牢掌握的。教师在讲解过程中要注意:内容不要形式化、教条化、概念化、提纲化。首先要培养学生自己思考问题、解决问题的能力,让学生的思维动起来,把程序的组织结构、语句含义、运行流程和所提出的问题对应起来。可以让学生解决一些简单的实际问题,掌握编程的一些常用的结构和方法,比如让学生用程序实现常用函数的功能。以后多用软件开发实际的项目,让学生尝试着做,这样边学边用,感觉就会自己油然而生的。通过让学生参加实际项目的开发,会使学生产生一种成就感和自豪感,还能够激发学生对软件开发的兴趣和激情,这样的激情要比其他任何方式的刺激都要浓烈持久。同时,还要注重培养学生查阅资料的自学能力。
2 善于使用大家熟悉的实际例子来激发学生的学习兴趣,增强学习的信心
能够自己动手解决实际问题是学习的最直接动力,是激发学习兴趣的根源所在。
实际例子的运用为学生提供了模拟的开发环境,让学生感受到了学习的意义,为学生提供了模仿的榜样,当学生独立完成了一个程序的编制,看到运行结果时,会有一种成功了的成就感,而这种成就感的积累过程,就是学生兴趣浓厚、能够深入进去的根源和动力。因而,实例教学深受学生欢迎,学习效果也是最好的。所以讲课时不要总是沿用传统的讲课方法,不要总是讲概念、思想本身的含义,而要用实际项目和程序代码为实例入手,讲解相关概念和方法。这样会使学生记忆深刻,事半功倍。
3 要善于设置例题
例题是思想的传导载体,例题的设置又有所讲究,对所要说明的内容,有针对性地设置例题,能够及时有效的说明问题,从而起到画龙点睛的作用。例题的设置在精而不在多,例题的讲解讲究透彻而不能点到为止,要针对一个算法、一个方法设置例题,既有针对性,又要善于变化,使学生用基本的方法去解决不同的问题。比如在讲解循环结构时,给出图形的打印输出程序(如图1所示),只需要改变循环控制变量的相应值和星号个数的表达式,就能够输出所要求的图形格式。然而,在讲解时,不要把每一种格式都讲出来,只需讲解其中的上三角形的输出打印方法,其余的下三角形、连体三角形由学生自己完成,就是一个理想的方法。
4 善于分析编程过程所出现的问题是学习的捷径
及时解决编程过程中所出现的问题是提高学习效率的最重要的内容。学生出现的问题复杂多样,但也有很多共性的、常见的问题,要尽量把那些常见的、共性的问题归纳总结,及时分析并解答产生的根源,提起学生的注意。另外,有意的把问题提出来,正反对比也便于学生理解,加深印象。
5 多读源程序代码,多动手有助于快速提高
作为程序员,经常阅读一些优秀的程序源代码,对自我提高、开阔视野、积累经验非常必要,也就是通常所说的“好读者中出好作者”的含义。但要记住,一定要多动手才能把别人的东西真正消化成自己的,单纯的照搬照抄是学不到思路和方法的,起初的模仿只是启程的助力,而上路以后就要自己走,总是依赖模仿是走不远、走不快的。
6 思路的讲解要与学生的认知规律结合起来
从实践到理论,从具体到抽象,从个别到一般的方法,是学习的基本规律。讲解时不仅要讲怎么做,还要告诉学生为什么要这样的原因,不仅要讲具体的步骤,还要贯穿于系统的理论,在讲得过程中要讲的透彻,要避免点到为止,否则只能让学生越听越糊涂。这样环环相扣,逐步引导学生深入,使学生能够轻松愉快的学习。
7 要善于把复杂问题的讲解简单化、具体化、实例化、通俗化,简化问题的难度
要善于把复杂的问题简单化,列举简单的例子。再高的楼房也是从下到上一点一点建起来的,能用简单的例子来说明复杂的问题就是成功的。所以,在讲授的过程中用浅显易懂的程序帮助理解,分析问题力求一针见血,尽量少用专业术语,鼓励学生用自己的话把知识描述出来。
8 要引导、促使学生学会总结
学习的过程是一个从量变到质变的过程,知识积累到一定程度,人们的认识就会发生质的飞跃,而学习总结就是促使这种飞跃的催化剂。在完成了一个程序后,不论是顺利的完成,还是中间出现了多少问题,都能够进行总结,将过程中用到的方法、解决问题的思路、以及为什么会出现这些问题进行反思,不仅仅是一个渐大的总结过程,而且是对相关知识的条理化、系统化的过程。缺乏这样的总结过程,所学习的内容只能是松散的、不系统的。同时,通过总结,还能让学生知道,联系是做不完的,实际工作中出现的为难题也是千变万化、复杂多样的,每个人不可能将所有的问题都拿来练习一遍,所以要学会对所接触的问题进行总结,有总结就有深化,就能做到举一反三、一通百通。
9 总结
总之,教会学生编程是一件很辛苦的工作,但不论对专业还是非计算机专业的学生而言,编程课程都是重要的,对其他课程有着基础的作用。教师要善于抓住学生学习的特点,合理编制教学计划,循循善诱,逐步推进,是能够培养出合格的软件编程人才的。