儿童编程教学

尚无读者喜欢此文。
Girl reaching out to the stars

Opensource.com

编码是未来的语言,它有能力创造和修改日益塑造我们日常生活的计算机程序和网站。在美国,数百万人每天花费数小时与互动技术互动,但很少有人真正了解它们是如何工作的;更少的人积极参与开发软件和网站。

尽管如此,一些组织正在倡导做更多的工作来教年轻人学习计算机编程和编码。年轻一代出生在智能手机应用和几乎无处不在的互联网接入的时代,他们往往比他们的父母和祖父母更热衷于使用新技术,这已不是什么秘密。这里的关键词是“使用”技术,而不是创建新程序和重新构想现有流程。

今天的孩子们往往是被动地消费私营公司为盈利而创建的软件和网页。根据编程倡导组织 Code.org 的全国性研究,目前美国只有十分之一的学校教孩子们编程。如果学龄儿童想学习如何自己编程,通常是出于他们自己的主动性,并且在他们自己的时间里进行。最近的证据表明,目前学习编程的学生人数不足可能会在不久的将来成为一个严重的经济问题。

Code.org 声称,计算机编程工作的增长速度是全国平均水平的两倍,而只有不到 2.4% 的大学生毕业于计算机科学专业——比 10 年前还少。美国劳工统计局估计,到 2020 年,美国将创造 140 万个与计算机科学相关领域的工作岗位。如果目前的趋势继续下去,具备必要技能和经验的美国公民将只能填补其中 30% 的工作岗位。

这意味着美国公司将被迫将有价值的编码工作外包给印度、中国、东欧和其他 IT 行业蓬勃发展的国家,而数百万美国人仍然失业或陷于低技能、低工资的职位。那么,美国可以做些什么来解决这个问题呢?奥巴马总统在他最新的国情咨文中发出了“重新设计美国高中以适应高科技经济的需求”的新挑战,重点是 STEM(科学、技术、工程和数学)课程,并促进与大学和雇主建立伙伴关系。

甚至在高中之前就推广对 STEM 学科的关注,尤其是编码,可能会有优势。在 Code.org 最近发布的一段视频中,包括比尔·盖茨、Facebook 的马克·扎克伯格和黑眼豆豆乐队的 Will.i.am 在内的许多著名技术倡导者建议将计算机科学融入 K-12 课程,努力使该学科具有互动性和趣味性,方法是使用简单的编程语言,最初侧重于游戏设计。

Several 独立团体正在寻求帮助解决美国在计算机素养方面的不足。全国各地的小学教师都在使用 Logo 程序,该程序最初由 Seymour Papert 在 1960 年代开发,并以四种语言在网上免费提供,通过指示一只乌龟在计算机化的网格上移动来教孩子们编码的基础知识。

麻省理工学院的工程师开发了一种名为 Scratch 的基础编程语言,向初学者介绍编码概念。像 Code For America 这样的进步非营利组织试图将来自私营部门的经验丰富的程序员带到薪酬较低的政府职位,以努力简化运营并将技术知识融入公共部门。

国外政府和私营组织也在拥抱早期编码教育的需求。在爱沙尼亚,这个仅有 130 万人口的国家是世界上首批实现电子政务的国家之一,一个名为 ProgeTiiger 的公私合作伙伴关系将投入 7 万欧元,用于一项旨在教 7-19 岁学童编码的计划。试点计划将包括课程材料和教师的专门培训,并探索将编程概念与数学和逻辑等传统学科联系起来的方法。

在英国,计算机制造商戴尔已与英国倡议 Apps for Good 合作,派遣志愿者到学校,帮助学生开发自己的智能手机应用程序来解决常见问题。一个名为 Code Club 的非营利组织运营着一个由专业软件开发人员运营的课后俱乐部网络,该网络利用同伴之间的学习,学生之间保持联系并继续分享信息和想法。

在美国和国外,儿童编程教学的好处不仅仅限于纯粹的经济考量。儿童的个人和职业生活将日益受到计算机程序的影响。如果没有编码能力,他们将成为技术巨头程序员摆布下的被动消费者,无法构建或有意义地与围绕他们的虚拟现实互动。像任何语言或技能一样,编码能力和热情最好在早年培养。通过将计算机和网络编程纳入公共教育系统,美国不仅有望在经济竞争力方面受益,而且有望在公民的整体生活质量方面受益。

标签
User profile image.
Rebecca 是美国大学国际关系硕士课程的数字战略家。她也是一家嘻哈博客的新闻编辑。工作之余,Rebecca 喜欢骑自行车、滑雪和烹饪。在 Twitter 上关注她!

10 条评论

我以前看过这个视频,无论如何,很棒的文章,恭喜!:)

以克伦神之名,不!让政府远离它!

啊,那些令人兴奋的昔日时光,BYTE 杂志上有 BASIC 代码单行竞赛。

有趣的是,30 年前我从法国政府那里听到了同样的誓言......花费了数百万甚至数十亿美元,为大多数法国学校配备了品牌“新”的基于 6809 的计算机(6809 是/曾经是一个缓慢的 8 位 MCU),早在 1985 年到达之前就过时了(就在那时,基于 16/32 位 68000 的 AtariST 和 Amiga 出现了)。它没有奏效,教师没有接受足够的培训来使用这些新机器,并且对这些新机器有些警惕,而对它感兴趣的孩子已经在家里拥有更强大的系统。

无论如何,编码是一回事,设计应用程序是另一回事。为别人的设计编码是蹩脚且无趣的,在不了解真正能做什么的情况下进行设计甚至更糟糕,更不用说目前的情况,好的程序员应该实现来自“工程师”的糟糕设计,而“工程师”对系统能做什么一无所知......或者不能做什么。
从想法到核心设计一个应用程序很有趣,可以培养智力和演绎能力。分析现有系统和逆向工程将是另一面,从来没有人想到,而每个人都接受模仿是知识的万能钥匙的想法。
编码是一回事(手机应用程序中的编码事件绝对不是编码,Java 会给出看起来很花哨的技巧,但永远不会有健全的编码习惯......),但编程只是难题中的一小部分,它本身是无用的。

很棒的文章,Rebecca,谢谢你。我又看到了 Scratch。我的儿子(7 岁)喜欢制作东西,玩乐高,并且擅长“数学”。我打算向他介绍 Scratch,看看他是否喜欢。

确实应该在基础学校课程中教授孩子们编码的美丽和逻辑。INHO 这不仅仅是编码本身,更多的是一个人如何使用构建块和流逻辑。

2 月 24 日,在 opensource.com 上有一篇关于 LiveCode 的精彩文章 https://open-source.net.cn/education/13/2/livecode。该语言类似于自然英语,让你想起 HyperCard。感谢捐赠,LiveCode 也作为开源软件提供。事实上,它是每个自重的 Linux 发行版的必备品!http://www.runrev.com/products/Overview/

我是一名学生。我想编写很多代码……但不知道从哪里开始以及如何维护……

任何建议都将非常感谢!!!!
请帮忙!!!!

大家好,

在过去,编程需要你能阅读,并投入大量时间进行测试、检查、破解、反汇编以了解事物的绑定方式,同时努力将一切都融入到一个项目中(不要太谦虚……)。

因此,你需要有一个你想做的项目,并弄清楚你需要什么来实现它,调整,找到解决方法……并意识到到目前为止你所做的一切都是错误的,你必须重新开始。这种情况一直发生,别担心。

你应该根据项目类型选择语言(C 不太适合数据库应用程序,除非你正在编写数据库内核),而不是反过来,并且你可能需要在选择最终语言之前用不同的语言进行多次模型制作。Java 是原型的不错选择,是概念验证,永远不要假设它适合现实世界,它很少适合。Netbeans 是一个好的开始,可以处理许多不同的语言。

经过几年的编码、设计、学习,你可能会意识到编码什么都不是,排在最后,但是你投入其中的“艺术”才是关键所在……

谢谢!!!!

最近我将 LiveCode 与我所了解的 HyperCard 语言进行了比较,它看起来非常相似。因此,你可以上网搜索 hypercard 或 hypertalk 代码示例,或者看看你的二手书店是否有这些巨大的 HC“圣经”。它们包含大量代码和示例。

我 11 岁,我编写代码并设计小型网页。=) 我认为教其他孩子编码也很有趣。它可以真正拓展你的思维,并且在你面对问题时帮助你思考。

知识共享许可协议本作品根据知识共享署名-相同方式共享 3.0 未本地化许可协议获得许可。
© . All rights reserved.