时间:2023-11-23
为深入贯彻习近平总书记关于“在教育‘双减’中做好科学教育加法”的重要指示精神,全面落实中央“双减”政策要求,进一步规范编程类校外培训行为,确保培训材料的思想性、科学性、适宜性,减轻中小学生过重负担,特制定中小学生编程类校外培训行为指引。
2023 年 11 月 22 日,中国民办教育协会、中国青少年科技教育工作者协会共同发布《中小学生编程类校外培训行为指引》,全文如下:
编程类校外培训以编程基本概念、技能、原理、方法等学习和应用为培训内容,注重培养学生编程兴趣,积极引导学生运用编程思想、方法分析和解决实际问题,着力提升学生信息素养和科学素养,为国家培养科技创新人才提供有力保障。作为科技类非学科校外培训的重要组成部分,编程类校外培训是学生系统接受编程教育的重要途径,是义务教育信息科技课程、普通高中信息技术课程的拓展和有益补充。
1.以立德树人为导向,自觉践行社会主义核心价值观
以习近平新时代中国特色社会主义思想为指导,全面贯彻党的教育方针,落实立德树人根本任务。充分发挥活动育人功能,引导学生在编程学习过程中遵守道德规范和科技伦理,培育学生正确的世界观、人生观、价值观,引导学生自觉履行个人在信息社会中的责任和义务,促进学生在数字世界与现实世界中健康成长。
2.以核心素养和编程能力发展为目标,系统构建培训活动体系
基于核心素养和编程能力发展的学段目标,以动画制作、游戏制作、实用程序制作、数据分析、算法与数据结构、网络应用为项目主题,探索构建小初高一体化的编程类校外培训活动体系,体现系统性、层次性和丰富性。小学从兴趣出发,注重编程体验和基础应用。初中深化原理理解,探索利用编程技术解决问题的过程与方法。高中倡导在复杂问题情境中综合应用编程技术解决问题。积极探索适合中国国情、具有中国特色的编程教育体系,为国家科技创新人才培养提供有力保障。
3.以编程实践应用为重点,科学设计培训内容
参考借鉴国内外编程教育研究成果,精心设计和遴选课程内容。从编程实践应用出发,注重帮助学生理解编程的基本概念、原理、思想和方法,引导学生综合运用各个学科知识解决问题。注重不同学段之间的衔接贯通、不同主题之间的有机衔接,体现顺序性、逻辑性和层次性。内容难度适宜,符合国家课程标准要求,紧密联系学生生活实际,与校内教育形成有效补充,与相关学科相互配合。
4.以学生为中心,探索创新多种教学方式
创设真实问题情境,以学生为中心,积极探索项目式、主题式、游戏化等多种教学方式,鼓励“做中学、用中学、创中学”。引入多元化学习资源,激发学生编程兴趣,引导学生积极参与编程程序设计与开发。灵活采用线上线下教学方式,充分发挥各自优势提高教学效果。关注内容的综合性,注重加强学科渗透与融合,鼓励学生综合运用各学科知识解决问题。关注学生差异,注重学生的个性化发展。
5.以教学评一体化为标准,建立健全多元评价体系
发挥评价导向作用,注重评价育人功能,体现目标、教学、评价一致性。坚持诊断性评价、过程性评价和终结性评价相结合,坚持自评与他评相结合,探索构建多元评价体系。合理选择评价方式和评价工具,支持学生自主和协作地进行问题解决。关注过程性评价,注重学习过程数据的采集,加强学习结果的评估与应用,坚持以评促教,以评促学,以评价促进学生全面发展。
编程活动既注重信息意识的提升,又关注编程能力的培养。具体目标如下。
1.核心素养的培养
核心素养包括四个方面:
(1)树立正确价值观,形成信息意识;
(2)独立思考能力的培养,动手能力的提高,初步具备解决问题的能力,发展计算思维;
(3)提高数字化合作与探究的能力,发扬创新精神;
(4)遵守信息社会法律法规,践行信息社会责任。
通过多主题的编程活动,让学生接触各个领域。当面临未知情境时,以问题为导向,激发学生的信息意识;以问题为开端,凝练成关键词,辅以信息搜集技巧,培养提升学生的信息技能;在获得信息后,通过教师引导,让学生能够甄别有效信息,并评价自己通过项目获取与传递的信息是否符合法律法规的要求。当获取到信息后,要针对活动主题,运用算法思路设计解决问题的方案,领会算法的价值。能采用计算机科学领域的思想和方法界定问题、分析问题、组织数据、制订解决方案,并对其进行反思和优化,利用计算机实现问题的自动化求解。在解决问题的过程中,需要利用数字设备和团队成员合作解决问题,逐步形成数字化合作与探究能力。在数字化学习环境中发挥自主学习能力,主动探索新知识与新技能,采用新颖的视角思考和分析问题,设计和创作具有个性化的作品。在逐渐形成创作能力后,更能按照法律法规与信息伦理道德进行自我约束,积极维护信息社会秩序,养成在信息社会中学习、生活的良好习惯,能安全、自信、积极主动地融入信息社会。
2.编程能力的培养
青少年编程的核心能力可以概括归纳为:
(1)算法——理解算法,能实现简单算法;
(2)数据结构——理解数据存储方式,灵活使用数据结构;
(3)过程与控制——理解过程与控制,掌握面向过程的编程;
(4)程序设计——具备设计与模块管理的思想;
(5)技术价值观——理解技术与人类的相互影响,正面积极地面对网络和技术。
算法是完成特定任务的系列步骤,是解决问题的清晰指令。学生先学习现实世界的算法,再基于理解学习如何用代码实现算法,并进行算法的开发、组合、分解和评估。算法的实现离不开数据,学生需要了解不同的数据类型及其使用方法,进而在特定的结构中使用数据,提高算法的效率。在项目实现的过程中,还需要对过程进行拆分,对过程的执行流进行编码,对顺序、分支、循环的理解与掌握将有助于学生掌握面向过程的编程。在中型程序的开发中,还需要具有模块化思维,对任务进行拆分与组合,是常见的场景设计解决方案。当具备一定的编程能力后,还需要对技术和人类的关系有更深入的理解,了解技术对社会的影响,包括促进或破坏公平以及不道德使用技术的危害。
1.活动内容概述
依据核心素养和编程能力的学段目标,按照学生认知发展规律,围绕动画制作、游戏制作、实用程序制作、数据分析、算法与数据结构、网络应用等6个项目主题,算法、数据结构、过程与控制、程序设计、技术价值观等5个能力面,设计课程内容,体现循序渐进和螺旋式发展。
2.编程语言与项目主题
不同年龄段学生的认知不同,采用不同的编程语言教学,更有助于学生学习编程内容,6个项目主题和5个能力目标在不同年级有更适合的编程语言作为载体。表1是不同年级的编程语言建议和项目主题的建议。
3.项目主题说明 各个项目主题随学段的上升应有复杂度的提升,以确保能承载知识点的分布。信息意识和编程能力的提升依赖于项目的复杂度提升。项目复杂度的上升比较直观的指标是代码量,但是在面向青少年开展的活动中应有符合认知规律的上升线。学生对不同项目会表现出不同的集体反应,可以此为参考选定项目。 (1)动画 动画类项目是游戏类项目和UI(用户界面)类项目的基础,要结合学生能接触的网络信息选取正面主题。动画类项目的覆盖面非常广,在每个学段都可以做动画类项目,以1-4年级为主要学段。 动画类项目的上升线主要体现如下:角色的移动或转动、造型的切换、边界的判断、键盘鼠标控制、角色间的动画互动、动画效果的代码实现、物理引擎的动画实现、3D动画实现。 (2)游戏 游戏项目和动画项目的区别主要在于游戏项目一般设置明确的得分机制,且具有可交互性。游戏类项目是大部分学生比较喜欢的项目,要注意做防沉迷教育。在做游戏项目设计时,若能结合剧情和背景展开,将丰富游戏本身的意义。 游戏类项目的上升线主要体现如下:角色数量的增加、角色运动效果的增强、得分规则的从简到繁、剧情的从简到繁。 (3)实用程序 实用程序包括在控制台交互的程序、GUI(图形用户界面)程序、网页程序等。一般而言,在游戏项目之后介绍GUI程序会比较好衔接。实用程序的主题尽量贴近生活,贴近学生所学所用,将更易增加学生学习的兴趣和成就感,如制作纪念册、旅行规划图、学习计划小助手等。 实用程序制作类项目的上升线主要体现如下:界面组件的数量增加、组件功能的增加、互动层次的增加。 (4)算法与数据结构 算法与数据结构是编程的基础,在各类编程语言中是通用的,只有代码实现与运行效率的不同,项目的开展与编程语言的选择可视具体情况而定。面向青少年的算法与数据结构项目多为传统的信息学奥赛题目,若非以竞赛为目的,建议可以结合游戏项目和实用程序进行项目的展开,让学生理解算法和数据结构在项目中的实际应用。 算法与数据结构类项目的上升线主要体现如下:从简单算法到复杂算法、从内置数据结构到自建数据结构、从简单项目场景到复杂项目场景。 (5)网络应用 网络应用以网络协议为基础,最初要给学生讲解基本的网络知识,了解C/S(客户端/服务器)架构。网络编程从简单的网页制作开始,前期GUI项目中学习的界面布局知识会为网络应用的学习奠定基础,同时由于GUI需要的前置知识较少,所以一般会将网络应用的学习置于GUI之后。网络应用是比较受学生欢迎的项目,也是非常适合用来培养信息意识的场景。此部分应设计更丰富的场景引入项目,让学生在场景中有所体会。 网络应用类项目的上升线主要体现如下:UI从简单到复杂、安全机制从0到1、数据服务从少到多。建议以网页制作、网络爬虫、小型网站、GUI为项目主线。 4.不同学段的活动建议 (1)1-2年级学段 不插电编程活动的组织需要活泼生动的互动氛围,线下建议以小组形式组织,并多配备一些辅导老师引导学生开展活动。若是线上开展,应将配套教具发送给学生。在内容上应更注重故事场景的引入,让学生更有代入感,课程环节设计应多设置让学生有表达与动手的环节。这类教具的开发成本较高,可以考虑使用成熟的硬件产品。 (2)3-6年级学段 对于3年级以上学生可以穿插学习图形化编程和代码编程,利用图形化的可视化效果、对角色编程、自制积木等功能,以及其基于代码语言的特点,可以让学生更好地理解代码语言。图形化程序的创意资源更加丰富且贴近青少年的偏好,可以激发创作灵感、借鉴创作思路,获得更多实践锻炼的机会。这个阶段的代码语言学习在螺旋式结构中处于较低的阶梯,项目复杂度不应过高,建议代码量控制在200行以内,学生单独完成的代码量应该控制在100行以内。 (3)7-9年级学段 代码编程学习可以选择多种代码语言,一些简单易用的标准函数和标准库适合新手入门。学习后可以借用第三方库做很多有趣的应用,在人工智能领域也能继续深入学习探索。另外,学习一些较复杂的编程语言,通过提高编程灵活性和执行效率,能更好的理解计算机运行的底层原理。若学生数学学习能力强,可以提前学习稍为复杂的代码编程。 (4)10-12年级学段 按照阶段持续学习的设定,该学段学生已具备一定的编程能力和信息意识,可以使用这些能力辅助学科学习,如使用专门软件或自己设计的软件进行知识点的梳理和整理,从机器学习中增强对矩阵运算、概率统计等学科的理解和运用。同时也可以为大学学业生涯打下基础,提前了解自己的兴趣、人格、能力倾向促进其专业选择和职业规划。 1.机构资质 编程类培训机构必须坚持“证照齐全”原则,按机构所在地省级主管部门规定,取得行政许可后,依法进行法人登记,具有科技类校外培训机构合规资质。 2.从业人员 从业人员要符合教育部、人力资源社会保障部《校外培训机构从业人员管理办法(试行)》、教育部等十三部门《关于规范面向中小学生的非学科类校外培训的意见》的基本要求,符合各省(市、自治区)科技类校外培训主管部门规定的从业人员要求。依托中国青少年科技教育工作者协会、中国计算机学会、中国自动化学会、中国电子学会等行业协会设置专门资质认证体系。机构要建立从业人员岗前培训制度,定期开展业务培训,提升教学能力,确保教学质量。一般而言,从业人员至少具备以下基本条件: (1)教学教研人员 教学人员需要具有相关专业教师资格证或职业(专业)能力。教研人员要求有一定的编程水平,独立完成过编程项目,至少两年的一线授课经验。 (2)教学辅助人员 教学助理、带班人员等教学辅助人员,需要具备专业能力或教学管理经验,辅助授课老师完成教学工作,加强日常管理,解答学生在学习中遇到的问题。 (3)技术保障人员 技术保障人员需要具备计算机、编程等专业知识,能够研发稳定、便利的教学软件,负责教学软件的开发与优化。 3.培训材料 培训材料要符合教育部办公厅《中小学生校外培训材料管理办法(试行)》的基本要求,无论是正式出版教材,还是自编自用材料,均要落实内部审核和外部审核制度,确保培训材料的思想性、科学性、适宜性。 鼓励根据编程知识体系编写培训材料、每节课配有对应的讲义和知识点总结,方便学生课前预习、课中总结及课后复习。学前以单元活动为单位编写培训材料,每册页数不宜超过50页,绘本形式更好。学龄培训材料以年度活动为单位编写培训材料,便于学生课前预习和课后复习巩固。 4.教学方式 积极探索项目式、主题式、游戏化等教学方式,倡导“做中学、用中学、创中学”,避免知识灌输和反复训练,激发学生编程兴趣,引导学生主动建构知识,在解决实际问题中形成计算思维、数字素养和问题解决能力。坚持以学生为主体,注重学生个性化发展,灵活采用线上和线下教学形式,丰富教学资源。严禁违背学生身心发展规律的反复训练。 5.评价方式 要坚持评价的发展性、激励性原则,注重过程性评价,建立多元评价体系,激发学生崇尚科学、探索未知的兴趣,培养学生探索性、创新性思维品质。培训机构不得私自设立编程能力等级考试,注重科学素养导向,引导学生在编程过程中领悟编程思想,增强计算思维、信息素养与创新能力。严格规范与编程相关的各类竞赛活动管理,严禁将编程能力作为考试入学参考,严禁夸大宣传编程教育对学生未来职业选择的影响。 6.安全保障 安全保障是所有活动得以顺利开展的首要前提,针对大量动手实践活动,机构需确保场地安全、耗材安全、操作安全和活动安全,在授课过程中充分考虑课堂的实际情况,在活动开始前阐明活动规则、进行安全提醒,在学生动手过程中时刻集中注意,保障学生安全。