APP下载

面向逻辑能力培养的编程课程教学设计研究

2019-07-08张子仪刘文静焦宝聪

软件导刊 2019年6期
关键词:编程

张子仪 刘文静 焦宝聪

摘 要:为了培养学生的逻辑思维能力,并解决传统编程课程中教学效率低下的问题,通过梳理当前编程教育研究现状,引入STEAM教学理念。在借鉴ADDIE模型与项目学习模式并综合多种教学理论的基础上,提出面向逻辑能力培养的编程课程教学实施模型——元项目教学模型,并以Scratch教学为例进行教学设计。实践结果表明,该教学模式可以激发学生学习动机,提升学习效率,并促进学生思维能力的发展。

关键词:教学设计模型;逻辑能力;编程;Scratch;元项目教学模式

DOI:10. 11907/rjdk. 182934

中图分类号:G436

文献标识码:A文章编号:1672-7800(2019)006-0216-05

Abstract: In order to cultivate students' logical thinking ability and solve the problem of low teaching efficiency in traditional programming courses, this paper combs the current research status of programming education and introduces STEAM teaching concept. By drawing on ADDIE model and project learning mode and integrating various teaching theories, this paper proposes the teaching implementation model of programming curriculum oriented to logic ability training, i.e. the meta-project teaching model is proposed,and Scratch teaching is taken as an example for teaching design. The practical results show that the teaching model can stimulate students learning motivation, improve students' learning efficiency and promote the development of students' thinking ability.

Key Words: teaching design model; logical ability; programming; Scratch; meta-project teaching model

0 引言

隨着信息技术的快速发展,以及“人工智能4.0”时代的到来,对学生的编程能力提出了新的要求。编程教学如今已在我国中小学信息技术课程中得到了广泛开展,中小学编程教育已成为国际教育研究的热点之一[1]。但由于编程工具的特殊性,即编程工具仅是编程方法与算法的载体,而且更新换代很快,因此要求编程课程的教学目标、教学模式与评价等应与传统教学方式有所区别。

国外有关编程教学的研究较早,从20世纪80年代起,编程教育研究就已从单纯的编程教学转向编程与其它学科的融合,并将编程作为一种表达思维的工具。如英国在100多所小学实施的ScratchMath(SM)项目即是利用图形化编程工具Scratch表达学生的数学思想,Breton等[2]在该项目研究中提出融合数学学科的编程教学“5E模式”;Noss&Holves[2]指出编程具有培养学习者思维能力的独特优势,“编程可以为学习者提供思想表达的画布,学习者在屏幕上画出他在脑中搭建的半具体的理性结构”。国内关于编程教学的研究起步较晚,主要分为以下3个方面:一是对特定编程课程,如C语言、Java语言、APP Inventor等课程适用教学模式的开发与设计研究,如蓝天[3]提出基于项目、同伴、热情、玩耍4P原则的Scratch教学设计,黄丽[4]提出基于STEAM教育理念的初中信息技术课程设计等;二是在编程工具支持下对某种思维方式的培养,如方海光[5]等基于3种常用编程技术提出面向计算思维培养的课堂模型,徐姗姗[6]以创客教育为背景,提出一种促进学生创新思维发展的教学模式等;三是对某种已提出的教学模式进行实践研究,并根据自己的实践经历进行调整,如孙聘[7]以PBL(Project-Based Learning)模式为基础对小学Scratch编程教学进行实践研究,李莉[8]根据基于网络的教学设计(Web-Based Instructional Design,WBID)模型进行HTML语言课程教学设计等。

算法是程序的灵魂,算法设计对于逻辑思维能力培养有着得天独厚的优势,以上研究从理论与实践角度探讨了适用于编程教学实施的模型,但是学会编程工具并非终点,皮亚杰提出培养儿童抽象思维能力是教育需要实现的最高目标,因此如何利用编程工具的优势培养学习者逻辑思维能力是本文研究的核心问题。研究者Papert[9]提出编程教育的一个范式,即当学习者主动参与到建构公共实体(Public Entity)时,此时被看作学习知识最有效的阶段。本文从该范式出发,以“项目”作为学习者建构的公共实体进行教学模型搭建,以期有效培养学生的逻辑思维能力,为后续学习打下坚实基础。

1 研究背景

当代教育设计理论认为,通过培养学习者的逻辑思维能力等高阶思维能力,以及培养其自主学习能力并养成终身学习的习惯[10],对于当今时代学习者创新能力的提升极为重要。在当前STEAM教育火热推进的背景下,STEAM教育与编程课程的融合展现出巨大的生命力。

1.1 STEAM教育理念

STEAM教育是指將科学、技术、工程、数学与艺术结合在一起的跨学科教育模式,该教育模式蕴含的STEAM教育理念主要包括3部分:①整合理念。STEAM教育强调将多个学科中的一门与多门进行有效整合,Lyn[11]指出该融合绝非学科知识的叠加,而是建立在学科内容关联性基础上进行的深度融合;②“做中学”理念。STEAM教育强调对学生实践能力与问题解决能力的培养,同时注重培养学生的批判性思维能力与创新能力。STEAM课程鼓励学生动手创作,使学生能熟练运用数学建模知识、工程设计知识及多种技术手段解决实际问题[4];③项目式教学理念与协作学习理念。项目式学习是指教师通过前期分析设计出具有一定拓展性与情境性的题目,学生通过建立探究社区并以小组为单位,在项目实施过程中运用跨学科知识提升综合素养与创造力[12]。

1.2 逻辑思维在STEAM教育理念下的定义

在STEAM课程中需要学生采用编程或其它方式解决实际问题,这就需要将实际问题抽象为理性概念与算法的思维能力,以及结合符号语言与学科知识解决特定问题的逻辑思维能力。因此,通过总结目前国际上对逻辑思维能力的定义,并结合STEAM编程课程,对逻辑思维定义如下:在STEAM课程中,理解抽象概念,运用概念进行判断,并利用编程语言按照一定逻辑关系执行判断,以及分类、泛化、表示问题,进而通过计算解决问题的模拟与检验思维能力[13]。

1.3 ADDIE模型与项目学习

教学设计理论有着系统性、拓展性、科学性与艺术性相统一的特征[8],教学系统设计模型是对教学设计理论直观、精简的表示,虽然不同教学系统设计模型的关注点、结构、要素、侧重点各异,但都有着共同的教学设计特征,即ADDIE模型。该模型于1975年提出,不仅被美国空军普遍采用,而且成为教学系统中最重要的模型之一[14],该模型对本研究模型的建立也起到了关键作用。ADDIE模型具体包括分析(Analysis)、设计(Design)、开发(Development)、实施(Implementation)、评价(Evaluation)5个步骤,该模型不仅总结了教学设计构成要素,而且规定了教学设计的通用流程与步骤。在该模型中将评价分为总结性评价与过程性评价,过程性评价贯穿教学设计始终,并提供对教学环节修改情况的反馈,总结性评价在教学实施阶段之后进行。

项目学习(Project-based Learning,PBL)是将管理学中的“项目”概念运用于教学领域而形成的新型教学模式,强调学生要在真实的学习环境中围绕项目进行合作式自主学习,通过不断解决问题以完成项目,并得到最终作品,从而主动完成对知识的建构[17]。项目学习主要由内容、活动、情境、结果4大要素构成,其中项目学习活动由3部分组成,包括:①问题探究与调查;②根据问题情境提出解决方案;③作品测试与公开演示。

2 元项目教学模式

当前编程课程教学一般采用线性教学,即从语言基础出发,逐步介绍语言功能、流程控制、数组,直到简单系统设计等[15]。该教学方式重视知识结构的系统性与逻辑性,但会大大降低编程类课程的综合性、实用性与趣味性,不利于提高学生学习动机,也不利于学生高阶思维能力与自主学习能力的培养。

本文教学设计模型搭建以ADDIE模型作为教学设计流程框架,结合项目学习模式,并借鉴活动理论在项目活动设计中考虑活动的六要素。本模型创新点在于教学实施模型的搭建,在项目教学模式基础上,将项目教学分为两个步骤,第一步为元项目教学,元项目即项目开始之前的引入项目,在该阶段教师以范例教学为主、项目式教学为辅;第二步为项目学习,以学生自主学习与协作学习为主。最关键的是,教师的支架教学贯穿该实施模型始终。

根据该设计流程,编程课程教学系统设计环节分为5大环节,每个环节又包括多个组成部分。在该流程中,分析阶段中的客观分析与目标分析是首要步骤,学习需求分析是架构客观分析与目标分析的桥梁。学习内容是指为实现教学目标,要求学习者系统学习的知识、技能与行为规范的总和,学习内容分析则是对项目教学内容知识深度与广度,以及知识间的联系与结构进行分析。常用的内容分析法有很多,比如归类分析、层级分析、信息加工、图解分析等,学习内容设计的清晰程度越高,越有利于教学策略制定。教学者可以运用网络图绘制的方法制定教学内容,如杨开城[16]提出的绘制知识网络图方法与WBID模型介绍的学习任务地图法[8]。

好的项目需要精细化的设计,项目设计阶段需要结合项目情境,根据学习需要与对学习内容等的分析作出具体教学序列安排。笔者认为,项目活动设计不只是对项目的安排与设计,还应包括对活动的考虑与设计。根据项目学习理论与活动层次模型,项目活动设计应包括4个环节,如图1所示。与一般项目教学模型不同的是,该设计流程将活动中的规则设计与共同体设计纳入教学设计步骤。共同体是指知识建构环境中学习者、指导者和教师共同组成的团体,共同体设计属于学习环境设计,积极的相互依赖、高度凝聚与有效的支架策略以及明确的任务安排都属于共同体设计范畴,良好的共同体可促进学生更积极地参与学习活动,从而有利于其逻辑思维等高阶思维能力的发展。有效的教学活动需要一定课堂规则,教师在设计阶段有必要考虑制定通用或特殊的课堂实施规则,同时应设计课堂评价规则,为贯彻全程的过程性评价与最后阶段的总结性评价提供参考[14]。

项目活动设计完成后将进行备课,也即进入开发阶段。在前两阶段基础上选择主教材资源,同时编制辅助教学材料,从而生成具体项目教学内容,以最大化地传达教学信息量。在该阶段还需要进行支架材料开发,设计概念支架训练材料及策略,并进行程序支架活动内容编排等。

基于逻辑思维发展的教学模型实施模型共包含6个环节。经过前期的分析、设计与开发阶段,将得出的项目内容、小组分组、活动规则、学习者认知风格与学习风格作为输入,经元项目教学与项目活动教学的实施,最终实现学习者逻辑思维等高阶思维能力与编程课程知识与编程能力的输出。在教学实施过程中,教师的支架教学辅导与过程性评价贯穿始终。

(1)元项目教学环节。北京大学丘维声教授[17]认为,深刻、抽象的教学可通过“解剖麻雀”方式讲解深刻的理论是如何得来的,提出要研究的问题并探索论证其中的可能规律。编程教学也是一样,编程教学语言对初学者而言过于抽象,教学者若进行逐句讲解将会大大降低教学的有效性,而元项目教学可以给学习者提供一个内容精简而全面的“麻雀”。元项目选择策略包括:①基于真实且切身的情境;②体现教学内容且具有开拓性;③根据学习者认知基础进行编排设计且符合学习规律。

(2)项目学习环节。学生在该环节进行基于一定情境的项目学习活动,教师应对分组策略与活动组织策略加以关注,比如研究表明异质小组比同质小组更有利于学习者逻辑思维能力的发展,高水平学习者集中在一起会阻碍合作,主动和反思型学习者构成的混合型小组容易产生更高绩效等[18]。活动组织策略包括头脑风暴、旋转木马、虚拟圆桌等。小组确定之后,小组内部与小组之间以元项目涉及的知识与技能为范围,结合真实情境自主确定项目,并交予教师审核,项目确定之后小组按照一定策略与方法制定方案、体验实施并进行最终的测试与调整。

(3)展示与交流环节。本环节给予学习者将项目构思、设计步骤与框架、纠错迭代及思维转化过程“说出来”的机会。复述是重新组织认知过程的一个重要策略,可以有效培养学习者的逻辑思维能力。教师首先制定评价展示答辩环节的标准,并制作成评价表发放给每个小组,讲述评价规则与流程,使每个成员都成为“评价者”;然后进入答辩环节,教师与部分学生代表通过有意义的提问使学习者思路更加清晰;得出一定评判结论后,最后进入小组评价环节。

(4)支架教学辅导环节。根据汉纳芬对支架的分类,即将支架分为概念支架、元认知支架、程序性支架与策略支架[18],教师可根据不同教学情境选择不同的支架策略。研究表明,教师可通过在概念阐释过程中有意识地使用思维导图、概念构图等概念支架,以提高学生的逻辑思维能力。如陆航[10]提出在课堂教学环节加入6S元认知策略,有利于提高学生逻辑思维能力。教师还可利用线上平台设计一种专门提供问题解决方案的程序性支架,以支持学生的协作学习与自主性学习。

(5)评价环节。根据ADDIE模型,将评价分为过程性评价与总结性评价。在前期设计开发阶段确定评价规则与评价方式能有效预防与克服惰性,激发学习者学习动机。教学实施过程中,教师通过提供相关量表进行课中测试,并结合线上平台学生提交的成果进行评分;设计多元化的课程展示方式如答辩汇报、角色扮演、小组演出等进行总结性评价,通过师生提问、组间争论,培养学生的逻辑思考与思辨能力。在形成性评价中,学习者可以了解问题解决与思路形成过程中的问题与不足,从而提高學习者的认知与元认知能力。

3 元项目教学模型应用——以Scratch为例

基于逻辑思维能力发展的编程课程实施模型包括6个基本环节,本文以Scratch编程软件中制作“画圆机器人”为例进行教学设计(见表1),并对元教学环节中的教学实施流程进行设计与记录(见表2),从而为教学模式的实际应用提供参考依据。

项目活动阶段,教师可以分发制作好的元认知调控单,以帮助学生调控认知过程。以Scratch课程为例的项目元认知调控单如表3所示。

4 结语

本文提出一种基于逻辑能力发展的编程课程教学模式,将教学实施过程分解为元项目教学与项目活动阶段,并将教师的支架辅导策略应用于教学全过程,从而建立将范例教学与项目教学方式相结合、自主学习与协作学习方式相结合的教学模型。本文还有很多需要突破与改进的地方,一是本文提出的教学模型是结合文献研究与亲身教学实践基础上总结得出的,属于教学设计模型的预成模式,因而不能全面考虑现场情况,难免显得死板与僵硬;二是研究时间较短,思考尚不够深入;三是需进一步简化模型,并加入更多认知与元认知策略方案。

参考文献:

[1] 柏安茹. 面向计算思维培养的App Inventor课程设计与开发[D]. 北京:北京邮电大学,2018.

[2] BENTON L,HOYLES C,NOSS R. Bridging primary programming and mathematics: some findings of design research in england[J]. Mathematics and Programming,2017,5(3):115-138.

[3] 蓝天. 融合4P原则的初中Scratch教学设计与实践研究[D]. 上海: 上海师范大学,2018.

[4] 黄丽. 基于STEM教育理念的初中信息技术课程设计与应用研究[D]. 长春:东北师范大学, 2018.

[5] 方海光,汪时冲,张鸽,等. 面向三种典型程序语言的中小学计算思维课堂设计研究[J]. 中小学信息技术教育,2018,11(3):58-60.

[6] 徐姗姗. 创客教育中小学生逻辑思维能力的培养——以小学Scratch课程为例[D]. 济南:山东师范大学,2018.

[7] 孙聘. 基于PBL模式的小学Scrstch编程教学实践研究[D]. 济南: 山东师范大学,2018.

[8] 李莉. 基于WBID模型的Web技术课程教学设计[J]. 计算机教育, 2018,6(8):147-150.

[9] SEYMOUR W F,PAPERT A. Programming-languages as a conceptual framework for teaching mathematics[J]. Interactive Learning Environments, 2011, 19(5): 487-501.

[10] 陆航. 元认知策略教学对小学中高年级儿童逻辑推理能力的干预研究[D]. 苏州:苏州大学,2014.

[11] LYN D English. STEM education K-12:perspectives on integration[J]. English International Journal of STEM Education,2016,3(3): 2-8.

[12] 王滨. 基于项目教学法的小学创客教育课程教学设计与实践[D]. 西安:陕西师范大学,2018.

[13] 吴丽杰. 逻辑推理能力、空间能力对STEM学业表现的影响[D].上海:华东师范大学,2018.

[14] 高洁. 基于活动理论的网络学习活动设计[D]. 北京:首都师范大学,2012.

[15] 李静云. 职业学校计算机专业课项目教学模式的研究与实践[D]. 北京:首都师范大学,2006.

[16] 杨开城,杜立梅. 基于活动的教学设计理论中学习内容分析和活动设计方法的探究(续)[J]. 中国电化教育,2003,11(9):41-46.

[17] 丘维声. 用数学的思维方式教数学[J]. 中国大学教学,2015,5(1):9-14.

[18] 王媛媛. CSCL协同知识建构的影响因素与促进策略研究[D]. 北京:首都师范大学,2014.

(责任编辑:黄 健)

猜你喜欢

编程
编程,是一种态度
编程小能手
纺织机上诞生的编程
宏程序编程的几种应用
数据库中VB编程的应用