首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我们如何教孩子编程

记得当年我在大学初学编程时,课本是一本pascal编程书,第一章介绍了这门语言的基本语法,后面是它的各种高级功能。学完这门课,还是不太会用那些基本概念(比如循环、函数等),也不清楚解决什么问题时需要用到它们。现在回头再看,才发现对于初学者来说,以学多用少的方式直接学text-based的语言也许不是最好的选择。text-based的语言会让我们过于注重语法细节(比如每行代码后面要加分号,一段代码要用大括号括起来等等),反而忽视了编程思维的培养。而且学多用少的这种学习方式,让初学者在刚刚知道一个概念后就接着学下一个,没有把每个阶段都夯实,这样积累起来的知识大厦也很不牢固。

所以我们选择先让孩子们从block-based的语言学起。孩子们通过拖拽block就可以编程,完全不用担心语法细节。这样编程的重点就自然转到了编程思维上,也就是如何抽象一个问题,如何用一个算法解决它,以及如何组织blocks来实现这个算法。对于每个基本概念(比如loops,events,functions,conditionals等),我们不是“教”给孩子们这些概念,而是针对每个概念抛出一系列的问题。孩子们解决了这些问题,也就掌握了这些概念,知道在哪里用它们,以及如何使用它们。

学习完基本概念后,我们就可以使用block-based的语言来解决复杂问题了。孩子们会做一些难度逐渐增加的project,还会参加一些workshop。project可以自己完成,比如build a band, storytelling等等。workshop则需要分组完成,从开始的分组brainstorming,明确各组的任务主题,设计实现,到每个组的presentation,收集反馈reflect,大家分工合作来完成。

在孩子们具备了良好的编程思维后,我们会开启text-based语言的旅程。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180117G0CFEO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券