中小学编程教育中的“为什么”
张建东
● “为什么”要在中小学普及编程教育
1.对个人发展的意义
编程教育教会你如何思考,这种思考不是一般意义上的思考,而是指一种思维,这种思维被称为计算思维。计算思维的核心是如何分解问题,从中发现规律,建立解决问题的模型,并映射到合适的数据结构和算法上,然后根据算法写程序实现。因此,在中小学开展编程教育的最终目的并不是把学生都培养成程序员,而是通过普及编程教育让学生形成计算思维,使他们在以后的学习、工作和生活中能用这种思维去发现问题、提出问题、分析问题、解决问题。
2.对国家发展的意义
编程教育是国家和时代的要求。目前,我国在IT领域落后于西方国家,要实现“弯道超车”,人工智能提供了重要的机会,而人工智能与编程教育密不可分,要搞好人工智能,就要先搞好编程教育。“少年强则中国强”,孩子领先一步,国家才能领先一步,只有尽早开展编程教育,未来才能有更多的科技人才、创新人才出现,有了科技人才、创新人才,国家才能更快地发展强大。
● 中小学编程教育“为什么”以培养计算思维为学科核心
以泰山版信息技术教材为例,中小学编程教育课程可以分为基础课程和提高课程两大部分,基础课程主要是“数据计算与程序设计”,这一部分的主要目的是应用软件、程序进行数据的高效采集,自动化计算分析与结论输出,培养学生的计算思维。提高课程主要是“算法与程序设计”,这一部分的主要目的是以枚举、迭代、排序、递归、分治等高级算法的思想、过程、应用方法为主体,兼顾基于先进的计算机语言编写程序实现算法,培养学生的计算思维。提高课程中还有《图形化编程与创新设计》,这一部分的主要目的是以手机编程、开源硬件设计等方式开展图形化编程的创新课程,兼顾人工智能等先进创新技术的学习。
在中小学阶段的3~9年级主要以图形化编程语言和代码编程语言为载体启蒙学生的计算思维,发展学生的计算思维并最终提高学生的计算思维。笔者认为,在小学阶段需要普及的是“思想”,要让所有的学生通过学习图形化编程接受计算思维的启蒙教育,并引导学生将计算思维拓展应用到其他学科;在初中阶段要让所有的学生通过学习代码编程接受计算思维的发展教育,引导学生将计算思维发展到一个新的高度,并在初中毕业前形成真正的计算思维,为高中阶段计算思维的提高教育奠定基础。
● 中小学编程教育“为什么”需要多重发力
计算思维培养是编程教育的重点也是难点,是出发点也是最终落脚点,为达到这一目标,在实际的教育教学中要多重发力才能更顺利、更高效。
1.转变思想更新观念,增强课程理解能力
(1)以面向全体学生开展普及教育为主,以英才教育为辅。要让所有的中小学生都接受编程教育,使其在学习编程的过程中形成计算思维,培养他们利用计算思维分析问题、解决问题的能力。
(2)以计算思维培养为主,以技能训练为辅。在实际教学中,要从解决实际问题入手定位学习需求,让学生通过思考、尝试、探究,逐步形成计算思维。编程语言只是实现计算思维的一种辅助工具,多学习一门编程语言并不是编程教育的根本目的,学生能利用自己熟悉的编程语言去解决问题才是期望的教育结果。
(3)要循序渐进,注重延续性。目前推行的编程教育是贯通小初高三个学段的,是一个循序渐进的过程。在小学阶段,通过图形化编程语言启蒙学生的计算思维;在初中阶段,通过代码编程语言来发展学生的计算思维;在高中阶段,通过代码编程语言来提高学生的计算思维。
2.提高自身编程水平,增强计算语言驾驭能力
面对新改版的教材,虽然很多教师之前并没有接触过其中新添加的图形化编程语言和代码编程语言,但作为信息技术教师,一般都有一定的编程基础,而且计算思维都比较成熟,因此,可以先按照教材及配套练习册中的练习熟悉新语言的基本语法,掌握基础技能后再采用迁移学习的方法来继续提高自身水平。
3.灵活使用教材,增强教材處理能力
教材是课程的核心内容之一,是引领教学发展、保证教学开展、促进人才培养的主体内容。教师应当以新版的信息技术教材为根本,对基础(必学)课程内容进行全面落实,并根据各学校实际情况适当选学提高课程内容。此外,还可以借助教学参考书进一步深入理解编者对教材的编排意图,通过配套练习册得到更多的编程实例,以及关注一些教材编写者的公众号以便获取更多的资料。
4.灵活应用教学方法,增强教学实施能力
目前,在编程教育教学中常用的几种教学方法有任务驱动、半成品加工、范例教学、项目式学习等。以泰山版信息技术教材为例,项目学习内容要有重点地选择,项目学习的项目既可以是一至两周的班级内单学科小项目,也可以是长达一年的、跨学科的大项目。在实际的课堂教学中,可以把一个项目分解为多个任务,通过任务驱动由浅入深地完成学习任务,在完成任务的过程中,“半成品加工”策略可以大大提高学生学习的效率,有很强的实用性,非常值得学习。
需要注意的是,整个课堂应以学生探究为中心,要充分发挥学生的主观能动性,教师只做课堂的引导者、组织者、指导者,要把更多的时间交给学生,让他们学会用计算思维解决问题。
苍山点题
作为一线的信息技术教师,细致研究教与学的策略,切实提高课程实施技能,方为踏踏实实的前进之策。不过度追求时尚、高难度的内容,科学合理地完成课程的基本要求,才能达成信息技术公民素养教育的基本任务。
第一篇文章,作者提出了一个现象级、艺术性的课堂教学技巧——教学缓冲。从学生需求角度,分析了教学缓冲是调整注意的有效手段;从课堂环节角度,分析了教学缓冲是课堂结构的必要环节;从知识体系角度,分析了教学缓冲是教学内容的有益补充。并且,用实例说明了拓展型缓冲、还原型缓冲、拐点型缓冲等教学缓冲的设计策略,非常实用。
第二篇文章,分析了我国中小学信息技术教育已经步入了一个新的发展时期,最显著的变化是新教材中更新了编程教育的内容,采用了全新的计算机语言,加大了编程教育的比重,改革了编程教育的理念。一线信息技术教师面对新版教材时,要弄清楚教材为什么要这样改版,到底要教什么。作者根据学习与研究,整理出一些心得,给了我们很多启发。
近期,本专栏逐步推出了一些较新的观点,如前期的“信息巨婴”、本期的“教学缓冲”,这些都是来自一线的深度思考,希望把您的独特观点也拿来分享,为课程贡献一点星光。