前言

最近国家政策导向,导致很多少儿教育行业迎来了寒冬,使得不少企业都快支撑不下去了,这也是国家对于校外少儿教育行业的规范化必经之路。我们今天不讲政策和形势,谈谈我对于少儿编程教育的一些认识。毕竟也在少儿教育行业中待了两年,给很多公司培训了大量的python讲师。至于编程教育的好坏,不予评论。

随着计算机和网络媒体的普及,驱使青少年逐渐走进计算机世界。现如今,人工智能、互联网+、大数据等技术的飞速发展与广泛应用,人工智能和编程教育已成为当前国内教育领域的热门话题。 同时也掀起了少儿学编程的热潮,期望通过编程游戏启蒙、可视化编程等课程去培养学生的计算思维和创新解难能力。

  • 当一项能力或素质,越来越受到社会(包括学校体系)认可时,家长就趋向于认为孩子越早培养越好。英语就是一个最好的例子。
  • 当然生活中确实有很多编程应用的例子,编程与生活应用场景息息相关。
  • 学习编程可以培养计算思维
  • 编程可以促进数学等其他学科的学习

一、当前少儿编程教育现状

编程教育需要考虑不同认知水平下学生的理解能力和接受能力的差异性,针对已经有较高认知水平和编程能力的高中生来说,编程教育应注重算法体验的多样化和程序读写的标准化能力培养,当前针对中小学编程教育所应用的平台有很多,例如:Logo、Scratch、C++、C语言、Java、Python等。其中小学阶段大多是可视化效果很强的Scratch和Logo为主。

到了高中阶段虽然仍延用上述两种语言,但是面对复杂的项目时,效果并不是很好,此时Python对高中生来说更为适合。在编程教育过程中,不仅可以对学生进行基本的专业技能培养,而且还在培养计算思维方面效果甚佳。计算思维培养需要从小学开始着手,中学时代培养,高中时代提升。对于编程教育而言,当前仍处于各个学段相分离状态,不符合未来学生发展趋势。

其实,编程教育可以补充当前中小学信息技术课程的不足, 满足不同学生的兴趣需求。python是一种简单强大的编程语言,借用它我们可以接触到更加高深的源码能量,在真实世界的大学里,python是包括麻省理工大学,哈佛大学。清华大学在内的许多计算机课程之一,举个例子,全球最大的视频网站,YouTube还有国内的知乎都是基于python开发的,python的代码简单好理解,有人计算过python写出的程序代码函数只相当于Java写出的代码函数的1/3,作为简单易用但功能强大的编程语言

对学习Python的学生而言, 算法是本门课的核心, 学生需要掌握一些常见的算法,如汉诺塔法、背包问题、贪心算法等,通过对算法的设计, 再根据算法进行编程。 特别注意此过程中错误排除环节, 在解决问题时,学生可以通过一门语言的学习对自己的算法进行不断优化。对比于国外,国内的少儿编程教育应该回归教育本身,注重编程学习的本质,注重计算思维的发展。

二、计算思维

1.计算思维的概念

2006 年美国卡梅隆大学周以真教授发表的《Computational Thinking》首次定义了计算思维是一种建立在计算机处理问题能力基础之上的,培养人类用计算解决复杂问题的思维方式。总结出计算思维具有概念化、根本的、是人的、数学和工程思维互补融合、是思想、面向所有人的。

2009 年邓宁和麦特卡菲在《超越计算思维》中提出计算思维在二十世纪中期被称为“算法思想”,在算法实践过程中帮助实现心智转换。在《科学中的计算思维》中再次强调计算思维包含于计算科学方法 。但是邓宁和麦特卡菲并未概述出计算思维的特点。

2011 年美国 ISTE(国际教育技术协会)和 CSTA(计算机科学教师协会)联合发布了计算思维操作性概念:计算思维是一个问题解决的过程,在问题解决过程中包括数据的收集、分析、表示三个步骤,通过对问题的算法设计并与现实资源形成最优的自动
化问题解决方案。概括计算思维的特点是数据整理、算法思想、问题解决自动化。

2016 年美国 CSTA 更新了计算思维定义把计算思维认作是一种可从计算机科学领域扩展到所有学科解决问题的方法论,为分析、研发、解决问题提供一种独特的思维方法。作为计算机科学这门课的核心元素,计算思维在问题求解过程中采用抽象、自动化、
分析三步走策略。

综上所述,随着计算思维定义的不断完善,特点也逐渐趋于统一。概括可以得出计算思维解决问题具有抽象、自动化、算法思想突出三个特点。

计算思维是一个有着诸多特点和要求的问题解决过程。
计算思维的基本要素:

  • 分解:把数据、过程或问题分解成更小的、易于管理或解决的部分
  • 模式识别:观察数据的模式、趋势和规律
  • 抽象:识别模式形成背后的一般原理
  • 算法开发:为解决某一类问题撰写一系列详细的指令

类比当前 STEM 教育提倡的多学科融合,在教育过程中要渗透科学(Science)、技术(Technology)、工程(Engineering)、
数学(Mathematics)等多学科知识。所以计算思维并非是单一的思维方式与技能,而是多元化的思维方法。

计算思维概念 学科领域应用
把问题分解为若干部分或步骤 文学:通过对韵律、韵文、意象、结构、语气、措词与含义的分析来分析诗歌
识别并发现模式或趋势 经济:寻找国家经济增长和下降的循环模式
开发解决问或任务步骤的指令 烹饪艺术:撰写供他人使用的菜谱
把模式和趋势归纳至规则、原理或见解中 数学:找出二阶多项式分解解法;化学:找出化学键(类型)及相互作用的规律

在左列中,所有技能都是计算思维涉及的技能或概念。而在右列,这些技能被应用到文学、经济、烹饪艺术和音乐中。就本质来说,计算思维是计算机科学家的基本技能和思维方式。然而你可以将它应用在你所教授的学科领域或主题,甚至是任何学科领域或主题。并且,你可以在设计流程或算法以解决问题过程中,随时应用这些思维技巧。

你可能会注意到课程中包含了程序设计的内容。计算思维并不囿于使用某一种编程语言,然而编程其实是一种很好的观察问题解决方式的途径。编写代码既不是编程学习的学习目标,更不应该是我们对少儿编程教育的错误认知。

编程的初衷是利用计算机的优势帮助人类解决实际生活问题,通过特定的计算机语言进行人机交互。

计算思维基本能力点:

计算思维基本能力点 表现
抽象 将现实问题转换为计算机可以识别的模型化问题
归纳 归纳整理资源并进行整合
分解 划分到具体功能分区的模块化问题,进行再分解,落实到语法、字符上
建模 将抽象后的问题整理后进行数学建模
算法设计 建立好的数学模型嵌入到算法流程图中
编码 将建立好的数学模型转化成计算机可以识别的机器语言

2.python与计算思维

结合python构建新的计算思维的培养目标。

计算思维 课程目标
计算观念 情感态度与价值关
计算实践 过程与方法目标
计算概念 知识和技能目标


在学习过程中按照学习新知的顺序结构从知识技能目标,到过程与方法目标,再到情感态度与价值观目标。但是在新课讲授后,知识之间的联系是互相影响的。彼此之间没有固定的顺序,可以通过特定的媒介进行关联与交换,在这里计算思维的内容、活动过程、目的(解决问题),通过思维理论的基础、进行计算思维解决问题过程的设计(过程、目的(解决问题),通过思维理论的基础、进行计算思维解决问题过程的设计(问题抽象、情况分解、数学建模、迭代运算、自动化处理)最终达到解决问题的这一计算概念。

总结

编程教育是将程序设计和算法结合到教育中的产物,是对知识传授的具体操作流程。当前中小学阶段的编程教育大多以积木搭建的方式为主,通过对编程的操作顺序和流程的熟悉,进而激发学生的学习兴趣。到了高中阶段学生的认知能力较之前有大幅度提高,所以编程的学习不可仅停留在“搭积木”式的学习形式上。利用 Python 语言可以大大的激发学生的创造力,培养学生的创新思维、计算思维和算法思想。更适合在高中阶段进行编程教学,同时也可为大学的计算机知识学习打下良好的基础。

下面是一些教育机构整理的学习编程的好处,仅供参考。

学习编程的好处
成人世界的编程,注重的是学习一项技能,那少儿编程注重的是通过编程的学习,培养孩子逻辑思维、计算思维和创新解难的能力。

  1. 强化逻辑思考力。
    写程序最重要的就是如何把大问题不断分割成小问题的过程,其中,小孩必须去思考如何把代码合理的安排在整个程序中,才能让程序流畅的处理输入、演算、直到输出,这对孩子对事物的逻辑分析能力会有极大的提升。

  2. 培养小孩专注细心。
    除错,是每个写程序的人必经的事,不论大人小孩都没有例外。有时候只是少打了一个等号,或是在某一行的行尾少加了一个分号,就会造成程序大乱,更别说还有逻辑上分析问题时却忽略掉某种状况的陷阱。所以,在学习写程式除错的过程中,是绝对无法得过且过,能有效改正小孩马虎行事的毛病,避免当个差不多先生。

  3. 提升孩子的创造力。
    编程提升创造力,帮助孩子跳出思维定式。根据调查研究,孩子在15岁后便会形成思维定式,如果他们在此前从未有过发挥独一无二的创造力的机会,将来不管遇到什么样挑战,大脑会惯性地自告诉他们,这件事是无能为力的,孩子的人生从此变得平庸。然而编程的过程“就像艺术一样在创作”,孩子们会享受到创造的乐趣。

  4. 学科知识融会贯通,提升学习能力。
    我们的编程知识融合了不同的学科知识,能够让孩子从不同的角度去理解和认识编程和学科知识,打破编程和学科知识的壁垒,提升孩子的学习理解能力。

  5. 让孩子不再沉迷于打游戏。
    科技飞速发展对人们生活最直接的影响就是:手机。现在,手机是每个人的必备品,孩子也不例外。但是,这就面临很大的隐患:孩子有了手机可以更好的联系,但是手机里有各种游戏,会影响孩子的学习,甚至会沉迷于游戏。面对这样的困扰,很多家长表示心有余而力不足。但是,编程可以让孩子将对游戏的沉迷转换为对游戏开发的探索。孩子可以参与游戏的开发设计,为游戏编程,从而对游戏有一个全新的认识。

  6. 提升国际性的沟通能力、竞争力。
    显而易见,现在哪一门行业不用电脑?哪一个行业可以完全不需要接触电脑?如同先前提过的,电脑语言,已然成为一个重要的沟通工具,不但是跟电脑沟通,还有跟所有运用电脑的人沟通。小孩在幼时接触的环境,往往跟以后的发展有极大的关联性,如果不想跟世界脱轨,尽早让他了解所谓的编写程序,或是了解编程是怎么一回事将会是他们面对国际竞争时有力的武器。

  7. 学习团队合作,学会共同学习。
    在适当的教学课程设计之下,学写程式就像玩游戏破关一样,同学彼此讨论「破关攻略」,你不会?我教你;我卡关,你帮忙。同时在互动之中增进情谊,也学到如何用团队力量解决问题。比起老师在台上单方向的讲课,同学之间的研究,将让学习效率大大提高。

  8. 训练空间思考能力。
    在编程控制游戏人物的过程中,是训练空间思考能力一个很棒的方式。小孩仿佛自己就是在高低起伏中,寻找迷宫出口的那个游戏角色,手脑一同运转起舞,左转、右转、跳上、跳下,置身于程式的世界中,在游戏之中学习,明白方向感以及立体的空间感。

  9. 增进解决问题能力。
    面对一道道关卡的挑战,小孩会不停的利用手边学到的资源、程序,试着达成破关的目的而不断的动脑。一旦养成这样的习惯,在碰到生活中或是其他课业上的问题时,自然也会试着自己解决,而不是一句话交给爸妈去处理。父母只要给予适当的工具,让小孩自己动手动脑完成。

  10. 更好地表达内心所想。
    孩子内心所想以及个人的性格,家长可以从他们的日常行为观察出来,当然,也可以通过孩子们的作品表现出来。

  11. 可以轻松学习枯燥的学科知识。
    在设计、搭建的整个过程中,运行时有许多要修改的地方:首先,作品结构,这里需要用到相关的物理结构知识,数学逻辑思维,坐标系,语文人文知识以及科学等等,能够通过丰富的课堂内容让孩子们在“玩“的同时轻松就掌握。

  12. 增强自我成就感。
    通过学习编程,能够独立的并完成精美的作品,在未学习之前是孩子想也不敢想的,但是通过反复的实践学习,孩子能够成功的完成属于自己的作品,并成功实现预想的功能,对于孩子来说一定特别有成就感,孩子的自信心得到很大的提升。

为什么学Python
编程不等于敲代码
编程是一种理性认知并表达世界的语言,学习编程不仅可以帮助孩子理解计算机,更能用其中的逻辑指导学习生活的各方面,成为有思维条理、有独立判断、有探索能力的真正创作者。
编程语言
python是一种简单强大的编程语言,借用它我们可以接触到更加高深的源码能量,在真实世界的大学里,python是包括麻省理工大学,哈佛大学。清华大学在内的许多计算机课程之一,举个例子,全球最大的视频网站,YouTube还有国内的知乎都是基于python开发的,python的代码简单好理解,有人计算过python写出的程序代码函数只相当于Java写出的代码函数的1/3,作为简单易用但功能强大的编程语言,python有两种语言版本,python2和python3.python2支持扩展数多,历史悠久。

在源码世界里,我们看到的名字,图片,音频,视频等,都是以数据的形式存在的,而一个程序就像一个加工厂,原材料从加工厂入口被输入,经过一系列的加工步骤变成最终的产品,在加工厂的出口被输出。

少儿编程教育好不好---《浅谈青少儿编程教育与计算思维》相关推荐

  1. python编写函数_浅谈Python 函数式编程

    匿名函数lambda表达式 什么是匿名函数? 匿名函数,顾名思义就是没有名字的函数,在程序中不用使用 def 进行定义,可以直接使用 lambda 关键字编写简单的代码逻辑.lambda 本质上是一个 ...

  2. python采用函数编程模式_浅谈Python 函数式编程

    匿名函数lambda表达式 什么是匿名函数? 匿名函数,顾名思义就是没有名字的函数,在程序中不用使用 def 进行定义,可以直接使用 lambda 关键字编写简单的代码逻辑.lambda 本质上是一个 ...

  3. python采用函数式编程模式-浅谈Python 函数式编程

    匿名函数lambda表达式 什么是匿名函数? 匿名函数,顾名思义就是没有名字的函数,在程序中不用使用 def 进行定义,可以直接使用 lambda 关键字编写简单的代码逻辑.lambda 本质上是一个 ...

  4. 美国计算机教育方向相关的论文题目,浅谈美国大学计算机教育论文

    浅谈美国大学计算机教育论文 1教育理念 美国大学的计算机教育鼓励学生靠大量阅读.多做实验而不是靠死记硬背来积累知识.由于人类的记忆.精力和喜好都具有局限性,美国大学的计算机教育是把广博的知识教给学生, ...

  5. 浅谈对java编程思想的理解

    浅谈对java编程思想的理解 刚从学校毕业的时候,对于这种概念的理解少之又少 ,只是单纯的从事编码工作,理解也只是停留在对java基本概念的使用上,很局限!随后工作了快三年的时间里,自己不断的理解这种 ...

  6. 计算机科学技术的教育应用论文,浅谈计算机科学技术在计算机教学中的应用论文...

    计算机科学,研究计算机及其周围各种现象和规律的科学,亦即研究计算机系统结构.程序系统(即软件).人工智能以及计算本身的性质和问题的学科.计算机科学是一门包含各种各样与计算和信息处理相关主题的系统学科, ...

  7. 浅谈 Windows API 编程

    原文地址:http://blog.sina.com.cn/s/blog_46d85b2a01010qpt.html http://blog.sina.com.cn/s/articlelist_1188 ...

  8. 美育在计算机教育中应用,浅谈在小学信息技术课堂中有效实施美育.

    <浅谈在小学信息技术课堂中有效实施美育.>由会员分享,可在线阅读,更多相关<浅谈在小学信息技术课堂中有效实施美育.(9页珍藏版)>请在人人文库网上搜索. 1.北京市第七届京美杯 ...

  9. 浅谈计算机科学与现代教育技术,现代教育技术浅谈论文

    正确.充分地认识现代教育技术在促进教育变革方面的作用和功能,有利于进一步推动教育技术在教学实践中的应用,有利于推进教育教学改革的深入发展.下面是学习啦小编给大家推荐的现代教育技术浅谈论文,希望大家喜欢 ...

最新文章

  1. win10电脑插耳机没声音_Win10如何录制电脑内部播放的声音
  2. 远程连接CentOS的MySQL报错:Can't connect to MySQL server on 'XXX' (13)
  3. oracle exacc,【学习笔记】Oracle 11GR2新特性Adaptive Cursor Sharing(ACS)
  4. angularjs 表单验证 和 页面初始化闪烁
  5. 分享一些方便实用的素材网站
  6. 免费硬件、万元奖池、百度内推,AI达人创造营邀你出战!
  7. 中兴恢复产能还需数周;前苹果工程师已获保释;iPhone再现爆炸门 | 极客头条...
  8. pytorch 方法笔记
  9. 逻辑斯蒂回归模型为什么用sigmoid函数
  10. win10连接计算机,win10怎么连接局域网打印机
  11. 关于mscorsvw.exe
  12. 哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较
  13. layui个人中心html,Layui的简易入门教程
  14. ESP8266-D1 mini-V2 认识
  15. windows下hadoop安装时出现error Couldn‘t find a package.json file in “D:\\hadoop\hadoop-2.7.7\\sbin“问题
  16. no input file specified 三种解决办法
  17. easyUI 提交按钮linkbutton失效和恢复设置
  18. 中国量子计算机应用普及,郭光灿院士专访:量子产业全梳理,15年后量子计算机或可普及...
  19. arcgis Card Conversion Tools(数据转换工具介绍)
  20. 深圳市劳动仲裁案立案及保全

热门文章

  1. 肖特基二极管型号大全之ASEMI肖特基常见型号
  2. 二十世纪的逻辑和哲学
  3. c++ 多重继承,an ambiguous base of
  4. css如何利用transparent属性设置透明度?transparent属性绘制各种三角形
  5. 复制移动文件时对于目标文件系统过大的问题解决
  6. SQL语法之AND OR 运算符
  7. 数据仓库维度建模——事实表设计
  8. 人脸识别发展历史介绍 by 山世光
  9. Winform最基础的DBHelper类
  10. 史上z..zui难回答的26个问题(2)