郭华
《算法与程序设计》作为高中信息技术选修课,长期以来一直是高中信息技术教学的重点和难点。程序设计与数学学科存在千丝万缕的联系,但它又不单是有数学知识就能掌握的,如何在教学中因材施教、激发学生兴趣、 指导学生学习是程序设计教学的首要问题。
一、程序设计教学中存在的 普遍问题
1、内容多,时间紧,教学目标不能很好地完成。《算法与程序设计》 模块中基本上涵盖了程序设计中用到的所有知识,有大量的数据、语句以及 其它的过程和函数,这些理论知识学生都必须掌握并能在python中熟练应用, 这就需要老师详细地讲解,学生在课堂上做大量的练习。书本上还包括几种 典型的算法、程序设计思想和项目实践,虽然这部分只要求学生初步掌握, 但是教师要一步一步讲透彻,否则学生难以理解。一个完整的算法讲解、编 写最少需一两节课的时间,而要让多数学生真正能自主编写,甚至需要投入 更多时间。但是一般信息技术课程每周才一节课,再除掉其他假期,真正 可以上课的时间不多,要学生全面理解算法并会编程真是很难。
2、学生基础参差不齐,存在“吃不饱”和“吃不了”的现象。《算法 与程序设计》模块教学方式与学生基础密切相关。由于各学校的经济条件、 师资力量等因素,高一新生计算机基础相差较大,这给组织教学带来了很大 的困难。如果教学起点过低,必然会使程度较好的学生受到影响;若起点太 高,教学就只能为少数优秀学生服务,这会挫伤大多数学生的学习积极性, 导致差生越来越差,降低整体教学质量。长期以来,教师在布置上机实验时 总是全班统一要求,忽视了学生之间存在的个别差异。统一的实验内容、实 验形式及实验难度不能适应每个学生的实际情况,让有差异的学生做无差异的实验内容,势必会造成“吃不饱”和“吃不了”的现象。这样的“统 一”,遏制了学生学习能力的发展。
3、学生对传统的课堂讲练教学有厌倦感。高中信息技术课基本上都是 在多媒体网络教室进行,所以学生潜意识中就认为信息技术课上课方式应该 与其他科目不同。但事实上程序设计这门课基本上都是采用传统的教师先讲 后演示、学生先听后编程的方式,学生在听或者看的过程中往往注意力不集 中,到实践编程时又无从下手。而由于高考的压力,在课外基本上是不看课 本的,再加之学校普遍存在信息技术课时不足的问题,等到下节课再来上课 的时候学生更是忘得一塌糊涂,形成恶性循环,最终导致学生对信息技术课 产生抵触心理。
二、教学方法实践探索
1、合理安排课程,寻找学科间整合。 算法初步是高中新课程数学科目中的一项新增内容,在高一第二学期学 习。《算法与程序设计》模块与数学课程算法初步部分内容相衔接,因此将 选修模块安排在高中一年级第二学期或以后开设。信息技术教师可以从同学 们在数学课上已经熟悉的知识点入手,进行算法的讲解,让同学们对已有知 识有更深一步的了解,达到事半功倍的效果;甚至可以和数学教师沟通,合 理安排教学进度,做好数学与信息技术的整合。
2、采用分层策略设计教学 任务。分层教学承认学生的差异,符合教学中的可接受原则和因材施教的原 则。分级教学面向全体学生,使教学适合每个学生的发展需要和实际水平, 这也符合学生的心理要求,能激发他们学习的自信和兴趣,提高他们的学习 主动性和积极性。为了使学生乐于编程并学有所得,教师在设置教学任务 时,应改变以往硬性规定、呆板单一的做法,可将任务分为必做任务和自主
任务两个层次。必做任务一般为基础问题,主要用于基础知识和基本技能的 训练,一般每个同学都基本能够完成,所以要求每个同学必须完成。自主任 务则是课堂相关知识的拓展延伸或创新,每个同学可视自己的学习基础量力 而为,自主选择是否完成或者完成多少。
3、打破课本原有的知识结构体系。《算法与程序设计》教材的安排基 本是按照“先理论后实践,先语句再程序”的顺序,这就容易导致教师在上 课时先讲基础理论部分,像算法的概念、流程图的画法,再讲具体的算法程 序。由于大多数学生以前没有接触算法,使得他们学习很茫然,不知道学这 些理论有什么用,从而丧失学习兴趣。我们可以改变这种体系,从程序设计 学习一开始就让学生接触功能简单、结构清晰的程序,以建立对程序和语句 的整体概念,体会各种语句的格式功能,了解语言的有关规定,理解计算机 解决问题的一般过程。
4、增强课堂教学艺术,提升学生兴趣,以竞赛、活动带动信息技术课 程的学习。算法教学最好通过实验,在解决具体问题的过程中学习一些基本 的逻辑结构,并且尽可能地上机尝试。选取教学案例时要尽可能做到:①贴 近生活,或者数学课本上的一些典型例题;②要有趣味性,如一个故事、一 段相声、一则奇闻等等;③问题本身要简单,但要包含要学习的算法思想。
5、创建开放式的网络教学模式,培养学生的自主探究能力。高效学习 必须是主动的学习。如何能让学生主动地学习编程呢?我们要把学习的主动 权交给学生,以一种开放的方式诱发学生的学习欲望,提高学生的自主学习 兴趣,辅助课堂教学构建高质量、有价值的多媒体网络教学资源,培养学生 在网络环境下进行高效率的互助学习。
《算法与程序设计》模块在教学实践中,我努力做到转变教育观念,重视学生的发展性和主体性,采用正确的方法和策 略,从根本上提高学生学习的积极性和主动性。在课堂教学的转变中,学生的学习兴趣和学习责任感日益增强,即使基础不好的学生也对程序设计有 独特的兴趣。算法和程序设计教学会加深学生对计算机科学的认识,使他们从游戏、聊天、打字、表格处理等对计算机工具作用的认识上升到计算机科学的高度上来,对学生的编程教育起到启蒙作用。通过教学实例探讨在课程中扩展学生知识面、培养学生计算思维能力,依据高中生个人特点与算法和程序设计的教学情况,让学生在学习课程的过程中进一步提升核心素养,进一步提升计算思维能力。