高等院校《计算机编程基础》课程的渐进式教学模式探讨
2012-03-31叶亚琴中国地质大学武汉信息工程学院湖北武汉430074
叶亚琴 (中国地质大学(武汉)信息工程学院,湖北 武汉 430074)
陈 波 (武汉中地数码科技有限公司,湖北 武汉 430074)
高等院校《计算机编程基础》课程的渐进式教学模式探讨
叶亚琴 (中国地质大学(武汉)信息工程学院,湖北 武汉 430074)
陈 波 (武汉中地数码科技有限公司,湖北 武汉 430074)
《计算机编程基础》是计算机专业学生学习的一门基础课。针对该课程的教学实际,具体阐述了渐进式教学模式阶段特点和相应策略。教学实践表明,采用该教学模式能够激发学生的学习兴趣并提高学生综合运用知识解决实际问题的能力。
高等院校;计算机编程基础;渐进式教学法
《计算机编程基础》是高等院校计算机专业学生学习的一门专业基础课程,是学生学好其他专业课程的重要前提。目前该课程的教学模式是向学生灌输高级编程语言的基本语法[1-3],并要求学生使用语法完成一些功能(如实现加法函数),学生虽然学习了各个知识点,但不能整体掌握该课程的精髓,难以将面向对象的思想与计算机高级程序语言进行融合,以至于所掌握的知识不足以支持实际软件开发。针对上述状况,亟需引进一种能面向全体学生且利于学生专业发展的编程语言教学模式。为此,笔者根据该课程的教学实际对渐进式教学模式进行了探讨。
1 渐进式教学模式的阶段
1.1初级阶段
对于大一新生来说,其对计算机编程的概念比较模糊。因此,教师首先需要向学生强调计算机软件编程在信息化产业的作用,让学生充分认识到学习该课程的重要性。教师在初级阶段应让学生背诵编程的基本语法,并模仿一些经典程序解决一些小问题,其目的是让学生迅速入门,掌握调试技巧并能够熟练应用,同时培养学生分析与解决问题的能力。此外,教师在教学过程中对获得进步的学生要及时给予表扬和鼓励,使其对计算机编程产生浓厚兴趣,从而更加积极主动地学习该课程。
1.2提高阶段
当学生掌握编程的基本语法后进入到类的继承和多态部分的学习时,很多学生感到十分吃力,为了学生深刻理解上述内容,笔者采取如下措施:①注重讲课逻辑和及时总结知识点;②将一些代码发放给学生进行阅读,再让他们在理解的基础上对程序进行修改并解决一些实际问题。这样学生既提高了代码阅读量又掌握了一般的编程方法,为下阶段的学习打下了坚实基础。
1.3强化阶段
经过上述阶段的学习,学生对编程语言及一般的编程方法都有所了解,在此基础上教师应进一步培养学生编程思维能力,具体方法是以实际问题驱动的方式,通过实例讲授程序设计的基本概念和方法,把讲课重点放在解题思路上,使学生掌握具体的程序设计思想并养成良好的程序设计习惯[4]。此外,可以安排学有余力的学生进行综合课程设计,让学生通过实战训练以脱离现有代码的帮助,最终能够进行自主编程。
2 渐进式教学模式的策略
2.1注意专业术语的讲解
由于初学者对相关编程专业术语不熟悉,导致他们不能顺利理解相应知识点,因而教师在教学时应注意将专业术语讲解透彻,为学生掌握相关教学内容打下良好基础。
2.2适时归纳总结教学内容
教师在教学中适时归纳总结知识点,使学生加深对相应知识点的理解。例如,在学习自定义数据的枚举、结构体和联合体3种类型的教学内容后,教师应在课堂上与学生共同归纳总结3种数据类型的适用范围,并给学生布置若干习题,通过上述过程可以帮助学生充分理解自定义数据的教学内容。又如类的继承与派生的教学内容中涉及到到public、private和protected 3种继承方式,教师在讲授相关内容后,应进一步引导学生归纳总结类的3种继承方式之间的区别及各继承方式的适用范围,使学生能够在整体上把握类的3种继承方式的相关内容。此外,对于学生在学习过程中出现的共通性问题,教师应将其归总并解答,再加入到FAQ集中供学生查看。这样既能减少教师一对一答题的时间,又能让学生认识到学习中归纳总结知识点的重要性。
2.3注重章节间的衔接
由于该课程的各个章节的知识点是相对独立的,容易在学生的头脑中形成支离破碎的感觉。因此,教师在教学过程进入下一个章节时,应将已学习的章节中的相关知识点进行串接,使学生能够顺利地学习下一章节的教学内容。
2.4加强实践能力的培养
该课程的实际操作性很强,若学生只在课堂上听讲或阅读程序,其学习过程是被动的,这对培养学生的动手能力十分不利。为此,应强化上机实践过程,只有这样才能真正提高学生灵活运用课程知识的能力。为保证上机质量,可以采取如下措施:编写规范的上机指导书引导学生编程;要求学生熟练掌握调试技巧并学会独立分析与解决问题;招募高年级学生成为学习志愿者帮助学生解决学习过程中出现的问题;教师对学生的上机结果进行“提问式检查”,从而督促学生自己独立完成编程任务。
3 结 语
将渐进式教学法应用到该课程的教学中,强调在初级阶段激发学生的学习兴趣、培养学生形成基本的编程思想,在提高阶段消化疑难知识点的基础上提高调试技能,在强化阶段引导学生自主编程。以阶段性目标为指导,在每个阶段采用不同的方法促进学生由被动学习向主动学习转换,最终提高学生综合运用知识解决实际问题的能力,从根本上解决学生学习该课程时存在的入门难、动手难、提高难的“三难”问题。
[1]高枚,杨志强,许兰兰,等.C/C++教学改革的探索与实践[J].计算机时代,2005 (11):8-10.
[2]沈天晴,刘维富,丁卫平.VC++程序设计基础课程实践教学方法的探讨[J].南通大学学报(教育科学版),2005,21(3):88-90.
[3]李桂珍,徐玉莲.“C语言程序设计”教学的思考与实践——变被动为主动全方面促进C语言教学[J].电脑知识与技术,2010,16(12):3146-3147.
[4]王昕.《面向对象程序设计课程》项目教学法的探索[J].电脑知识与技术,2011,17(5): 3627-3631.
10.3969/j.issn.1673-1409(N).2012.08.060
N4
A
1673-1409(2012)08-N178-02
2012-05-24
叶亚琴(1979-),女,2001年大学毕业,博士,讲师,现主要从事面向对象语言程序设计、人工智能方面的教学与研究工作。
[编辑] 李启栋