最近两年,少儿编程越来越火,很多身边的朋友也都开始让孩子开始学习编程了。但大部分家长对编程其实没什么概念,他们并不知道应该编一个什么样的东西才算是有学习成果了。想起原来大学学习编程的时候,最开始学习的都是一些简单的语句,程序基本上都是从命令行窗口得到指令,然后给出几行黑压压的文本输出,说实话,看起来一点也不酷,除了编写的人以外,其他人很难通过这个简单输出评价出这个程序有什么意义。
如果按照以上这种方式去教一个10多岁的孩子,估计没两次课就把孩子吓跑了,同时,这样也很难得到家长的认可。 因此,现在的少儿编程培训机构中,一般都会选择游戏作为学习编程的入门课程,试想一下,一节试听课下来,孩子编写了一个可以互动的小游戏,这是多么酷的事情。这个过程,不仅孩子会觉得特别有意思,家长也会为这个作品叫好。而且据说编写游戏的人,今后不容易沉迷于游戏,这么看来,学习游戏编程真是太适合孩子学习了。
但其实学习游戏编程,并没有大部分想的这么容易。 在IT 行业里,游戏编程也是公认难度比较高的领域了。在少儿编程领域,如果学习的是Scratch 语言,那么编写一个小游戏确实只需要一节课的时间,这是因为Scratch 语言的开发环境,已经把编程这件事情做到了足够的简单,孩子只需要按照步骤拖动一些控件就行了。 而对于真正通用的编程语言,例如Python 和 C++ 语言,想要编写一个图形互动游戏,那可真不是一件容易的事情。
想要编写游戏,首先要选定一个游戏框架,也就是俗称的游戏引擎,使用这个引擎做的第一件事情就是画出一个游戏背景,并且把角色渲染在屏幕上;其次,就要处理角色的操作性,能够通过按键让角色动起来;再然后,就是一些比较高阶的处理方式了,例如角色之间的碰撞效果处理,角色的自动控制处理等。可以看到,想要完全掌握这个过程还是很不容易的。对于编程老师来说,也是很有挑战,既要保证每节课的乐趣性,又要完整的把概念输出,中间的结合点与平衡点,绝对考验老师的功力。
那今天就给大家推荐一套国外的免费课程,这套课程的定位就是针对孩子的, 课程的设计非常用心,它把一个完整的游戏拆分成独立的N节课程,每节课程都有一个目标,每节课程的作品都是能够独立运行起来的,也就是说,孩子每学习一节课程,就能立刻体验到本节课程的成果,学习完所有课程后,一个非常有意思的游戏就全部完成了,看到最终的游戏,相信你一定会特别有成就感,甚至都不相信这个游戏是自己开发出来的。
接下来就要公布这个神奇的网站了: http://kidscancode.org/lessons/, 大家从这个网站的名称应该就能知道,他们的课程就是针对孩子设计的。在整套课程中,首先用了三节课介绍了Pygame 框架,这是Python 游戏编程的一套引擎。接下来就提供了三种类型的游戏课程,每一种课程最后对都应一个完整的游戏,第一个游戏是Space Shooter,就是飞机大战的那种游戏,控制飞机发射子弹消灭敌机,在这个游戏中,需要判断子弹与敌机的碰撞。 第二个游戏是 Doodle Jump,就是控制主角不断往上跳跃,躲避敌人的游戏。 第三个游戏是地图类游戏,控制小人在某一个地图中完成任务。相信通过任何一款游戏的学习,都能掌握游戏开发的基本概念了。课程的最后,还有一些高阶的技巧讨论,对于那些对游戏编程非常有兴趣的人,可以进一步研究下。
课程有文字版本,也有视频版本,所有内容都是英文的,这对于有些孩子来说,可能会有语言障碍,但对于有能力,能够听懂的孩子,推荐尽量通过英文来学习。 在计算机这个行业,很多好的内容都是英文版本的,从小养成通过英文来学习的习惯,这对于计算机的学习来说很有帮助。同时,语言学习的目的就是要使用的,通过英文学习编程,对于英文的掌握和提高也会有很大的帮助。
如果你的孩子也在学习Python 编程,并且基本语法已经全部学习完毕了,可以考虑通过这个网站的课程开始学习游戏编程,这个过程会提升孩子对于编程的兴趣度,同时也会让他了解到游戏编程的框架和流程,相信通过这些游戏的编写过程,一定会让孩子的编程能力进一步提升的。