严 可
(茂名市第一中学,广东 茂名)
教育部印发的《普通高中课程方案》和《普通高中信息技术课程标准(2017 年版2020年修订)》中明确指出,高中生信息技术的必修课程应当要求和引导学生掌握设计和表示简单算法,学生要掌握一种程序设计语言的基本知识,利用程序设计语言实现简单算法。随着近年来大数据、云计算、虚拟现实等技术的发展,高中信息技术编程教学正面临着新的发展机遇。编程教学既有内在教学内涵提升的要求,又有外在教学技术方法提升的机遇。“微课”[1]作为一种产生于信息技术时代的新型授课方式,依托其个性化教学、跨时空教学等技术优势,可以帮助高中生更好地掌握编程教学的知识要点。
20 世纪60 年代,“微课”作为一种专门性、针对性、专项性的知识传播和知识传授方式由美国艾奥瓦大学附属中学的教学团队所创立。后来在信息技术、数字技术、互联网技术等的深度参与下,发展到现在成为一种依托在线教育资源或数字化教学资源所开展的个性化、差异化教学模式。对于高中信息技术编程教学来讲,微课至少有以下几个方面的重要价值。
在大数据时代,高中生信息技术课程中的编程教育实际上是一种“计算思维能力[2]”教育,更是一种以解决现实生活中具体问题、热点问题为导向而培养学生“计算思维能力”的教育。在近几年兴起的中小学编程课教育教学过程中,不少任课教师没有充分理解这种教育初衷,在实际的课堂教学中仍然延续着技术层面的“灌输式”教育,没有从教育思维层面等对学生的计算思维能力、认知逻辑能力、解决问题的能力等进行针对性的培养。微课作为一种新型的教学技术手段,在教学呈现方式上主要以Flash 动画、小视频、三维模型、在线短视频课程等为呈现形式,能够在有限的时间内抓住学生的兴趣点,以丰富、有趣、多元、个性化的内容培养高中生的计算思维能力。
大数据时代,高中生核心素养中一个重要的组成部分即“STEM 教育素养”,它指的是融合了科学、技术、工程、数学四个学科大类于一体的跨专业、跨学科解决问题的综合能力。在高中信息技术课程中,学生学习编程知识、掌握编程技能无法脱离以STEM 为基础框架的知识储备。在这方面,江苏省于2017 年印发的《STEM 教育项目学校建设指导意见(试行)》中就明确提出,以STEM 为导向的信息技术教育是一种系统性的学习方式变革,它不是以应试、考试为目的,而是以特定项目或者特定实际问题为导向开展教学。所以说,只有借助微课这种更为灵活的教学方式才能为不同的学生提供差异化的编程知识。
高中信息技术课程中的编程教学定位于让学生掌握基础的、简单的算法和编程知识,并不寻求较高水平的编程教学。近年来,已有不少学者撰文探讨将微课引入编程教学中,但是有些原则性问题仍然有待厘清。
信息技术课程中的编程具有很强的抽象性与逻辑性,如果只依靠“灌输式”“填鸭式”的教育,很难让学生真正理解编程代码和编程之外的丰富含义。基于STEM教育理念,我们认为微课的设计、组织、制作、建构、实施等必须基于真实的、现实的、具体的、生活化的情境或者问题展开,教师在利用微课的时候可以从学生身边比较具体的问题,如“智能交通灯的控制”“学习成绩分析统计系统”“自助式货物贩卖机”等入手激发学生的“问题意识”和“用计算思维能力解决现实问题”[3]的能力。
高中信息技术编程教学并不是数据代码的排列组合教育,而是以STEM 教育理论为基础,通过将数学思维、逻辑思维、计算思维、工程管理思维等进行一定的跨学科组合、跨门类融合,以解决特定现实问题为导向进行编码的过程。例如,在现实生活中,不少中小企业装配线设备上马之后都会以特定产品的生产为导向进行管理流程、生产流程的再造,这就是一种典型的“编程”,这种编程需要借助计算机技术、管理技术、数学知识、工程控制技术等实现。在微课组织过程中,教师可以引用此类案例或者将其作为一种编程对象进行植入。我们以现实情景中中小企业常见的装配线编程为例,无论是多复杂的生产设备、生产线,在编程设计中我们都可以引导学生按照图1 所示的编程思维进行设计,把不同学科的知识用编程思维进行整合。
图1 中小企业装配线编程样式图
近些年来,微课的发展经历了三个比较明显的阶段,即从最早的“以微资源为核心的微课”到“以微教学活动为核心的微课”,再到当前“以网络课程为核心的微课”[4]这样几个发展历程。在这样一个纵向的发展历程中,线上及线下“微视频”作为最核心的教育资源,成为高中信息技术编程不得不重视的一个现状。例如,我们看到刑法学教育领域知名专家罗翔近几年来依托“微视频”教学资源积累了上千万粉丝,这就充分展示了在移动互联网时代、大数据时代“微视频”的重要价值。
经过近些年的发展,微课教学已经从单纯的技术层面的教学转化为比较成体系化的教学模型,也就是说高中信息技术编程课的微课构建与应用并不是一种单一的课程层面的创新,必须从全教学环节、全教学阶段、全教学要素着手建构“教师引领学—学生自主学—师生沟通学”的新型教学模型。
从文末图2 可见,高中信息技术教师在编程微课教学植入方面,重点是引导高中生从“生活情境发现问题”—“建构信息技术原理方法”—“引导学生自主探究”—“技术体现重点突破”等方面着手,培养学生主动利用信息技术模型解决现实问题的思维意识和认知逻辑。
图2 高中信息技术编程微课的双导教学模型
在互联网技术的渗透下,微课已经进入一个以“微视频”为主要呈现样式的全新发展阶段,它并不是传统的、简单的“网课”或者“在线课程”,而是依托“云服务+本地教育”[5]而传授的微型网络课程,其特点是重视在线答疑、兴趣引导、海量资源对接、全时空满足学生编程学习需求和一对一服务等。对于高中信息技术教师来讲,可以以校园局域网为载体,以教师共同体为主体,建立一个“编程微课云数据库”系统,即依托现代云计算技术,在本区域内将大量用网络连接的与信息编程有关的计算(教育)资源(如编程素材库、编程技术库、编程易错知识库、编程案例库等)进行集中入库和共享,构成一个面向高中生信息技术编程的云端微课平台,解决全天候、全时空、全教学环节向高中生授课的问题。
高中信息技术课程中的编程高度依赖智能化信息终端、无线网络、AI 技术、虚拟现实技术。在众多微课类型中,“随机进入式”微课指的是一种依托智慧课堂软件、硬件等实现在不同的时间创设不同的情境供学生进行编程学习的新型教学模式。例如,在进行简单的“学习成绩统计分析系统”编程设计方面,任课教师可以利用预先设计的情境、问题提示等作为“翻转课堂”,引导高中生在课前利用App 登录云端自主学习、自主设计,将自己的疑问、自己的求知需求等置于云端;在课程开始后,引导学生带着自己的疑问、问题观看编程教学微视频,同时引导学生观看其他人员、其他小组的编程进度,形成一种“共时态的互学”。在这个教学过程中,教师要利用好“云教育”可视化系统观察每个学生、每个小组在编程关键节点的表现,及时纠正错误、发布典型案例等,形成一种随机进入式的微课。