计算机科学基础班第 5 期成功结束

现在我可以宣布,计算机科学基础班(第5期)已经圆满结束。课程的效果超乎了我的预期,不但原有的内容得到了很大的改进,而且新增加的命令式编程方法,Python,Java,Rust 也恰好地实现了它们的作用。而且到最后还增加了一节特别的 Bonus 课——C++。

完成全部课程的同学,不但学会了精髓的编程技巧,而且同时掌握了五种很不一样的编程语言。从最高级的函数式编程,面向对象编程的精髓,一直到最底层的需要自己管理内存的语言。完成课程全部练习的同学,用这五种语言都写过解释器,实现了闭包,递归等关键的功能。这种教学方式对于有经验的程序员都是前所未有的,更何况班里有好几个零基础同学,居然也能跟上…… 其中大部分 😏

最初觉得加入 Rust 语言的时候我都在担心,Rust 类型系统这么苛刻,初学者难以理解的语言,最后我们能否用它写出解释器?答案是可以的。虽然用 Rust 写我们的解释器确实很繁琐,但好些同学还是写出来了,并且从中理解了 Rust 的内存管理最核心的部分:ownership, lifetime, Rc, RefCell… 并且从根本上理解了它们是什么。

课程最后阶段的时候,因为我的肩膀伤势加重,没法使用电脑,暂停了三周之久。肩膀为什么伤势加重?其实不是因为用电脑,而是…… 其中的酸甜苦乐,真是可以写成一本书,这里我就不说是怎么回事了。但最后,我很高兴地看到了课程的圆满结束。它不但教会了同学们精髓的思想,而且教会了我自己很多。

现在我的肩膀还没有康复,而且我的头脑需要休息。所以这条信息之后的很长时间,我可能也不会再更新。