c语言程序设计教学探讨1
买房贷款利率《C语言程序设计》的教学探讨
李振涛1   
(石家庄铁路工程职业技术学院计算机系1石家庄050041
摘要:C语言是一门功能强大、应用广泛的程序设计语言,但由于其数据类型繁多、结构复杂、运用灵活多变,而成为难学难教的语言,传统教学模式很难适应目前思维开阔的学生。本文探讨了通过改变教学方法与考试模式、培养学生学习兴趣、激发学生学习的潜在动力、课上课下两条线、实践教学与多媒体课件相结合、学生自主学习和教师适当协助相结合,来提高教学效果。
关键词:C语言  教学质量  教学模式  教学改革
一、前言生粽子蒸多久才能熟
丰收(打一字)C语言程序设计》以其功能丰富、表达能力强、目标程序效率高、可移植性好等特点,深受计算机程序设计人员的喜爱和依赖。另外,全国计算机等级考试、全国计算机应用技术证
书考试(NIT)和全国各地区组织的大学生计算机统一考试都将C语言列为必考范围。因此目前许多大学理工科院校在低年级开设了《C语言程序设计》,作为学习计算机语言知识或作为其它基础课(如《数据结构》,《面向对象程序设计C++》等课程)的先修课。
C语言作为培养大学生计算机技能至关重要的一门计算机语言,其难度也是相当大的,经常听学生反映该语言难学、难懂、太抽象。对以往学习过C语言的学生进行软件编程测试,结果也表现出学生编程能力、调试能力较差,甚至影响到后续课程的学习问题。如何提高这门课程的教学质量和教学效果,在有限的时间内使C语言学习化难为易,把抽象的东西变成具体的,笔者结合近几年C语言教学的经验,尝试了一些新的教学方法,收到了良好的教学效果。
二、明确教学目标,恰当把握教材内容,合理分配教学课时
教学目标是期望学生在完成学习任务后达到的程度,是预期的教学效果,是组织、设计、实施和评价教学的基本出发点。教学目标可分为长期目标和近期目标。长期目标被称为教育目标,如C语言课程结束后达到什么样的编程能力、为后继课程打下什么样的基础等等,这些无法在具体教学中一次性实现,而是长期努力的方向。近期目标被称为教学目标,
这一目标,主要确定一节课教什么内容,通过哪些活动方式来学习等。教学目标通常用可以观察得到的学生行为变化的语言来表述,即教师开始教学以前必须能回答“经过教学之后学习者将能做哪些他们以前不会做的事?”或者 “教学之后学习者将会有何变化?”等问题。
大学里针对不同专业对C语言教学目标的要求也不同,有的专业把C语言作为普及计算机语言的课程,以考取二级考试证书为目标;有的专业是为后继课程做准备。例如我们开设的可视化编程(三年制专科)专业,把CC++VC++作为专业的核心骨干课,无论在内容上,还是实训力度上都不同于其它专业的要求。所以在制定教学计划时,要认真考虑这些因素,同时兼顾学生学习现状及心理接受能力,最终做到:
根据专业要求,精心挑选教材,大胆取舍教材内容,避免出现教材过易或过难的现象;
依据学生心理学特点,重构教材授课的逻辑顺序,制定教学计划,使教材的组织方式符合学生的心理发展特点和学生认知的客观规律;
根据专业要求和学生的学习发展情况,划分教材重点,合理分配课时。例如:对于普
通高考入学的学生,在数组、指针、函数部分难度较大的章节增加课时;对于对口高考入学的学生,由于在以前大多学过一两门计算机语言课程,在讲授时可以减少课时;对于二级考试来说,数组只需讲到二维,了解多维;但对于可视化编程专业就要全面加深,加宽。
三、因材施教,体现以“人”为本、以“学生”为中心开展教学活动
学生是教学活动的主体,教学活动要以学生为中心展开。目前的大学生生活在网络化、信息化的时代,面临的机遇、挑战、诱惑都很大,较之以前的学生个性更强,思维更活跃、更复杂,并且开设C语言之前很少有学习其它计算机语言的经验。面对这样的学生,如何寻他们学习的兴奋点、教学切入点,激发他们的学习兴趣呢?
1、积极为学生创造学习环境,培养自主学习习惯
C语言教学中,程序设计知识不能简单地由教师直接传授给学生,必须通过学生的自主活动加以构建才能获得。让学生建立起这种自主学习的观念很重要,教师应该定位在给学生提供必要C语言基础知识平台的“主导者”和帮助学生向C语言纵深知识发展的“协助者”,
通过增加课堂内讨论、交流、辩论来促使学生主动思考,课下通过小课题、大作业来组织学生独立提出问题、解决问题。从而使学生从被动接受转化为主动参与, 由“要我学”转变到“我要学”。
2、通过实例教学,激发学生学习兴趣
“有趣味、有吸引力的东西使识记的可能性几乎增加一倍半”, 兴趣是教学的潜力所在,学生学习的兴趣需要教师的积极引导和培养。在教学中,以实例教学,选取贴近解决实际问题的程序实例,使学生能够感受到理论在实际中的应用,从而激发进一步向更高、更远的目标奋进的兴趣,同时在程序实例的讲解中帮助学生牢固掌握C语言的基础语法和语句。例如“八皇后问题”、“马踏连营问题”等,通过老师提出这样的问题,让学生自己去思考如何使八个皇后在同一棋盘上摆放而不至于能互相厮杀?如何使“马”从中国象棋棋盘上的一角开始不重复的走完整个棋盘?这些都足以激发学生的探索兴趣,使他们自己主动地去学习C语言的有关知识,去寻求问题的解答。
3、帮助学生克服畏难情绪,做好入门关
以我校为例,学生来自全国各地,高考入学分数较低(属于专科层次),由于数学基础普遍较差,逻辑思维能力不强,而且入学时几乎完全没有程序设计基础,再加上中学的应试教育使许多同学习惯于那种死记硬背的学习方式,对于程序设计这类要求学生具有很强独立分析问题和解决问题能力的课程极不适应,给C语言程序设计教学带来极大困难。好在学生内心中有主动学习计算机的热情,学生均认识到计算机技术的广阔应用前景,有强烈学好计算机技术课程的愿望,我们暂时叫它初始热情。这股热情表现得很明显,但往往遇到难题不能解决后就下降了,最后放弃了。我们要通过教师教学的引导、兴趣的培养和考试的制约,辅以恰当的鼓励和肯定,来科学地利用这股热情,保持它作为学习的动力,挖大这股动力的源泉,让它源源不断的喷发出来。
四、以算法为基础,培养学生的思维能力
算法是一个问题实现方法的具体化。只有有了合适的算法,我们才能设计出好的程序。对同一问题,可能会有很多种算法,如何辨别算法的优劣,是非常重要的环节,这也反映出学生思维能力的差异。
例如:给出一个大的正整数,请编程判断该数是否为素数。我们在小学就已经学过:除了1和它本身没有其它因数的整数就是素数。根据这一点,对于数n,我们就从2开始到n-1止,依次用n去除,如果都除不尽,则n为素数。显然这个方法是可行的,但要执行n-2次除法运算。稍加修改,当一个数n除到[n/2][x]表示取x的整数部分)时仍然除不尽,则后面的数就不用再除了,n肯定是素数。这样,计算的步骤比刚才少了将近一半。再细想,其实没必要除到[n/2],只要除到[]即可,这样计算的步骤又大大降低。那么是否还有更好的方法呢?显然还有,一个比较大的数(大于2)如果是素数,肯定不会被偶数除尽。这样计算步骤又少了将近一半。通过层层加深讲解,不断开发学生的思维能力,让他们碰到问题时,不拘泥于当前的解答,而是去寻求更好的解答方法,有了这种开放的思维能力,对提高学习兴趣是非常有帮助的。
五、以程序设计为主线,寓软件工程学思想于教学中一公斤有多少克
这些年计算机业发展迅猛,特别在软件方面,界面从单调的DOS过渡到WINDOWS界面。各种软件纷至沓来,给人们心理造成相当大的压力,其实纵观其本质,没有大的变化,还是基本的程序设计。 在教学中推行以程序设计方法为主线,开展小课题研究,最后汇总成
油罐清洗为一个大作业,使复杂枯燥的语法知识分解成一个个生动实用的程序实例,是一种非常好的教学方法。
在授课中采用实践教学法,以实例讲语法,淡化计算机语法本身语句的介绍,重点介绍程序设计方法,在分析程序和程序设计中熟悉语法,把软件工程学的思想贯穿于算法分析和程序设计的过程中,培养学生分析程序和设计程序的能力。例如:通过对古典数学“兔子问题(Fibonacci数列)”、“汉诺(Hanoi)塔问题”的程序设计分析,介绍循环结构的语法形式,“递归”算法的使用特点等,让学生在程序分析中学了语法,也掌握了程序设计和解决问题的思路。
在课下进行有的放矢的小课题研究,以计算机的应用为核心,所学知识围绕某个主题(可以是计算机方面的,也可以是与计算机相关知识的综合)开展研究,这种方法是通过任务来完成课程学习目标的,有利于学生在实践过程中发现问题、解决问题。让学生按能力或自由组合成组,开展一个或两个小型研究课题,通过亲自调研、查阅文献、收集资料、分析研究算法、设计实施来解决问题,将学到的理论知识和现实生活中的实际问题紧密结合,达到学以致用的目的,从而充分调动学生的主动性和创造性。小课题完成后,让学生在课堂上介绍自己的研究进展,互相交流并训练表达能力。
我们这里的小课题看似是离散的,其实都是期末实训大作业的有机组成部分,当学生完成小课题后,经历实训,集体把相关的小课题再有机整合,构成一个比较成熟的软件。
六、重视上机实验课,加强计算机辅助教学和多媒体教学
C语言是一门实践性很强的课程,除了要把理论知识学好外,上机实践也是重要环节,学习中疑点或问题,可通过上机调试得到明确解答,同时也加深对学习内容的理解,对学生而言,上机前要做充分的准备,对要调试的内容进行静态检查,以避免上机时再查资料,浪费时间。对老师而言,精心设计上机实验的题目,合理把握学生学习的节奏,上机题目尽量与专业及所学的知识结合,增加趣味性,提高学生学习的兴趣。另一方面,随机抽调学生上机考试,考试范围就是以前讲过的内容,促使学生专心学习。
在机房的计算机上全部安装CAI气球小熊课件,使教材内容立体化、形象化,对课堂教学内容进行有效的补充,增加学生自主学习的自由度,可以使学生根据自己的学习进度和课堂学习掌握情况自主地补充学习。
多媒体技术的应用,对提高教学的视觉效果起到了非常重要的作用。对以往的教学,教师
只是单纯的在黑板上讲解,不能充分调动学生的形象思维。现在,我们将要讲述的内容制作成多媒体课件,通过大屏幕在教室播放,学生们能很直观地了解所学的内容。例如,对于指针这一部分内容,非常抽象,单纯地靠老师在讲台上讲和在黑板上画图,很难讲清楚,学生也是似懂非懂。将这一部分内容做成小动画,形象地指出指针与地址间的关系,用跳动的箭头来指示它们间的逻辑位置变化,学生们就能在头脑中产生一个清晰的印象,很快就能把握住指针的真正意义,起到了很好的教学效果。
充分利用网络环境,创造一种新的师生交流平台。利用校园网络上的BBS实现互动教学,在网上可以随时交流授课内容和解答疑难问题,还可以通过提交作业和讨论相关问题。网络不受时间和地理位置的限制,学生们在自学过程中,随时随地都可以将碰到的问题在线提出,教师给予必要的指导。还可以将学生分成若干学习小组,在网上发起讨论,进行编程对抗赛等。
七、改革考试方式,使教学与考试全程有机结合
对于目前的学生,提倡了很长时间的素质教育,但考试成绩还是直接影响着学生的奖学金、工作等各方面,学生对其看得比较重,因此,合理利用考试心理,让考试成为促进
学习的一种动力和压力,同时也是检验教师教学成效的一面镜子。
以往考试方式一般是期末进行考试,一锤定音,学生在学C语言时出现了一种两头热、中间冷的现象。开始时是凭借着对计算机的初始热情,想着好好学习计算机;但随着时间的推移,内容的加深,大多学生出现了畏难情绪,有的开始放弃,热情降到了冰点;最后期末迫于考试的压力,又重新开始学习。这种现象导致考试过关,但真正的知识没有掌握,考试过后基本没有什么编程能力。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。