GTLC全球技术领导力峰会·上海站,首批讲师正式上线! 了解详情
写点什么

阅读者(二):与孩子一起学编程

2011 年 1 月 04 日

【编者按】那些对于软件开发技术极端狂热的奇才们,大约希望这门可能解开星空奥秘的技艺,能够薪火相传。一方面是因为他的沉迷与热爱;另一方面,大约是想弥补过去的遗憾,让自己的编码人生在孩子身上重生,并奇迹般地避开自己过去在学习中所曾犯下的错误。其中一个错误,大约是在学习一门语言时,没能选好一本适合的书

clip_image002

我们几位编辑不约而同选定了这本 2010 年 Jolt 获奖书籍《与孩子一起学编程》。是的,我、凯峰、陈宇还有伯薇,争先恐后想要阅读本书,目的是否想着要培养自己的孩子成为编程高手呢?若能如此,大约 InfoQ 二代就可以继续为 InfoQ 的发展做贡献了。

闲话休提,让我们来看看张凯峰与陈宇阅读此书后的感想。

这本书的英文名是《Hello World! Computer Programming for Kids and Other Beginners》,比起中文名《与孩子一起学编程》来,区别在于本书不仅仅适合于训练孩子对编程的兴趣,对于任何对编程有兴趣的人,都是不可多得的一本编程入门书。Amazon 评分四星半,今年 Jolt 图书生产效率大奖,足以说明这本书得到了广泛的认可。

这样的中文书名,有夺人眼球的嫌疑。我知道很多对本书感兴趣的人,会是一个程序员爸爸(妈妈),有一点让自己的孩子学习编程思维的意向,但这样也流失了一部分其他可能对编程有需求的门外汉。现在更多的年轻人在选择自己创业,一个好的创意,几个好友一拍即合,缺少的却是把创意实现出来的情投意合、惺惺相惜的程序员。其实,编程世界的门槛较之以前,以前已经下降了很多,从语言到框架到平台,都有现成的选择。创业需要争分夺秒,快速地推出原型,聪明的人们为了满足这样的需要,在不停地推出能快速学习和应用的技术。而本书就是个开始。

图文并茂的写作风格

本书图文并茂的风格,让我想起了 Head First 系列图书,丰富有趣的插图不仅仅让孩子感觉到寓教于乐的轻松,同样可以让成年人过目不忘,达到最好的学习效果。我特地翻阅这本书关于“多态”、“继承”这类关于面向对象的讲解,想看看这本书如何为孩子和门外汉讲解这些极易曲解的概念。

比如“多态”,书中是这么讲的:

非常简单,多态是指对于不同的类,可以有同名的两个(或多个)方法。取决于这些方法分别应用到哪个类,它们可以有不同的行为。

说实话,这个概念讲解的不是很清楚,但下面很快给出了一段代码来说明一个方法在两个不同子类中的实现,对我来说很明了。但对于入门者来说是不是可以很快理解,我就不得而知了。这里的“两个”似乎会让人误解,我以为只要有一个方法同名不同实现,应该就是多态了。

我相信,简单的代码示例是最好的办法。学技术学编程,一开始照猫画虎写代码,是必不可少的实践,写的多了,对代码和语言的理解也会逐步加深,最终达到融会贯通。这方面这本书做的不错。

我想起我在大学学习的第一门语言,Turbo Pascal,号称最适合教学的语言。可惜毕业之后这样的语言几乎没有用武之地,Delphi 也在一时间转投.NET 阵营。一方面学校在输出一些学无致用的学生,一方面社会却在期望得到一些拥有扎实编程基础和语言经验的人才。如果我们当初有这样一本既让人对编程发生兴趣、夯实编程基础,又学到流行的编程语言的教材,该是多么幸福的一件事情。

我会向更多的年轻学生去推荐这本编程书。

——张凯峰

《与孩子一起学编程》,看到书名就忍不住好奇,想知道如何与孩子一起学编程,怎么才能把编程中那些抽象的概念让孩子们正确的理解,并不觉得枯燥呢。看完之后,觉得本书做到了这点,甚至超出了我的想象。其中不但清晰明确的解释了几乎所有编程中会遇到的基本基本概念:内存、变量、数据类型、函数、对象、模块等。还包括一些更进一步的内容,比如:动画精灵、碰撞检测,事件处理及文件读写等。

Int 函数的取整

图文并茂,是刚浏览这本书时的第一印象。对于孩子和其他一些编程的初学者,这种方式能浅显而清晰的对各种概念进行解释,非常有助于理解。比如,Python 中 int() 函数取整方式的配图,就让人印象十分深刻,立刻就能明白这一取整方式且不易忘记。又如对函数参数与函数返回值的插图也格外有趣。还有,用乐高积木来对什么是模块做比喻,对于孩子来说会非常的容易理解和接受。

函数的参数传递与返回值

丰富而有趣的插图让本书如虎添翼。

本书对一些编程的细节把握的很好,对孩子学编程中需要了解的概念和可能遇到的问题都做出了解释。除了上面提到过的一些概念之外,书中还介绍了判断语句、循环语句、列表、命名空间、多态和继承、GUI 编程等。书中在介绍碰撞检测时,不仅介绍了什么是碰撞检测及如何做碰撞检测,还列出了进行碰撞检测时可能会遇到的问题及解决办法。最后还告诉了读者什么是完美碰撞及如何获取相关信息。这可能与作者 Warren Sande 长期进行软件基础课程教育有关,当然也少不了小作者 Carter Sande 的贡献。

穿插于书中的例子都是些小的游戏程序,在作者手把手的指导下,任何人都能实现它们。这很有吸引力,尤其是对孩子们。这能让他们迅速对编程产生兴趣,并把这种兴趣一直维持下去。

本书的另一个功臣就是 Python。很难找出另一门比 Python 更适合本书的语言了。它简单、易学且功能强大。

——陈宇

本书的作者是父子“二人转”Warren a Sande 和 Carter Sande。Python Magazine 的主编 Doug Hellman 在他的博客上评价说:

对于那些热爱编程的年轻人而言,我强烈推荐这本书。写作这本书的作者是父子俩,阅读本书好像欣赏父子俩暑期娱乐活动一般的轻松。

图为加拿大电视台在 CTV News 栏目中对父子二人的采访。主持人正拿着本书在访问可爱的小作者。

2011 年 1 月 04 日 01:015042
用户头像

发布了 109 篇内容, 共 35.8 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

一个典型的大型互联网应用系统的技术方案&手段

Amy

极客大学架构师训练营 作业 第四周

【极客大学】【架构师训练营】【第四周】典型大型互联网应用系统的技术方案和手段

NieXY

极客大学架构师训练营

云计算 “拍了拍” Serverless

零度

云计算 Serverless 互联网 计算机

week4总结---系统架构

a晖

架构师训练营第四周作业

子豪sirius

架构师训练营 week03 总结

尔东雨田

极客大学架构师训练营

大型互联网应用系统技术方案

Geek_zhangjian

极客时间架构师训练营 - week4 - 作业 2

jjn0703

用100行代码手写一个Hystrix

小眼睛聊技术

Java 架构 高可用 设计 后端

架构师训练营 week03 作业

尔东雨田

极客大学架构师训练营

架构师训练营」第 4 周作业

edd

深入浅出Shiro系列——权限认证

程序员的时光

权限系统

架构师训练营第四周作业

一剑

大型系统常用的技术方案和技术手段

imicode

Python中的浅拷贝和深拷贝

王坤祥

Python 编程 计算机

Week 04 命题作业

卧石漾溪

极客大学架构师训练营

第四周总结

胡江涛

极客大学架构师训练营

大型互联网应用系统的技术方案和手段(训练营第四课)

看山是山

分布式 微服务 极客大学架构师训练营

大型互联网应用系统技术方案和手段总结

CATTY

互联网

浅谈互联网系统架构

Arvin

本周的一些总结

Geek_zhangjian

架构师训练营第四周-系统架构综述

草原上的奔跑

【架构师训练营】第四周作业

Mr.hou

极客大学架构师训练营

「架构师训练营」学习笔记:第 4 周 系统架构知识

Amy

学习 极客大学架构师训练营 第四周 系统架构知识

互联网架构演化

李广富

维基百科(Wikipedia)网站架构设计分析

架构5班杨娟Jessie

极客大学架构师训练营

Week4 作业

Shawn

第四周作业

胡江涛

极客大学架构师训练营

架构师训练营 Week 04 总结

Wancho

大型互联网系统使用的技术和方案

李广富

Week04 作业

极客大学架构师训练营

DNSPod与开源应用专场

DNSPod与开源应用专场

阅读者(二):与孩子一起学编程-InfoQ