APP下载

从语句编译到算法设计

2018-10-16李延飞

学周刊 2018年30期
关键词:计算思维核心素养

李延飞

摘 要:以云计算、下一代通信技术、区块链为代表的新一代技术逐步融入到日常生活中,变革了当今社会。通信与计算产业的发展需要大量从事计算产业的人才。计算思维以其表征学习者的算法理解与设计能力纳入到信息技术课程的核心素养之一,被视为学习者掌握计算机应用能力的重要因素,得到了广泛关注。经过梳理,学习者计算思维的发展需经历语句编译,程序理解、算法设计三个阶段。如何对三个阶段中课程、教学、评价三者进行界定是推动学习者计算思维形成的关键。

关键词:计算思维;核心素养;信息技术课程与教学论

中图分类号:G63 文献标识码:A 文章编号:1673-9132(2018)30-0179-02

DOI:10.16657/j.cnki.issn1673-9132.2018.30.112

一、 计算思维本体论:概念与内涵

计算思维由来已久。2006年3月,周以真教授在美国提出了计算思维这一概念[1]。计算思维表现在形式化、模型化、系统化、自动化这四个主要方面[2]。而对于计算思维的意蕴,更是从不同视角进行概念的界定[3];计算思维与问题解决能力、创新能力的培养也紧密相关[4]。

不同研究者针对计算思维的教学方法进行了大量尝试:如阶梯式的教学方法[5],牟琴[6]等提出了探究式、自主式等教学模式。美中不足的是,以上研究均以大学生为教学对象,对于高中信息技术教师而言,高中生的认知结构和学习状态同大学生存在较大差异,部分教学方式难以行之有效。

综合以上文献,计算思维的形成是一个动态变化的过程,学习者需要经历不同的阶段,在不同的阶段中课程、教学、评价和关键特征应当如何判断和把握却少有研究,出现一定程度的理论空白,难以指导一线教师进行面向计算思维形成的信息技术教学。

二、 计算思维发展现状:信息技术课程改革的契机与存在的问题

始于2015年的信息技术新一轮改革将计算思维纳入信息技术学科的核心素养之一[7],由始计算思维在教师和教育研究者中引起了关注,形成了新一轮的研究热潮。有研究认为,计算思维蕴于信息技术课程之中[8],其形式化、系统化的理念与信息技术课程组织不谋而合。李峰[9]等认为,计算思维是信息技术课程的内在价值之一。信息技术课程中的诸多模块都彰显了计算思维的价值,但是《算法与程序设计》模块对于学习者计算思维的培养极为明显,同时是计算思维中“计算”概念发展的源头。从算法与程序设计模块入手,选择计算机语言教学作为学习者计算思维形成的突破口,更加直截了当也富有成效。面向计算思维的信息技术课程难以真正得以实行,在教学中存在一些不容忽视的问题。

经过计算机科学与技术的长久发展,计算机语言的种类繁多。目前,常用的有C、C++、C#、Java、Python等数十种语言,经过本土化的发展,更衍生出啊哈C、易语言等亚种。信息技术课程在初中及以下阶段往往由各市进行课程标准制定、教材的编写,缺乏统筹的规划,造成了各地区信息技术课程选择的语言大相径庭、课程的难度和深度不尽相同。部分学校仅学习变量的声明和运算符,而在一些经济发达地区的学校更注重创客教育,教授学生利用函数库进行开源硬件开发。二者的差距不可同日而语。

基于此,对于旨在计算思维形成的信息技术教学应当从课程建设、活动设计、评价策略三方面着手,观察学习者的认知结构和学习活动表征,逐步将计算思维的培养引向深入,重新认识计算思维的内涵和价值,对学习者计算思维的形成过程画像,在课堂教学和活动实践中根据不同发展阶段引导学习者形成计算思维。

三、 语句编译:理解程序语言的基本语法

语句编译阶段是计算思维形成的初始阶段。在这一阶段中,学习者接触到最基本的变量、运算符、基本的输入输出函数等,并尝试写出简单的语句。语句编译阶段映射到信息技术课程中主要包括以下几点:

(1)认识基本的变量类型(如整型、浮点型、字符型、布尔型等),声明并定义变量;

(2)对变量进行赋值;

(3)使用一些运算符对变量的值进行运算;

(4)通过在程序中添加输入函数,允许用户自定义某些变量的值;

(5)使用输出函数,输出某些字符和变量的值。

通过对一些计算机语言课程的总结,可以得出多数计算机语言课程都包含以上几点,而教师也往往采用讲解、复述基本概念,上机展示操作,鼓励学生模仿教师操作等形式实施课程。应当看到,这一类教学方式往往行之有效,取得了一定的教学效果,学生能写出一些语句,并且多数能完成“Hello World!”程序案例。基本概念的掌握是完成高阶程序设计的开端,机械记忆和反复练习卓有成效。

四、 程序理解:理解程序的意义与结构

学习者从认识三种基本的程序结构开始,跳出语句的局限性,一窥程序设计这一复杂系统的局部。学习者能以观察流程图的方式了解程序是如何运行的。对于函数,更是要求学习者充分理解程序运行方式后,使用外部函数(调用)、综合运用多个不同的函数(嵌套)、重复运行函数(递归)、以简化程序篇幅为目的写出多次使用的程序片段(自定义函数)等多种工具解决问题。

这一阶段教学的关键是程序理解。程序理解包含两个方面:一方面是学习者充分理解程序运行的顺序,表现为阅读程序能代替编译器得出运算结果;另一方面是作为程序设计者发挥自身的推理能力,得出程序设计的意图和各变量的作用,体现了计算思维中形式化的思想——学习者能了解计算机能做什么、哪些问题是计算机可处理的。

五、 算法设计:设计算法解决实际问题

在充分学习基本的语句语法规则,理解程序运行基本逻辑后,进行算法设计的讲解就顺理成章了。以往课程对于算法和语言的逻辑顺序的安排不尽合理:往往是先总结出什么是算法、算法的特点,再进一步进行具体语言的学习。这样的课程逻辑顺序与计算思维的形成路径相反,学习者在学习过程中难以从语言的特殊性进一步升华得出算法的一般性。与此同时,枚举、解析、查找、排序等算法脱离具体语言也难以向学习者表述。同时,四种基本算法具有普适性,能夠处理大多数现实问题,为学习者提供了可参考的外部模型,实现了计算思维要求的模型化的特点。

参考文献:

[1] 谢忠新,曹杨璐.中小学信息技术学科学生计算思维培养的策略与方法[J].中国电化教育,2015(11):116.

[2] 解月光,杨鑫,付海东.高中学生信息技术学科核心素养的描述与分级[J].中国电化教育,2017(5):8.

[3] 于颖,周东岱,于伟.计算思维的意蕴解析与结构建构[J].现代教育技术,2017(5):60.

[4] 李艳坤,高铁刚.基于思维视角的计算思维综合解读[J].现代教育技术,2017(1):68.

[5] 鲍宇,孟凡荣,张艳群.“阶梯式”引导的计算思维自主养成模式[J].电化教育研究,2015(6):87.

[6] 牟琴,谭良,周雄峻.基于计算思维的任务驱动式教学模式的研究[J].现代教育技术,2011(6):44.

[7] 李锋,赵健.高中信息技术课程标准修订:理念与内容[J].中国电化教育,2016(12):4.

[8] 张学军,郭梦婷,李华.高中信息技术课程蕴含的计算思维分析[J].电化教育研究,2015(8):80.

[9] 李锋,王吉庆.计算思维:信息技术课程的一种内在价值[J].中国电化教育,2013(8):19.

[责任编辑 杜建立]

猜你喜欢

计算思维核心素养
思想教育视域下公民核心素养教育的研究
基于计算思维的软件类研究生高级算法课程教学研究
基于计算思维程序设计的军事案例研究
程序设计课程中计算思维和应用能力培养问题研究
如何培养学生的化学核心素养