《K-12计算机科学框架》描述了K-12阶段学生学习计算机科学需要掌握的概念和具备的技能,发布此框架是美国数字经济时代加强学生计算机科学技能和信息素养的重要举措。文章对《K-12计算机科学框架》的背景、特点和主要内容进行了深入分析与解读,并结合《K-12计算机科学框架》的特点和我国当前中小学信息技术教育存在的问题,总结得出我国中小学信息技术教育的努力方向,即注重对学生计算思维的培养,规范信息技术课程设置、评估与实施途径,提升教师专业发展能力等。

2016年10月,美国《K-12计算机科学框架》明确界定了K-12教育中每个阶段学生必须掌握的计算技能,使学生在计算机科学领域应该“了解什么”和能够“做什么”有了统一的标准。我国《教育信息化“十三五”规划》强调积极探索信息技术在“众创空间”、跨学科学习、创客教育等新的教育模式中的应用,着力提升学生的信息素养、创新意识和创新能力。

我国信息技术学科新一轮课改的目标是发展学生核心素养,包括信息意识、计算思维、数字化学习与创新、信息责任,这与《框架》提倡的“实施计算机科学教育与培养学生计算思维”的核心观点不谋而合。因此,深入分析《框架》,了解美国计算机科学教育改革的最新发展动态,把握其内在规律与发展趋势,对深化我国中小学信息技术课程改革具有重要的借鉴意义。

一 《框架》核心内容

1 《框架》核心概念

2011年,美国计算机科学教师协会(CSTA)和计算机协会(ACM)在全美中小学计算机教育调研基础上研制了《K-12计算机科学标准》(下文简称《2011标准》),从“计算思维”、“合作”、“计算实践与编程”、“计算机和交流设备”以及“社区、全球化和伦理影响”五个方面制定了K-12阶段中小学生需要达成的计算机科学学习标准,并建议以“核心课程”的方式在中小学开设计算机科学教育[3]。

《框架》将《2011标准》中“计算实践与编程”调整为“算法与编程”,并结合美国计算机科学教育的发展现状,提出由多个子核心概念组成的核心概念,如图1所示。《框架》的核心概念融入了“计算思维”,是计算机科学领域的主要内容。

图1  核心概念图

2 《框架》核心实践

《框架》除了重视对核心概念的培养,也强调培养接受计算科学教育的学生的实践能力,具体概括了7项核心实践,如图2所示。其中,计算思维是计算机科学实践的核心,通过实践3~实践6来描述,而实践1、2与实践7是计算机科学中对计算思维进行补充、独立、通用的实践。通过核心实践,具备计算机知识的学生能够更好地适应具有丰富数据的当今世界。

与核心概念不同的是,《框架》中的核心实践没有直接和每个年级学生一一对应,没有提供每个年级具体的课程目标与计划,而是直接描述从幼儿园到高中阶段学生需要达到的目标。以实践3“识别和确定可计算的问题”为例,核心实践要求学生在高中毕业时达到以下目标:①确定可以用计算解决的复杂、跨学科的现实世界问题;②把复杂、跨学科的现实世界问题分解成现有解决方案或程序的子问题;③评估计算解决问题方法是否合适、可行。《K-12临时标准》则依据《框架》的目标,详细描述了每个年级学生的课程目标与计划,更加清楚、具体和可操作、可衡量。

图2  包含计算思维的核心实践图

除核心概念与核心实践之外,跨学科概念也非常重要——它主要指计算机科学的核心概念与其它学科交叉融合(如图3所示),其核心是将其它学科的问题转化为一个计算问题,从计算思维的视角揭示这些问题的本质,实现一系列新的科学发现与技术创新。但在《框架》中跨学科概念不是一个独立维度,而是融入核心概念的学习之中。因此,《框架》既保留了跨学科概念的价值,又更便于受众理解与实施。

图3  跨学科概念图

二《框架》主要特征

1 强调学前教育计算机科学的重要性

随着美国《面向所有人的计算机科学教育》(Computer Science For All)新计划的提出,在未来几年美国政府将向每一名K-12学生提供计算机课程和数学课程,为他们未来的工作做好准备。与《2011标准》不同,《框架》特别指出需要扩大计算机科学教育的覆盖面,强调早期儿童教育增加计算机科学教育。

正如儿童在年幼时期学习语言、数学和科学活动一样,他们也可以在很小的时候进行计算机科学基础知识的学习。如在学前教育阶段的文学、数学和科学三项核心内容中嵌入计算机科学模式、问题解决、表示与排序四个重要理念,在游戏化的学习环境中发展社会和情感理念(如图4所示)。Resnick[4]曾说,计算机科学非常适合幼儿教育,它为儿童提供了一个可以“在玩耍中学习,在学习中玩耍”的环境。

图4  计算机科学和学前教育理念的融合图

2 拥有完整的计算机学习进程体系

《框架》提出了一个完整的K-12学习进程体系,以计算机科学核心概念为主线,整合了跨学科概念与实践,为学生参与计算机科学教育提供了完整的内容体系,并根据学科核心概念设计了以学段为节点的发展进程。《2011标准》将K-12划分为K-6、7-9与10-12三个阶段,《框架》进一步细化为K-2、3-5、6-8与9-12四个学段,以此来描述学生的学习进程。

以核心概念“计算系统”的子概念“设备”为例,各阶段学生的学习进程如表1示,学生在低年段的学习内容为“学生学习计算设备常见应用和功能”,高年段需要学习“连接系统以及人和设备之间的交互是如何影响设计的”。《框架》的概念陈述也是相互联系的,如在“计算系统”的子概念“故障排除”中,K-2学段“清楚地描述每一个问题”为3-5学段“算法和编程”不断审查程序是否按预期工作提供了基础。

表1  有关“计算系统”学习进程的设计

3 计算思维是核心观念

《2011标准》将计算思维、计算实践和编程纳入学科基本主线,帮助学生拓宽计算视野,理解计算机科学的基本原理和方法。《框架》延续《2011标准》的思想,结合现代信息社会的发展,把计算思维作为核心观念融入实践进程中。计算思维反映了计算机科学的核心概念与核心实践,而计算机科学为学生发展计算思维提供了独特的机会。

《框架》对计算思维的描述超出了教育中使用计算机和技术的一般情况,将概念延伸到了一些特定能力,如设计算法、分解问题和建模现象等,为计算思维在其它学科的发展提供了机会。2006年3月,美国卡耐基·梅隆大学计算机科学系主任周以真教授[5]在美国计算机权威期刊《美国计算机学会通讯》(Communications of the ACM)上对计算思维进行如下定义:计算思维是指运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。

本质上它是一个问题解决的过程,包括充分利用计算机设计问题解决方案。计算思维是所有人都应具备的基本技能,不仅仅是计算机科学家的专利。它可以提供一种能够广泛应用于工作、学习、生活的组织和分析问题的新视角,将计算思维融入儿童的分析能力中,能让他们更好地阅读、写作和算数,并学会使用计算思维来解决身边的社会或自然问题。

三《框架》对我国信息技术教育的启示

1 在实践中注重对计算思维的培养

计算思维培养是信息技术教育发展的新趋势。2015年12月10日,美国总统在白宫签署名为“让每个学生取得成功的法案”(Every Student Succeeds Act,ESSA)。该法案将以计算思维培养为核心的计算机科学课程提高到与数学、英语等同的重要地位,并投入巨资在美国广泛推行。可以看出,美国已经认识到以技术应用为取向的信息技术课程的落后性,开始积极推动培养计算思维的项目,将“计算科学”纳入中小学学科体系,并将其作为STEAM教育的重要部分。计算思维是一种适合现代社会的方式与方法。

周以真[6]提出“计算思维面向所有的人、所有的领域”。对学生而言,养成计算科学的思维方式、问题解决和创造的习惯是难能可贵的。我国的中小学信息技术学科常常被认为是“小科”,其重要性往往被人们忽视,单纯由“简单的信息素养”观念主导的信息技术教育已越来越不适应当前国内外中小学信息技术教育重视计算思维培养的发展趋势,“我们应该意识到信息技术课程培养计算思维的独特性之于社会、个人发展的非凡价值”[7]。因此,为了帮助学生正确理解信息社会的本质特征并创造性使用信息技术,我国的信息技术教育不能只停留在工具运用的层面,而应在计算机科学实践中关注计算思维的培养。

(1)将计算机思维培养融入到具体的实践活动中

信息技术课程培养重点是让学生运用计算机科学的基础概念进行问题求解,强调培养学生的实践创新能力,发展人文底蕴等核心素养。《框架》描述了计算机科学的核心概念和核心实践,并对每一项实践的内涵、目标和学习进程进行了详细描述。教师在进行信息技术教学时,应当以《框架》的实践目标为标准,注重引导学生在信息技术课程中接触计算机科学,将计算思维融入有意义的实践活动中,而不仅仅只是灌输概念性知识,更需要理解技术背后的知识和原理。

(2)增强教学工具软件的趣味性

国内传统的计算机科学教育在追求严谨、科学等目标的时候,忽略了对初学者非常重要的诙谐有趣、直观明了、可操作性良好的实践活动和教学工具的设计。如我国信息技术教学长期使用Logo、Java、Visual Basic等程序设计软件工具,对低龄学童而言不仅难度较大、趣味性不足,而且理论知识抽象难懂,很难引起学生学习的兴趣[8]。关注并投入娱教技术研究与应用实践,为教育技术开辟了一个新领地,对于促进教育技术学科的发展具有重大意义[9]。

动手动脑的实践是STEAM教育的一大特色,Scratch、Audrino、Kodu等一系列隐含计算思维的软件、游戏、玩具的出现使得低龄学生借助工具接触计算思维成为现实。我国一些发达城市已经开始注意到使用App Inventor开展小学信息技术课程,并围绕编程游戏实施信息技术教学,培养学生的计算思维。近几年来,Scratch、Audrino等工具开始出现在江苏等省市小学信息技术教材中,但就全国而言,普及面尚不广泛。

我国信息技术教育应该通过课堂实践驱动编程工具的使用,培养学生的计算思维,丰富中小学信息社会学课程资源与工具,改善学习方式。在实践中,注重培养学生解决基础问题的新方法,帮助其更好地理解计算思维在生活中的作用,同时也能应用到其它学科和兴趣课程中。作为学习和表达的工具,计算思维可以使每一位学生成为计算机技术的使用者和创造者。

(3)从低年段开始培养学生的计算思维

实践证明,计算思维培养可以从幼龄阶段抓起。美国计算机教育中程序设计类课程低龄化趋势明显,众多针对低龄学童的程序设计软件出现,甚至一些隐含计算思维的玩具也出现在小学甚至幼儿园阶段。如Aggarwal等[10]设计课程介绍Scratch、App Inventor和Kodu等编程环境,用于培养K-12阶段学生的计算思维;Stolee等[11]的微软Kodu游戏实验室支持学生学习如何编程和开发游戏,他们发现,3-5学段学生能够认识、理解、建设和使用游戏编程设计模式。由此可见,在基础教育过程中可以逐级引入计算思维理念。

具体来说,可以从小学开始,利用App Inventor、Scratch等编程工具,以任务为驱动引导低龄学生学习编程的教学与研究;到高年级时,学生可以运用掌握的技能创建项目、游戏、应用程序、程序机器人等,鼓励学生在使用、修改和创作的过程中学习编程,使计算思维、趣味编程、创意设计、儿童数字文化、游戏化教学等课程逐步走进中小学信息技术课堂,开启具有创造、创新精神的信息技术教育之门。

2 规范信息技术课程设置、评估和实施途径

信息技术作为一种高新技术,发展迅速。但目前学者很少对计算思维引入信息技术课程教学进行系统研究。我国对信息技术课程中的计算思维教育仍处于摸索阶段,没有系统科学的教学标准。《框架》中对计算机科学教育的描述,对于我国信息技术课程设置、评估和实施途径具有重要的借鉴意义。

(1)增强课程设置的连贯性、清晰性与整体性

《框架》的编写者认为计算机科学教育的连贯性、清晰性与整体性对保证计算思维教学至关重要。《框架》围绕一定的实践、跨学科概念或核心概念拟定2年级、5年级、8年级和12年级学段末的学习进展和成果要求,使学生拥有完整的学习进程,这种学习进程有利于课程设计与教学实施在各年级之间的顺利过渡。我国课程框架由国家统一制定,就整个基础教育阶段的信息技术教育而言,义务教育阶段与高中阶段的衔接存在问题,义务教育阶段本身也存在一定问题。我国在制定信息技术教育标准时要有全局观,考虑相关框架、标准之间的联系与交叉;课标修订组之间需要建立协商机制,并进行统一规划,会更有利于学生全面素养的提升;同时,对新旧课标之间的变化进行清晰比照,则更有助于一线教师理解并正确指导课程的实施。

(2)充分利用计算环境,构建注重“能力”的课程评价体系

设计与课程内容相适应、可操作性良好、有效的能力评估方法,是实现课程目标的重要保障。目前,我国中小学阶段普遍使用的学业评价方式是标准化测试,如多选题、简答题测试等。结合计算思维能力培养的特点,课程考核方式应以“能力”为主,建议从项目实践和原理理解两方面构建评价体系,综合评估学生的思维水平,开发更多“非传统”的测量。如绩效任务和学生小组任务,可利用具有丰富性和创造性的计算环境,在课程配套实验方案中提出技能方面的要求,适当安排设计项目,提升学习者的兴趣和成就感。与其它科目相比,计算机科学提供了一个独特的机会:学生可以充分利用在线学习环境进行计算化评估。如学生可以在平台中创建游戏、应用程序和模拟程序,这些环境可以收集数据、分析成果,并向学生和教师传达进度。除了重视编程能力的评估,也需注意学生对计算机科学其它方面的原理理解,评估的时候需要同时兼顾多个概念。

(3)探索多种信息技术课程实施途径

我国大部分地区中小学的信息技术课程实施途径单一,因此,在一些条件允许的地区实施信息技术课程时要探索多种课程实施途径。如图5所示,小学、初中、高中分别对计算机科学进行基本接触、适当接触和深入接触。具体来说,小学计算机科学可以融入一般的学科课堂,如当学生制作数字音乐、动画等艺术作品时,可融入计算系统的概念和框架,也可将其作为一个特殊的学科(类似于音乐、艺术和体育),学生通过专门的课程学习计算机科学;在初中,可将计算机科学纳入数学和科学课堂,使用视频游戏编程的方法讲授诸如毕达哥拉斯定理、距离公式等主题,也可作为特定年级一学期或一年的课程;在高中,计算机科学可以作为大学入门课程、AP计算机科学课程(提供给高中生获得大学计算机课程的大学学分)、特定课程、网络安全、游戏设计或智能技术等专业课程,也可以在不影响其他科目教学时间的情况下下独立设置计算机科学课程。

图5  实施K-12计算机科学的途径

3 提升教师专业发展能力

我国信息技术教师普遍认为计算思维教育增加了学习难度,担心学生难以接受。其实计算思维教育的难点并不在于学生能否接受,而在于教师自身的能力和素养,如教师需要具备广阔的知识面,在教学时能做到深入浅出。

为了更好地开展信息技术课程,需要从以下几个方面提升信息技术教师的专业发展能力,建设符合现代信息技术快速发展趋势的教师队伍:首先,实施计算机科学教师认证,开发或采用计算机科学教师执照考试认证,除了认证、激励和加速专业教师培养,还将有助于解决计算机科学教师的短期和长期需求;其次,制定教师培训计划,在高等教育机构创设奖励,为职前教师提供计算机科学知识,将计算机科学内容纳入所有教育专业的必修课程。

最后,借鉴《框架》对教师专业发展的设计,教师可以积极准备好促进个人专业发展的知识,帮助其扩展计算机科学知识的广度和深度,以满足不同学生的需求。