一直以来,计算机仅仅被看作是高科技工具,计算机科学技术被认定为工具学科和辅助学科。这种狭隘的认知对信息化普及和智能化升级,是极为不利的认知障碍。
计算思维是每个人的基本技能
计算机专业及其相关方向,已经成为高等院校中招生规模最大的学科,本科以上的计算机教育已经非常成熟。然而,在青少年阶段就加入编程的信息技术课程,不仅在我国还处于摸索阶段,放眼全球,英国和美国也是在2016年以后刚刚开始尝试推行,目前还没有可以借鉴的成熟经验。
中国科学院计算技术研究所的李国杰院士,是国际上最早开始倡导培养计算思维的科学家之一。早在2009年他就提出:计算思维运用计算机科学的基础概念求解问题、设计系统和理解人类行为,它选择合适的方式陈述一个问题、对一个问题的相关方面建模,并用最有效的办法实现问题求解。计算机科学本质上源自数学思维和工程思维。然而,计算思维远远不只是为计算机编程,它是抽象的多个层次上的思维,与“读写能力”一样,是人类的基本思维方式。培养孩子们解析能力时,不仅要求其学会阅读、写作和算术,还要学会计算思维。
中国科学院计算技术研究所所长孙凝晖院士认为,计算思维是每个人的基本技能,今后每个人都需要具备和掌握“编程”能力,因为未来的万物互联时代,人、机、物共存,人与计算机的交流也就是编程,将是基本素质要求。
孙凝晖院士说:计算机的贡献可以突破人类自身智慧的限制,解决之前无法尝试的问题。一直以来,计算机仅仅被看作是高科技工具,计算机科学技术被认定为工具学科和辅助学科。这种狭隘的认知对信息化普及和智能化升级,是极为不利的认知障碍。信息技术是当今社会必需的普适资源,人才的培养和信息素养的提升,关系到国家兴盛。
应加快普及青少年编程教育
青少年学习编程其实不是简单地学习如何编写代码,而是学习计算机语言背后蕴含着复杂多变的逻辑运算、计算思维,进而培养出良好的逻辑思维的能力,通过学习编程达到思维训练的目的,培养孩子的创造性思维,为成为人工智能时代人才打下基础。
青少年编程教育的核心目标应该是培养学生的计算思维,以此锻炼学生的创新能力。通过编程教育可以训练学生提出问题、解决问题的能力,与传统教育模式进行有效的互补。通过学生更多的实践活动,激发和培养他们的创造力,逐步解决我国创新能力不足的问题。
青少年编程教育并非简单地学习一两门编程语言,学习编程和学习一门“外语”不一样。编程更重要的是思维的锻炼,计算思维,可以提高人的逻辑思维、发散思维、批判性思维能力,还能培养善于思考、勤于观察、慎于实践的良好习惯。编程语言的基本语法很容易了解,但熟悉编程语言的规则不代表能编写出程序,编程语言只是利用计算机解决问题的工具。学习的难点不在于工具掌握,而在于能否用工具完成实际的工作任务。
对于青少年来说,适合的教学工具是推行编程教育要解决的第一个问题。美国的麻省理工学院很早就推出了适合编程入门学习的编程语言LOGO,但因其对孩子来说有些晦涩难懂。2008年推出的Scratch,通过图形化的操作,方便9岁以上的孩子理解和掌握,现在已经取得了非常大的影响力。Google公司开发的开源软件Blockly,更是将这种积木块状的可视化编程风格移植到多种编程语言之上,进一步推动了编程教育的普及。
将编程理念结合到玩具中,促生了很多编程机器人产品,其中影响力最大的就是乐高的教育机器人系列。孩子们接触这些编程机器人,可培养最基础的程序结构概念和启蒙朴素的编程思维。
加快普及青少年编程教育,建立良性生态环境,还需要教育主管部门、学校、科研机构、培训机构等社会各界的大力支持和投入,让孩子们掌握一门与未来世界沟通的语言,更是为了培养孩子们的计算思维和创新能力。(下)
(作者系中国科学院计算技术研究所大数据研究院院长、研究员、博士生导师,国家科技进步奖获得者)