热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

计算机编程好难啊,揭秘|为什么我们觉得编程好难?

原标题:揭秘|为什么我们觉得编程好难?编程真的好难呀,孩子真能学会吗?家长常问的这句话翻译一下就是:我一个成人

原标题:揭秘|为什么我们觉得编程好难?

编程真的好难呀,孩子真能学会吗?

家长常问的这句话翻译一下就是:我一个成人人都觉得编程难,小孩子恐怕更学不会吧。

今天就来聊聊,为什么我们会觉得编程难?是真的所有人都觉得难吗?

01没有接受过解决问题的训练

在我们这一代之前,所有人受到的教育都是应试教育,终极目的只有一个:考取理想的学校。每一张张考卷都是一个个堆砌起来的知识点:三角函数,解析几何,数列,函数…...

daa733043b77666f8d59e20cf1f53e6a.png

这么多知识点,很多时候都是死记硬背,或者说的更高级一点,理解它们。

即便是强调思辨和分析的“文科类”,靠背诵答题模板拿分更容易,就连高分作文都要有标准的框架。

可以说我们是非常擅长理解和记忆的,套公式就是小case。

7ee0bb28a45d275a394163048a20b134.png

但我们熟悉的这一切,到了学编程这里,统统都不奏效了。所以我们觉得很难。

要知道编程的核心,不是编程,不是语法,甚至不是算法或数据结构本身,恰恰是如何分解问题——发现规律建立解决问题模型,映射到合适的数据结构和算法上,最后才根据算法写程序实现。

11ac078da9b1c13886f8d080f2eb0812.png

而在我们接受的应试教育中缺乏的恰恰就是发现问题、解决问题的思维。

举个例子:我想喝咖啡,那我可以请求你:“可以帮我倒杯咖啡吗?”

但这句话如果想让电脑听懂,我得先告诉它哪个是“杯子”、哪个是“咖啡”、什么是“倒”,然后再告诉它怎么去倒,比如先直走5米,左转75度,左臂下放50度……

bd3c9098e08fc3ea0d460ef81260824d.png

编程,是找出解决方法的能力,把现实问题转换为代码逻辑的能力。只有认清这一点,才能更好地攻克它。

02没有学过创造,创新力缺乏

因为填鸭式的教学,我们大部分人的思维都是固定的,完全没法用所学的知识创造出任何东西来。

而编程则极需要创造力。

352adc2bf707b340690591bca7e6d309.png

因为没有“题型”和“公式”能把你解决问题的过程简化成填空,编程提出的问题基本都是空而泛,需要根据脑子里的逻辑推断,利用所学编程语言的各项功能组织成代码,来解决问题。

这种情况下,我们只有保持“实验者心态”,不断探索自己的想法,质疑自己的假设,从所犯错误中学习宝贵的经验,才能在编程的魔法世界中得到更多宝藏。

03没有“知识共同体”,无法深刻了解世界

学编程,往往学的也不仅仅是计算机本身,而是将各行各业,结构力学,生物细胞,光学声学……等千百万个行业,抓住它们的重点,迅速理解并且教给CPU,让它代替人类工作。

0248fad4c3692f740401243bcb271a30.png

而课堂的学科则为了实现教学效益化划分生物、物理、化学、历史.....仿佛每个知识只存在于真空中,与外界事物毫无关联。

这些划分限制了学生的理解,对世间万物运行规律的理解产生了偏差。

但其实整个世界都是相互关联、依存、影响。

而编程世界是真实世界的缩影,我们之所以觉得难,其实是因为我们丧失了独立并深入探究知识细节的能力,而计算机是不允许我们冠以笼统的态度求知,因为计算机听不懂模棱两可的语言。

那么我们大人都觉得难的编程

孩子也觉得难吗?

当然不是!

1.孩子们的教育方式已经逐渐改变。

根据《2019年STEAM教育(机器人教育)行业分析报告》80%的家长愿意为孩子选报素质教育课程;其中科创类(包括STEAM教育、创客教育、少儿编程教育等)受到62%的家长欢迎。

f6e4377311dfed1d97a6ed757203be42.png

我国也不断发布关于发展人工智能的各项政策,人工智能教育也呈现出蓬勃发展之势,编程人才也是国家未来人才培养的重点。

2.少儿编程的学习是分阶段,循序渐进的

孩子学习的少儿编程是根据年龄阶段进行学习的,伴随着孩子的认知水平不断进阶,绝对是孩子可以攻克的。

e3244b0d1f6c72494949e0b2a45ca105.png

所以,并不是编程难,而是对于我们这部分思维固化的大人来说难。

"学以致考"和"学以致用"不一样

记忆和创造不一样

学好学科和理解世界不一样

我们家长遇到的真正难题是如何教才能发挥孩子的个性,才能长成更好的少年。

03c61548b7f587535885c7308f20c3a2.png

别再觉得编程难了

快带孩子学起来吧!

早学早培养

【逻辑思维、创造能力、跨学科理解力】返回搜狐,查看更多

责任编辑:



推荐阅读
  • 智能车间调度研究进展
    本文综述了基于强化学习的智能车间调度策略,探讨了车间调度问题在资源有限条件下的优化方法。通过数学规划、智能算法和强化学习等手段,解决了作业车间、流水车间和加工车间中的静态与动态调度挑战。重点讨论了不同场景下的求解方法及其应用前景。 ... [详细]
  • 华为智慧屏:超越屏幕尺寸的智能进化
    继全球发布后,华为智慧屏于9月26日在上海正式亮相,推出65英寸和75英寸版本。该产品不仅在屏幕尺寸上有所突破,更在性能和智能化方面实现了显著提升。 ... [详细]
  • 深入理解Java多线程并发处理:基础与实践
    本文探讨了Java中的多线程并发处理机制,从基本概念到实际应用,帮助读者全面理解并掌握多线程编程技巧。通过实例解析和理论阐述,确保初学者也能轻松入门。 ... [详细]
  • 本文详细介绍如何使用 Apache Spark 执行基本任务,包括启动 Spark Shell、运行示例程序以及编写简单的 WordCount 程序。同时提供了参数配置的注意事项和优化建议。 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • 历经三十年的开发,Mathematica 已成为技术计算领域的标杆,为全球的技术创新者、教育工作者、学生及其他用户提供了一个领先的计算平台。最新版本 Mathematica 12.3.1 增加了多项核心语言、数学计算、可视化和图形处理的新功能。 ... [详细]
  • 本文总结了优化代码可读性的核心原则与技巧,通过合理的变量命名、函数和对象的结构化组织,以及遵循一致性等方法,帮助开发者编写更易读、维护性更高的代码。 ... [详细]
  • 本文详细探讨了如何通过分析单个或多个线程在瓶颈情况下的表现,来了解处理器资源的消耗。无论是单进程还是多进程环境,监控关键指标如线程数量、占用时间及调度优先级等,有助于揭示潜在的性能问题。 ... [详细]
  • 本文回顾了2017年的转型和2018年的收获,分享了几家知名互联网公司提供的工作机会及面试体验。 ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • Python 工具推荐 | PyHubWeekly 第二十一期:提升命令行体验的五大工具
    本期 PyHubWeekly 为大家精选了 GitHub 上五个优秀的 Python 工具,涵盖金融数据可视化、终端美化、国际化支持、图像增强和远程 Shell 环境配置。欢迎关注并参与项目。 ... [详细]
  • vivo Y5s配备了联发科Helio P65八核处理器,这款处理器采用12纳米工艺制造,具备两颗高性能Cortex-A75核心和六颗高效能Cortex-A55核心。此外,它还集成了先进的图像处理单元和语音唤醒功能,为用户提供卓越的性能体验。 ... [详细]
  • 本文介绍了如何在PHP Magento模型中自定义主键,避免使用默认的自动递增主键,并提供了解决方案和代码示例。 ... [详细]
  • 对于许多初学者而言,遇到总线错误(bus error)或段错误(segmentation fault/core dump)是极其令人困扰的。本文详细探讨了这两种错误的成因、表现形式及解决方法,并提供了实用的调试技巧。 ... [详细]
  • 本文详细介绍了Java中实现异步调用的多种方式,包括线程创建、Future接口、CompletableFuture类以及Spring框架的@Async注解。通过代码示例和深入解析,帮助读者理解并掌握这些技术。 ... [详细]
author-avatar
caozhengweile_854
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有