如何在计算机教学中培养学生的编程能力

如何在计算机教学中培养学生的编程能力
如何在计算机教学中培养学生的编程能力

辽宁教育行政学院学报

Journal of Liaoning Educational Administration Institute

第25卷第12期2008年12月Vol.25No.12Dec 2008

如何在计算机教学中培养学生的编程能力

晖1,张世彤2

(1.沈阳师范大学软件学院,辽宁沈阳110034;2.沈阳师范大学教育技术学院,辽宁沈阳110034)

[收稿日期]2008-10-25

[作者简介]李晖(1971-),女,辽宁兴城人,沈阳师范大学软件学院讲师,硕士;张世彤(1971-),男,辽宁朝阳人,沈阳师范大学教育技术学院讲师,硕士。

[摘要]编程能力是程序设计类课程的培养目标。以往我们的学生虽然学习了很多程序设计课程,却在毕业时普遍存在编

程能力弱的现象。这就迫切要求我们在培养学生的教学过程中改变思路,对教学方法、教学手段进行变革,提高学生编程能力,扭转毕业生就业困难的局面。

[关键词]

程序设计;编程能力;教学改革;教学方法

[中图分类号]

G712

[文献标识码]

A

[文章编号]

1672-6002(2008)12-0078-02

许多IT 业人力资源主管认为,排在头三位的专业技能分别是:编程能力、操作系统知识和数据库知识;而IT 项目主管认为,排在头三位的专业技能则分别是:编程能力、数据结构知识和算法知识。此外依次需要具备数据库知识、

软件工程知识和操作系统知识。在两种专业技能需求排名中,编程能力都排在首位。

编程能力是程序设计类课程的培养目标。以往我们的学生虽然学习了很多程序设计课程,却在毕业时普遍存在编程能力弱的现象。这就迫切要求我们在培养学生的教学过程中改变思路,对教学方法、教学手段进行变革,提高学生编程能力,扭转毕业生就业困难的局面。

一、合理安排课程体系

课程体系要紧扣专业培养目标及知识、技能。合理地安排程序设计类课程的课程体系,是培养学生编程能力的关键所在。就我们学院而言,新生第一学期开设了C 语言课程,而很多学生从来没有接触过计算机,没有任何专业基础,而36学时的理论课时和24学时的上机实践课时,使得学生的学习非常吃力。课时太少,老师上课忙着讲授基础知识,没有时间讲授程序实例,学习经典程序是编程能力培养的第一步,我们却错失了第一个环节。在第一门语言课上,

学生们多数感受到的是编程的可怕,从而望而生畏,对以后的语言课学习产生厌学心理。如果能在C 语言课程前安排一门程序设计引论这样的课程,或者增加课时,就会循序渐进地使学生体会到编程的乐趣,增强学习的信心。同时,在程序设计语言和数据结构这两门课之间,应增加基础算法教学。算法是计算机科学的基础和灵魂,只有理解计算机是怎么解决问题的,哪些问题适合用计算机处理,采用什么样的结构来表示数据,才能真的编好程序。

二、在教学中把握五个基本教学环节1.引导学生理解程序的运行原理和过程

在教学中,教师要让学生充分理解计算机程序在内存中的运行原理和过程。在程序运行过程中的任何时刻学生都应该清楚语句运行到哪里,以及当前存储数据的内存区中的内

容是什么。只有清楚这些,才能在程序调试过程中及时地找到出错位置,并修改错误,最终让程序按照设计者的意图执行。

2.掌握基本语法知识

在教学中要让学生了解:该设计语言使用哪些语句定义变量,哪些语句修改变量,变量有哪些基本类型、每种类型的变量占多大的存储空间、不同类型的变量可以进行哪些运算、哪些语句用来控制语句序列的分支和循环、如何用简单变量组合出复杂变量(例如,数组或结构体)、如何控制复杂的计算过程(例如,通过函数实现分而治之)、有哪些库函数是可用的等。

3.指导学生积累常用算法

在教学中讲授一些常用的、基本的计算过程,使学生在解决复杂问题之前,有一些基本方法可用。例如,如何通过分支和循环语句模拟一个手工计算的过程进行不用数值转换时,可以选定一个共同的基数进行转换;字符串处理的问题应该多使用库函数;处理日期问题时可以用一个数组来存储每个月的天数,这样可以很方便地处理不规则的数据。

4.培养学生的建模能力

围绕一些具体的问题实例,让学生学会通过分析问题抽象出数学模型,从而设计计算过程和中间数据的存储方式,最终实现代码并调试成功。学生只有通过这样一个完整的程序设计过程的训练,才能充分理解写程序要干什么,并且学会判断什么样的问题适合用计算机解决。

5.改变考核方式

学生学习效果的检验方式直接决定了最终的教学效果。如果想让学生真正学会独立动手并写出正确的程序,就必须采用上机考查的方式,要求学生针对实际问题写出最终可以正确运行并能解决问题的程序。

三、全面推行“问题式”教学法

现代教育思想强调以培养学生发现、分析、解决问题的能力为主要目的。首先是发现问题。这是认识和解决问题的起点,所以“问题式”教学法是许多现代教育家所提倡、推崇的教学方法。“问题式”教学法的正确使用对于提高学生的素质,强

78··

化学生学习的兴趣,调动学生的主观能动性,培养学生的创新能力有积极作用。在教学过程中,我们要自始至终都围绕问题而展开教学活动,激发学生自觉思考、主动探索,引导学生不断发现问题、提出问题、分析问题并最终解决问题的创造性思维。

按照“问题式”教学法的思想,我们在教学过程中要精心组织多种方式、多种目的、多种层次的问题,反对将课堂教学视为一个封闭的体系。例如,教师可以自问自答,作为问题或一段内容的引入,避免交代式的讲解;还可以提出问题并要求学生作出判断并回答,以吸引学生的注意力。

四、加强实践环节,提高学生动手能力

计算机学科是一门实验性很强的学科,只“听”和“读”是不够的,在努力提高课堂教学的同时,必须加强对实践的教学和管理。

1.精选习题,强化基础

习题的作用在于帮助学生深入理解教材内容,巩固基本概念,它也是检查对授课内容理解和掌握程度的重要手段,是掌握实际技能的基本训练。根据各章节的具体内容,精选习题,促使学生加深对各章节主要概念、方法、结构等的理解。为了充分发挥习题的作用,教师应及时指出作业中存在的问题,对普遍性问题集中讲解,对个别性问题单独辅导,对学生写的优秀作业加以表扬。由于专业课程的理论与技术往往表现出较强的综合性、前沿性、探索性,我们就要鼓励学生撰写自己的小论文或总结报告,让他们时刻跟踪本课程的最新动态。利用在线评测系统布置和检查作业,便于在线考试、便于学生自主学习和教师共享题库。这不仅增强了学生和教师的沟通,而且提高了他们的学习兴趣,强化了课程基础。

2.强化基础实验指导,提高实践技能

上机实践不仅能进一步提高学生灵活运用课程知识的能力,而且使学生在编程、上机操作、程序调试与正确性验证等基本技能方面受到严格训练。为此,我们要加强对实践环节的过程管理。主要从以下两个方面加以强化。

一方面是规范实践内容。专门设计一套完整的实验大纲,为学生的实践提供指导。同时,对实验报告进行规范。这种规范对于学生基本程序设计素质和良好的程序设计习惯的培养,以及科学严谨的工作作风的训练能起到很好的促进作用。另一方面是采取“实践——

—查漏——

—再实践”的方式进行上机实践。在平常实验过程中,根据教学对象的不同,相关课程精心设计几组不同类型的有一定综合性的问题作为实习题。不仅抓实验过程中的辅导,同时还抓实验前的准备工作和实验后的总结工作。要求学生每次实验前熟知本次实验的目的,认真编写程序,保证在实验时能做到心中有数、有的放矢,杜绝学生在上机时临时编写程序。实验过程中要求学生仔细调试程序,一周后给出一个示范程序(示范程序基本上采用面向对象的方法和思想来设计)。要求学生对照示范程序发现自己程序设计中的漏洞或不足之处,改进或完善示范程序,然后再修改、调试自己的程序。最后要求学生写出完整的实习报告,实习报告批改后,对学生的上机实习情况做及时总结,指出成功之处和不足之处。通过这种“实践——

—查漏——

—再实践”的方法训练,对实习问题的深入分析、剖析,避免上机的简单重复,有效地提高了学生的编程能力,以及分析问题和解决问题的能力。

3.强化课程设计,提升学生综合解题能力

课程设计不同于一般的基础实验,它着眼于全课程,是对学生的一种全面的综合训练。课程设计的目的在于使学生通过课程设计掌握全课程的主要内容,并提高学生综合应用知识和软件开发的能力,同时也加强了学生的文档写作能力,为今后的毕业设计和毕业论文写作打下良好的基础。规范课程设计报告,按照软件工程的要求,从需求分析、总体设计、详细设计、调试分析、用户使用说明、测试结果等几个方面组织文档,要求学生尽量采用软件工程的思想,如模块化、信息隐蔽、局部化和模块独立等来实现程序。选择一些简化的实际问题作为课程设计的题目,将学生分组(每组4~5人),给学生两周的时间完成课程设计任务。要求同组学生在问题分析阶段和模块设计阶段分工合作、集体讨论,但最后的编码独立编写。最后每个学生都要进行面试,提交课程设计报告。学生必须能够清楚地介绍设计思路、主要技术手段并回答与题目相关的问题,并且通过程序测试才能算完成了课程设计。

五、采用多媒体教学,强化教学效果

“兴趣是最好的老师”,如何提高学生的学习兴趣,对于教学效果的保障具有重要的意义。在教学手段上,完全采用一支粉笔加一块黑板的传统教学模式,不利于学习兴趣的培养,难以收到良好的教学效果。我们通过合理使用直观性教学原则,采用现代教学手段,编制多媒体教学课件和演示程序,化抽象为直观,使原本比较枯燥抽象的教学内容,变得生动活泼,消除了学生的畏难情绪。比如在某种语言的第一节课中,用该语言设计开发一段演示程序,激发学生的学习兴趣,树立学习目标,收到良好的学习效果。

六、构建“双主”教学模式,培养学生的创新能力和认知能力

网络的平台作用、教学资源、教师、学生都是关系到互动式网络教学的因素。教师在基本保留传统课堂教学环境的前提下,创设多元化的软硬件教学环境,使学生能够利用以计算机技术为核心的现代教育技术,通过人机交互方式主动地发现、探索和思考问题,从而培养学生的创造能力和认知能力,即“双主”教学模式。充分调动学生的学习兴趣,引导学生开展讨论、研究、探索、解决问题,采用任务驱动,围绕问题、项目开展实践活动的方式来进行教学。

学生获取知识不仅仅靠教师的直接讲授,还可以利用必要的学习资源,通过计算机网络、与他人交流合作等一系列方式来实现。“双主”教学模式的应用推广,有利于学习者认知潜力的开发,有利于培养学生的创新精神和认知能力。

以问题式教学为核心,加强实践环节,提高学生动手能力,构建“双主”教学模式;以在线评测系统作为辅助,用全新的理念来指导应用型IT人才的培养,同时进一步优化人才培养方案,进一步完善程序设计类课程体系建设,把握教学中五个基本环节,以培养学生的编程能力,培养满足市场需求的可用型IT人才,从而改变毕业生就业困难的局面。

(责任编辑:王晓东)

79

··

相关主题
相关文档
最新文档