我曾在知乎上看过一篇关于编程自学的高赞问答:

 

 

它的观点在编程教育这条路上给了我非常大的启发。

实际上我们一直在思考一个问题:现如今对于所有想要学习编程的人来说,最难的是什么?

是概念、逻辑、方法的学习?

是环境、系统、教学方法的准备?

 

我从教学8年,前后累计的3000多个学员的反馈里得到了答案。

这最难的,是“开始”!

 

开始学习。

仔细想想,这岂不是所有自发性学习行为里最简单也是最难的一项。

多少人想要开始一门技术的学习,朝思暮想,夙兴夜寐的想。第二天起床,该干嘛还是干嘛,晚上睡觉又开始想。

例如有个学员,他想学编程,不知道学什么语言,多方查证、咨询、对比,半年过去了,还是没有开始。

还有个学员,学习python的第一步,自己电脑与拿到的视频课程系统不匹配,IDLE打开方式有区别,当场退学。

还有更有趣的学员,他找到我,开口要学的是大数据、人工智能,要做地球上唯一一个能跟马斯克掰手腕的男人,结果C语言学了两章理论,觉得太枯燥,当场放弃。

鲁迅同志说过,年轻人二十多岁的年纪,只要你愿意学,有什么是学不会的呢?

从业这么多年,我亲眼目睹了多少人卡在了“开始”这一步。

 

一个可以随时“开始”的编程平台

 

2019年年末,我突发奇想,是否可以做一个随时随地在线学习编程的平台?

想法产生的原因是为了区别传统的培训机构教学模式,让更多的人,能不受时间和设备限制“开始”学习编程。我朝思暮想,想的我睡不着觉,于是半年左右,“代码课堂”诞生了。

我们集中全力想解决的是如何让学员能快速“开始”学习这个问题。

首先是课程,要有好的、成体系的课程,这是学习的基础。课程不能太难,不能过于枯燥,得符合当下学生进行技术学习的操作习惯。

结合这些要求,我们准备了好理解、能操作、有趣的视频课程。

 

 

如上图,这是我们的Python 0基础代码课,我们在入门阶段,第一个课程下面,就准备了图形实战,目的是为了让学员从枯燥的理论学习里跳出来,在一开始跟着老师感受创造的魅力。

我们也收到很多积极的评论,有学员评论说,老师你这来的太快了,跟不上呀。

快吗,不快。

Python学习,你撸一个项目不会,撸十个,还会没有效果?

更何况,视频里老师一个字符一个字符教,你跟着一个字符一个字符写,这很难吗?

其次是学习方法。如何提高学习效率,降低初学者学习的门槛,是我们思考的主要方向。经过近半年的技术打磨,异于当前其他编程学习平台的“边学边练”学习模式诞生了。

什么是边学边练?大家看一下这张图:

 

 

这是我们代码课堂Python0基础代码课,基础入门阶段学习里面的一门课程的实际学习效果。

左边是正在播放的视频课程,右边是我们通过镜像技术实现的云桌面,云桌面上加载了与课程内容相通的编译环境,例如本视频里老师讲解案例涉及到的编译工具是Pycharm2017,学员不需要在自己的电脑上去安装对应的软件,不需要关心任何版本问题,直接在课程学习界面的右边,点开“立即实训”就可以开启云桌面,云桌面上已经配置好了所需要的编译环境,学员只需要轻轻一点,就可以打开对应的编译环境,跟着老师边学边练。

 

区别于同行,新模式的“边学边练”

其实在我们这个想法实现之前,也有一些同行在做边学边练这件事,但能实现的有限。他们大部分用的是文字+webshell的方式进行教学,即左边是文字,右边是一个webshell形式的编译器,能处理简单的代码运行。

我不太喜欢这种,第一是现在学生学习的习惯普遍是以视频为主,文字学习实在是跟不上潮流;第二如果只是一个webshell玩法来实现实战,让学员获得成就感的效果实在是太有限了。

经过半年时间的反复打磨,我们最终实现了视频+镜像编译环境的学习,目前在代码课堂上注册的用户可以免费学习平台的所有课程,同时拥有自己的云桌面,课程过程中所有编写的代码都可以存储,并在下一个课时打开使用。

我们正在准备更利于分享的课程,例如做一个前端表白工具、游戏项目等,当学员跟着课程学习并最终完成该项目时,可以分享出去。我们竭尽所能想要把学生被动的学习行为变为主动的分享,这对代码课堂整个平台的趣味性要求非常高。

编程教育已经纳入中小学考试范围,我相信在不远的将来,编程将会更多的融入我们的生活,它不仅能促进就业,同时对个人思维能力的提升是显而易见的。

而作为代码课堂人,我们所有的努力和愿景,都是为了让编程初学者对学习编程这件事情,感到有趣。