提升认识,优化高中信息技术“算法与程序实现”教学
徐强
作为高中信息技术课程最具学科意义、最受关注的核心素养,“计算思维”通过算法与程序部分内容得到了明显的落实。同时,对于新教材中关于“算法与程序实现”部分的内容,由于更换了编程语言,一线教师普遍存在畏难情绪。为了尽可能理解相关课程内容,从而优化教学过程,提升教学效率,培养学生的学科核心素养,落实、达成课程标准要求,笔者尝试以算法与程序实现部分内容为例来阐述对新教材的认识及优化教学的策略。
● 从课程开发角度认识新教材
从课程研究历史来看,课程开发大致经历了科学化课程开发、学科结构运动与学术中心课程、实践性课程开发等不同阶段,研究内涵包括了课程基本理论、课程内容选择、课程内容组织方法等诸多方面。尤其是对于课程的价值取向来说,研究已由专注于技术理性的课程对学习者的“控制”发展到实践理性的课程关注教师、学生、教材、环境四个要素的综合协调。
根据对课程开发模式的界定,目前主流的课程开发模式为目标模式和过程模式。二者相比较,前者基本将学习者以及实施者排除在外,课程是一种上层、权威意志的体现,更强调自身内容的结构化、学术的逻辑性,其特征是“静态”的;后者则强调知识中的不确定性,鼓励个体化的、富于创造性的学习,将课程开发建立在实际的教育情境基础上,其课程在一定程度上体现了“动态”的特征。
具体到普通高中信息技术“算法与程序实现”的课程内容,以具体某一章节(单元)为对象,根据海南省目前使用的教材情况,将2004年由全国中小学教材审定委员会审定的教育科学出版社《算法与程序设计》教材(以下简称“旧教科版”)与2019年由国家教材委员会专家委员会审核的教育科学出版社《数据与计算》教材(以下简称“新教科版”)、人民教育出版社、中国地图出版社《数据与计算》教材(以下简称“人教-中图版”)做一个简单的对比,可以看到课程开发理念的变化(如下页表1)。
从表1可以看出,新旧教材在编排结构上存在明显的区别。这些区别主要体现在以下几个方面:
第一,新版教材内容编排结构更加细致,层次丰富。旧教科版只提供了“学习目标”“学习内容正文”“实践”三个板块;新教科版则提供了七个板块,人教-中图版更是提供了十个板块。更加细致的教材结构设计,有利于教师在实施教学的时候更好地理解教材编写者的意图。
第二,新版教材重视教学活动设计,通过学习任务、项目等框架的搭建,提供了较为完整的教学活动设计思路。新课程标准提出的教学建议明确将项目式学习作为信息技术学科教学的主要方式。
第三,新版教材更加注重学生的学习经验在课程开发和实施中的作用。与之前基于学科学术中心的理念开发的教材相比,新版教材寻找、设计了大量的学习任务实例。
第四,新教材将学生的学习视为课程自身的内在部分。基于过程模式的课程开发思路,课程本身并非一个完全预设的静态的文本,而是一定程度上在实施过程中持续不断与教师、学生、环境进行互动、交换信息,是动态的、可自我完善的。新版教材中有大量的关于学习任务分析、学习活动设计、信息收集与整理、学习活动评价、学习效果评价等环节,需要学生基于各自学习实际情况进行设计、补充。
这样的设计,凸显了学习者在课程开发与实施中的主体地位,呼应了课程研究的大趋势。
● 从学习理论角度认识新教材
除了从算法与程序教学传统、课程开发等角度分析新教材的内容选择、编排思路之外,我们还可以尝试从学习理论的角度来认识新课程标准背景下的新教材内容体例。
(1)早期的行为主义学习理论强调操作性条件反射模型的作用,将学习完全等同于刺激——反应的结果,很少考虑学习者的内在心理反应过程。体现在高中阶段的算法与编程教学中,就是通过频繁的、高强度的代码编写、调试训练,让学生对相关内容由陌生变得熟练。
(2)在认知主义学习理论中,以布鲁纳为例,他强调发现学习的模式,指出教师不是将现成的结论性知识讲授给学生,而是由学生自主地探究现象获得知识,注重学习过程而不是学习结果等。在教学实践中,很多教师都熟悉这样的教学模式,算法与程序教学也开始注重问题解决,注重由学生根据特定问题来分析背后的学科实质性内容,能够通过问题设计来激发学生的学习好奇心等。
(3)建构主义学习理论强调应该让学生在与现实情境相类似的情境中进行学习,学生都是以自己的经验和知识背景来理解具体事物,而且只能理解其中的某些方面,不存在唯一的正确的理解。随着2004年高中新课程的实施,广大教师已经非常注重在算法与程序教学中设计教学情境,同时也非常注重用现场实地的演示活动(包括真人表演、计算机模拟)来解释、演示算法的原理等。
(4)新近发展起来的人本主义学习理论倡导教学要更注重情感发展,强调学生的自由创造,建立良好的师生关系、同学关系,强调自我发展观念,强调交往。从这些基本原则出发,基于人本主义学习理论的教学实践主要提倡以问题为中心的课堂讨论模式和学生自由学习模式。在教学实践中,项目式学习体现出人本主义学习理论的特点及其所强调的观点。一方面,学生可以在其中充分发挥自主性,与教师、同学进行高质量的互动等;另一方面,可以让学生体验学科知识学习之外的人际交往、项目过程管理等。
● 从实践层面优化教学提升效率
基于以上关于新教材的认识与分析,笔者认为,可以从以下几个方面来优化实践,提升“算法与程序实现”的教学效率。
1.正确认识程序语言的更换
从教育背景方面而言,绝大多数高中信息技术教师都能掌握VisualBasic或C++等传统编程语言,也包括最近几年随着创客教育而兴起的其他图形化编程语言。但是基于《普通高中信息技术课程标准(2017年版)》(以下简称“新课程”)而开发的几套高中新教材都不約而同地选择Python作为算法实现的工具语言,给教师们带来了一些专业技能的障碍,进而影响了他们对新教材的接受程度。这需要一线教师通过学习,提升对新语言的认知程度。例如,从学生学习的角度出发,Python具有很多传统编程语言没有的优势,其简洁性、语法结构的多样性和灵活性,会降低学生的学习难度。以实现简单地输出100个星号(“*”)为例,从表2的简单对比可以看出两者的区别。
从这个对比可以看出,两者都除去变量定义语句,VB需要三行代码,而Python只需要一行。相较于VB,Python在简洁性、易用性、符合人类习惯性等方面具有明显优势。
2.加强学习新的编程语言
信息技术教师接触新生事物的机会远远多于其他学科教师,这也是信息技术学科教师的一大优势。各级教研、培训部门应适时组织不同层级的专题培训,将Python语言的编程技能纳入其中,消除教师对语言的认识障碍。广大教师也应该积极主动地开展互学、自学,充分利用慕课、专业书籍等资源,尽可能快速提升自身的专业知识体系。
3.正确认识和实施项目式学习
作为一门新兴的学科,信息技术学科由于受缺乏考试评价等因素的影响,其学科内对最新的学习理论、实践模式的学习和探索,一直都走在各个学科的前面。在新课程标准背景下,正确认识和实施项目式教学成为算法与程序实现内容教学的重要环节。笔者认为应强化对项目式学习的理论认知,弄懂弄通其关键因素,要组织项目式学习的实验研究,寻找落地的实施途径。
总而言之,由新课程带来的学习方式的变革、新教材带来的编程语言的更换,虽然在短时期内给一线教师带了专业知识和教学实践的困难,但其背后代表着最新的信息技术学科发展成果和学习理论的研究成果,能够为学生的终身发展提供更好的保障。信息技术教育工作者要迎难而上,通过加强自身学习等多种方式,实施好新课程中的“算法与程序实现”的教学。