我们生活在一个信息化的时代,各种信息化的产品和软件已经成为生活中很重要的一部分。在这样的时代大背景下,如果能够从小学习编程,未尝不是一个很好的选择。至于学习编程能够带来什么好处,推荐阅读《青少年学习编程的意义和方法总结》,在这里就不再赘述了。
两个重要的概念
在介绍学习方法之前,先让我来澄清两个重要的概念。
1.什么是编程
编程专业一点的说法应该叫电脑程序设计(Computer programming),或者程序设计(programming)。是指人类为了解决某一类特定的问题,通过特定的编程语言,将解决问题的思路、方法告诉计算机,由计算机执行任务得到最终的结果。
编程往大了讲,可以是编写软件、系统。比如聊天用的微信,打车用的滴滴。往小了讲,可以是一个算法,比如给定一串数字,如何对它们进行排序。
2.青少儿编程和商业编程的区别
青少儿学编程,一开始都是培养兴趣为主,通过学习图形化的编程软件了解编程的基本概念,比如现在很热门的Scratch,但是要明白,学习此类编程软件,更多的是培养编程思维,离真正的商业编程还有一段距离。
年龄稍大一点的,会开始接触一些信息竞赛,比如NOIP(全国青少年信息学奥林匹克联赛)。这一类的竞赛与编程的关联更强,但它们也只是使用到编程语言的一些简单特性,更多的还是考察算法和数据结构,而算法和数据结构只是编程的一部分。
所以,真正想在计算机领域有所作为的同学来说,只靠青少儿编程的学习显然不够,还是要过渡到商业编程语言的学习,通过参与一个个工程实例,学习真正的编程作品商业化运行。
学习编程的步骤
前提条件
学习编程最好是已经具备了基本的逻辑思维能力,建议6到8岁就可以开始接触编程。
初级阶段
适合年龄段:6-12岁。对于年龄较小的小朋友,还无法理解复杂的编程理念,完全使用编程语言来实现功能,也会非常枯燥没有成就感,因此这个阶段以培养兴趣为主,通过游戏的方式简化编程过程,学习编程的基本概念。
目前比较流行的青少儿编程工具有Scratch(官网:https://scratch.mit.edu)、Code(官网:https://code.org),它们共同的特点就是趣味性强,通过积木形状的模块构成程序的命令和参数,在玩游戏的过程中学习循环、条件、运算符这些编程的基本概念。
中级阶段
适合年龄段:12-16岁。这个时候年纪稍大点了,简单编程游戏无法满足自己对编程知识的需求,我们可以通过学习一些不太复杂的编程语言,比如Python,HTML。用这些编程语言来编写一些可以实际运行的程序,比如用HTML做个人网页,用Python做网络爬虫。当然,也可以选择C语言、C++或Pascal语言,以参加NOIP作为自己的目标(这里需要提醒的是从2022年开始,NOIP竞赛将不再支持Pascal语言)。
另外,这个阶段最好能请一个专业的老师来指导学习或者选择到青少儿编程培训班学习(这里推荐“编玩边学”:http://www.codepku.com),同时也可以关注相关的书籍(比如:趣学Python编程)和网站(比如:少儿编程网),与外界多多接触,了解真正的编程世界是个什么样子。
高级阶段
适合年龄段:16岁以上。恭喜你,如果你走到了这一步,说明你对编程非常感兴趣,并且编程能力也比一般的孩子强很多了。这个时候可以开始学习一门当下流行的编程语言,不过要注意,这个阶段的学习应该以实践为主,看书为辅。市面上有很多《21天精通XXX》的书,这些书都被程序员戏虐是《21天放弃XXX》,因为这些书往往都是自己一个人在家里看,而对于一门编程语言,关在家里闭门造车式的学习,是永远都学不好的,关键还是通过实践锻炼自己的技能。所以要尽可能的为自己创造实践机会,可以跟别人合伙做网站,也可以参加一些编程大赛,实践越多,成长得也就越快。
推荐学习的编程语言:Java、JavaScript、C++、Ruby
新手入门网站:w3school(http://www.w3school.com.cn)、菜鸟教程(http://www.runoob.com)
学习编程的建议
培养兴趣
兴趣是最好的老师,编程理论是枯燥的,需要不断刺激自己的学习兴趣,才能让自己坚持学习下去。比如设定一些小目标,不要太难,这样可以让自己长期保持学习的动力,同时也能明白编程到底能做些什么。
快速反馈
如果在5分钟内写不出程序,那学习方法就是不对的。学习的最好方法是从小的成功逐步扩大到大的成功,所以先从小项目做起,能够快速地获得反馈非常重要。
交流沟通
多跟其他的编程小伙伴交流沟通,甚至竞争比较,在竞争中促进自主学习。
最后:完整的掌握编程技能,需要经过长时间、系统性的训练,需要有耐心,不能指望经过短时间的学习就成为一个编程高手,最重要的还是享受学习的过程,利用这段经历锻炼自己的能力。