浅谈程序设计高中《算法与程序设计》教学对策站

更新时间:2024-02-24 点赞:17750 浏览:74142 作者:用户投稿原创标记本站原创

摘要:作为高中信息技术课程选修模块之一的《算法与程序设计》由于程序设计自身的特点,学生的学习过程比较枯燥和抽象,为取得更好的教学效果,教师应合理运用教学策略,使学生感受到程序设计的乐趣,达到事半功倍的效果。
关键词:教学策略;实践探索;程序设计
1674-9324(2013)05-0084-02 《算法与程序设计》是高中信息技术的选修模块之一,以问题解决和VB程序设计为主线,揭示利用计算机解决问题的过程,对高中的学生来说比较枯燥和抽象,但越来越多的考生选择了VB程序设计语言(简称VB)作为自选模块的考试内容。VB程序设计语言强调面向对象和可视化操作,引入了窗体和控件等概念,方便进行可视化窗口设计,简单易学。该课程是一门实践性很强的工具性课程,学生对纯理论的算法学习缺乏兴趣,而对实践编程操作比较感兴趣。实践操作虽然引人入胜,但理论知识的学习却是必不可少。我们可以通过实践编程来学习和掌握相应的算法知识,寓教于乐。

一、《算法与程序设计》的教学难点

1.学生信息素养参差不齐,难以开展教学。虽然现在很多中小学都开设了信息技术课程,但是由于高中学生来自不同的学校,所接受的信息技术教育参差不齐,掌握的计算机基础知识很不均衡,从而导致他们在高中阶段的学习起点也各不相同。如果教学起点太低,那些基础较好的学生重复学习,不仅浪费时间,而且无法提起他们的兴趣,影响课程教学效果;如果教学起点太高,那么基础较差的学生又无法跟上教学进度,导致学生学习积极性下降,两级分化趋势明显。学生的信息素养不同,对知识点的接受与运用能力也不同,一般城区学校的毕业生的信息素养明显优于乡镇学校毕业的学生。在课堂上进行统一教学,很容易出现“吃不饱”和“吃不了”的现象,不利于激发学生的积极性和能动性。
2.该课程知识点多,课时有限。《算法与程序设计》采用VB程序设计语言为例,所以需要学生理解掌握并熟练应用VB的所有基本知识,包括常量、变量、数据类型、流程图、常用语句等。特别是几种典型算法如枚举算法、解析算法、冒泡排序、选择排序、对分查找等,学生不仅要掌握其思想,还需要进行实践操作,最终达到能自主编写程序。这需要大量的课时来进行理论知识的讲解以及上机演示和练习,而信息技术课一般每周两节,远远不能满足学生全面掌握和自主编程的课时需要。
3.上机操作学习机械化,教师负担重。在程序设计教学中,很多学生都能听懂老师的讲解,但上机实践操作时,往往漏洞百出甚至没有头绪。学生的程序编写能力通常只能停留在照样画葫芦的水平,对教师的例题一知半解,没有真正掌握解决问题的算法思想,一旦稍有改变,就无从下手。上机过程中,教师要不断给学生答疑,并对学生提出的各种BUG给予解决。为了更好的学习,教师会选择典型的错误,统一讲解。但是小的BUG和操作上的指导,需要教师一一耐心教导。为了打破单一的课堂练习模式,在每一节课后还加入自主练习部分。而学生的编程思路不尽相同,出现的问题五花八门,所以编程课程的作业批改所需工作量远远大于其他课程,给任课教师带来了很重的负担。

二、《算法与程序设计》教学策略

1.采用形象化教学,激发学生学习的兴趣。兴趣是最好的老师,学生在接触新知识的时候,会从心理上产生一种新奇感,会迸发出强烈的求知,产生积极的学习动机,然而随着知识难度的加深,学生的学习积极性就可能有所下降,甚至产生抵触情绪。教师可采用形象化教学,来激发学生的学习兴趣。由于学生在初学时。没有程序的概念,如果直接用程序来介绍算法,思维跨度比较大,学生难以理解。用形象化教学,在算法和程序之间选取合适的形象化模型加以联系,既有利于学生对算法的理解,又能使学生的思维从算法过度到程序的基本步骤。
算法中的循环语句是学生较难理解的内容之一,若教师能采用形象化教学,既能激发学生学习兴趣又能方便学生理解和掌握。例如,求60个数的总和。我们可以将“60个人排队取款”作为形象化模型。银行工作人员想要提前知道这60个人的取款数额,以便于准备好资金。那么,工作人员手持一个计数器(初值为0),询问第一个顾客需要提取的金额,写到白纸上;再询问第二个顾客需要提取的金额,与白纸的数值相加,将获得的新数据写到白纸上;一次询问第三、第四个人,每询问一个人,将白纸上的数与客户所需金额相加,把结果写回到白纸上,当询问完60个人后,白纸上所得到数据即为60个人提取金额的综合。当学生理解这个取款模型后,再形象化的讲解程序:
S=0
For i=1 to 100
S=s+d(i)
Next i
S为白纸,i为询问第i个人,d(i)为第i个人需要提取的金额。
2.采用三步教学法,重视示范引导。“三步教学法”是一种从实际到理论、从具体到抽象、从个别到一般的教学法,它降低了学习理论的难度,符合中学生的学习规律。不同学生对知识的接受能力相差很大,教师需要有阶梯性、针对性的提出问题,充分考虑学生的实际情况,如认知规律、信息素养、兴趣爱好等,提出不同难度的问题。程序编程对很多同学来说都是第一次接触,教师首先要帮助学生理顺基础理论知识点,包括程序的基本结构、常量、变量和表达式等概念,输入输出、赋值等语句的格式;然后对问题进行算法分析,创设学习情境,用趣味性强调例题进行教学,让学生从单纯的模仿编程开始,理解算法思想,养成良好的程序书写习惯,增强程序的可读性;最后再鼓励学生一题多编甚至自主创新编程,培养学生的发散思维能力,深入透彻的理解算法精髓,提高编程能力。例如,已知a为3,b为7,要求交换a和b的值。一般上课讲解或学生自主编程,均会引入一个新的变量c,使c=a,a=b,b=c来完成。我们也可以鼓励学生,不借用新的变量,用别的方法来完成,如a=a+b,b=a-b,a=a-b。
3.采用任务驱动,提高学生学习积极性。在算法与程序设计教学过程源于:论文大全www.618jyw.com
中,采用VB程序设计为载体,巧妙的把教学内容隐含在每个任务中,通过完成若干个具体任务来学习基本知识和程序编写,让学生在解决问题的过程中发现新的问题,通过完成一个个的任务来提高自己的能力,逐步接受新的知识点,在理解算法思想的基础上编写程序。教师要按照循序渐进的梯度设计教学任务,如先让学生模仿书上的流程图和程序完成练习,随着知识的积累和深化,让学生独立绘制流程图以及编写一些简单的程序,最后再引导学生编写较为复杂的程序甚至小型游戏。对于不同层次的学生,要布置不同的任务,并及时引导学生在完成任务的过程中进行思考与探索,对于较难的任务,可提倡学生相互合作,用团队的力量去解决问题。将问题分解成若干个任务,降低了解决问题的难度,让学生一步一步的剖析和解决问题,不断的获得新的知识,不断看到自己的学习成果,就能提高学习热情,激起上进心,爆发出强烈的解决问题的愿望。
4.研发自动阅卷系统,减轻教学压力。近年来,自动阅卷系统的研发,极大的减轻了任课老师的教学压力。通过VB语言编译的自动阅卷系统较好地完成了对VB试题、练习题的自动评阅工作,当然自动阅卷系统还有许多地方有待提高和完善。
自动阅卷功能的实现四步骤:(1)根据实际需求,研发测试软件。(2)导入学生的操作,判断操作是否正确。(3)分析学生操作的结果以及相应的文件,判断操作结果是否正确。(4)将程序的源代码与标准答案相比较,得出两者的相似度,该相似度即为学生分数。
自动阅卷系统的技术常用于VB程序设计的日常教学,为学生的自我练习提供纠错和记录的功能,并且记录学生上课、练习、考试的各过程和成绩,以进行综合考评。
相关文章
推荐阅读

 发表评论

共有3000条评论 快来参与吧~