中学信息技术算法与程序设计的教学思考
2019-09-12匡金山
匡金山
【摘要】很多人认为,中学信息技术课程只是学业水平考试中的一个环节,其实这门课程的存在并不局限在信息技术教学中,而是贯穿于整个学习生活中,它真正解决问题的思想存在于现实生活应用中。中学信息技术已经开始向多元化发展,学生在学习时不但要掌握基本知识,更要根据实际需要来进行信息交流,使学生在达到基本文化素养的前提下,通过选修不同的模块,使他们能够对信息技术的某一个领域有更深一层的理解与掌握。
【关键词】中学信息技术 信息素养 算法 程序设计 教学思考
一、算法与程序设计课存在的意义
算法和程序设计模块的学习过程为:计算机解决问题的基本过程,程序语言初步,算法与问题解决例举。因此,首先要解决什么是算法,为什么要学习算法的问题,以及算法在程序设计中的作用。
算法一直是信息技术教学研究的重要内容。在实际教学中,我们引入了很多数学教学内容,如水仙花数的问题、裴波那契数列问题等这些经典的数学问题。引入这些问题,一方面开阔了学生的视野,另一方面还使学生体会到信息技术课程不是纯粹地在微机室内点点鼠标键盘,还与其他课程有着密切的联系,可以在数学的基础上更多地了解有关应用数学的知识,培养学生应用数学解决问题的能力,从而使学生完成从实际问题到数学问题的转化的过程。
由于解决不同问题需要不同的算法,因此从这个意义上来说算法才是计算机程序的灵魂。只要有了解决某个实际问题的可行的算法,就能按一定的方法设计出解决这个问题的计算机程序。因此,其本质上就是以算法和程序设计、问题解决为主线,从实际需求出发,分析问题,发现问题的本质,构建相应的算法,并通过程序设计语言实现问题的解决,这实际是为了让学生掌握程序设计的算法思想,培养学生解决现实问题的能力。
二、算法与程序设计在教学中的难点
《算法与程序设计》强调的是通過算法与程序设计解决实际问题的方法。对于学生来说,程序设计的思维方式、方法和概念都是全新的,接受起来比较困难,因此这一模块的教学存在很大的难度,同时这也是中学信息技术教学的重难点。
1.内容多,时间紧,教学目标不能很好完成
本模块涉及到了程序设计中常用到语句、函数、格式语句以及其它的过程,学生必须掌握这些知识,并能在VB中熟练应用。但是如果在学生还没有学习VB的情况下要完成这些任务,就需要老师进行详细的讲解和指导,学生需要做练习进行掌握和巩固。同时,学生还要理解课本中的典型的算法、设计思想等内容,这都需要相当长的一段时间。而这对于每周一课时的教学而言,大家可以想象其难度有多大,所以说让学生全面理解算法并学会编程确实很难。
2.学生基础不同,存在“学不了”和“没意思”的现象
本模块教学方式与学生基础密切相关,学生个体差异对教学活动的组织带来了很大的困难。教学起点设置不合理,会挫伤大多数学生的学习积极性,降低整体教学质量。统一的教学内容和组织形式不能适应每个学生的实际情况,也会影响学生学习能力的发展。
3.传统的课堂教学模式无法吸引学生兴趣
信息技术课程基本上是在微机教室进行的,所以学生认为信息技术课就应该是上机做实验。但事实上,程序设计课程基本上采用传统的教师先讲后演示、学生先听后编程的方式,学生在听或者看的过程中注意力不集中,到实践编程环节时又无从下手。同时由于学科特点,学生在课外基本上是不看课本的,导致学生在下一节课堂对已学的内容没有任何印象。这样就形成一个恶性循环,最基本的基础内容掌握不了,更不要说进行程序设计。
三、教学组织方法的探索
1.丰富课堂教学形式,提升学生兴趣
算法教学最好的方法是通过实验教学,在解决具体问题的过程中学习一些基本的逻辑结构,并且尽可能上机尝试。选取教学案例时,尽可能做到密切联系生活,通过列举生活上的实例,更加易于学生理解和掌握,从而调动学生浓厚的学习兴趣,提高教学效果。巧设情境,布置任务。在教学过程中设置一个情景,让学生融入进去,有利于激发学习主动性。比如在学习随机函数时,我们创设了号码抽奖的情景,利用随机函数生成获奖号码,让他们思考如何编写程序,激发学生学习的兴趣。
2.采用分层分组的方法设计教学任务
在认识到学生的差异基础上,对学生进行分层分组的教学活动,可以使教学适合每个学生的发展需要和实际水平,激发他们学习的自信和兴趣,提高他们的学习主动性和积极性。为了使学生乐于编程并学有所得,教师在设置教学任务时分为必做任务和自选任务两个层次。必做任务针对基础知识和基本技能的训练,这个对于学生来说难度不大,要求每个同学必须完成。自选任务则是相关知识的拓展,可自由选择。同时对于不同层次的学生进行分组,由组内层次较高的同学对层次较低的同学进行学习指导,一方面可以培养学生自信心,另一方面巩固了学习内容的掌握。
3.课堂教学任务要设计合理
深入浅出,消除学生们对程序设计的畏难心理。在教学时,低起点,从一个个简单实例出发,让学生们从自身的实践中感受到这个的确很简单,从而迎合了学生渴望成功的心理特点。
4.改变课本中原有知识结构,立足具体实例,渗透基本概念
教材的安排基本是按照“先理论后实践,先语句再程序”的顺序,这就容易导致教师在上课时,先讲基础理论部分,再讲具体的算法程序。但是由于大多数学生以前没有接触过算法,使得他们学习很茫然,不知道学习这些理论有什么用,从而丧失学习兴趣。为了解决这一问题,我们可以改变这种体系,在开始学习程序设计时,就应让学生接触功能简单、结构清晰的程序,在每个例子中适时、适量渗透一些相关的概念和知识,让学生在做中学,在学中做,使学生在完成任务的过程中可以逐渐体会控件、对象、事件的概念。
5.切实落实以学生为中心,学生为主体,教师为主导的新课改思想
在程序设计内容教学活动中,传统课程教学基本还是以教师为主的教学模式,教师与学生缺乏互动,课堂气氛沉闷。在课堂教学中,鼓励学生质疑是激发学生的主体性、培养学生思维能力和创造能力的起点。学生的主体性主要体现在学习过程中能掌握学习主动权,能够主动、自觉、积极地学习。因此,在教学过程中特别要注意设置恰当的问题,通过启发引导,促进学生主动思考、主动探索,让学生成为学习的主体。
四、算法与程序设计和数学课中“算法”的区别与联系
高中数学课中也包含有“算法”教学,两者即有相同,更有区别。相同的是两者的大目标都是培养学生运用计算机进行思维的素养。不同的是数学课中的算法内容局限在通过解决数学上的问题,体会数学中所蕴涵的算法思维,强调的是一种解决结构化问题的一种思维培养。而信息技术课程中的算法与程序设计实际上是利用数学课程中所学和算法知识基础,要求学生进一步领会算法在计算机解决现实问题的重要作用,以及如何有机地将局部算法组合成系统。所以,算法教学是程序语言教学的基础,程序语言教学是算法教学必要的延续,两者相辅相成。算法的教学重点在于体现算法的思想,培养学生的逻辑思维能力,培养学生思维的条理性。
五、反思
《算法与程序设计》模块是培养中学生应用计算机设计程序解决问题的能力,是一本有着创新设计的教材,符合学生的认知过程。我们要更好地利用教材,激发学生的学习兴趣,使学生在用计算机解决问题的过程中感悟算法设计的奇妙,促进学生结构化思维方式的形成,实现学生信息素养的提高。
参考文献:
[1]李艺.算法与程序设计.教育科学出版社,2009.
[2]严蔚敏,吴伟民.数据结构.清华大学出版社,2007,(03).
[3]杨克昌.计算机常用算法与程序设计教程.人民邮电出版社,2008.