教女朋友学编程的一次经历
Posted 码农翻身
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了教女朋友学编程的一次经历相关的知识,希望对你有一定的参考价值。
女朋友的单位需要统计几个文件中的数据,Excel的公式搞不定了,需要我出马来写点儿代码。
一次两次还行,次数多了以后,程序员的优秀品质——懒惰——必须得发挥出来了。
既然她的需求都很简单,我为啥不教她学一点儿编程呢,这样一劳永逸地解决所有问题,我还能过一次“好为人师”的瘾。
根据她的需求,我想了想,给她定制一个编程语言的最小集合就行,学习路径是这样的:
用Hello world感受一下编程语言
引入变量
引入数组(必备)
学会for循环和if分支
学会使用函数
掌握类的基本概念,甚至多态都不用引入,因为把Excel读入内存,就是几个类而已
学会读写文件
于是我就按照这个计划来教,刚开始还行,但是进入到for循环和函数的时候,问题就出现了:
首先是语法容易理解,但是缺乏面向计算机的思维方式。
例如一个for循环,从1加到100,变量i从1不断累加,这个概念就不太好理解。
其次,今天写完,第二天就完全忘记了。
我想了想自己学编程的时候,其实也遇到了类似的情况,不同之处是,那时候有作业,做了大量的练习,把这些东西都内化了。
如果我去给她设计大量的练习题,那实在是太累人了,还不如我直接去写帮她写程序,另外,在写程序做练习题的时候,也非常枯燥,一会儿就想放弃了。
我想到了让她直接去看书,如《Head Frist Java》、《Java核心技术》,但是看书相对是枯燥的,并且不敲代码做练习,也是不行的。
有没有一种办法,可以循序渐进地学习,并且有大量编程练习辅助,还有很强的趣味性呢?
我上网搜了一下,还真的有一个这样的网站:CodeGym
https://codegym.cc/zh/
这个网站是通过一个虚构的、有趣的故事来学习编程的:
3018 年,那时人类与机器人在地球上和谐相处,太空旅行已成为家常便饭。
一艘宇宙飞船坠毁在一个未知的星球上,机器人阿米戈必须要学会Java才可以帮助大家脱离困境......
在玩这个编程游戏的过程中,需要完成很多任务:
更重要的是,必须写代码,必须通过系统的自动验证才能进入下一关。
不得不说,这个任务验证是我见过的做得最好的,首先是很快、很直观,其次是非常智能。
很多类似的系统只是看最终的输出结果,这个任务验证却能深入到代码细节,例如检查你是否声明了某个变量,是否有特定的条件分支,能精确地告诉你哪个地方不满足要求。
我有一次,想欺骗它一下,直接输出结果,发现根本通不过。感觉就像后面有个经验丰富的老师在认真检查一样。
如果你开通了高级版(现在正5折优惠),将会解锁1200多个这样的任务,让人不知不觉之间,由易到难,由浅入深,掌握Java的知识。
如果这么一直“玩”下去,把任务做完的话,可不仅仅是操作文件这么简单,垃圾回收、版本管理、设计模式、基本的Web应用、REST服务都能掌握。
高级版还有这些非常有用的功能:
例如:代码的规范检查,它不仅会检查正确性,还会检查规范性,CodeGym 提供了“代码规范分析器”,它可以检查你的代码是否符合标准。
对于那些喜欢在IDE中编程的同学,还有IDEA的插件:
CodeGym的设计者肯定是深谙人的心理,在你做任务,写代码比较累的时候,会及时地给你来点儿激励,“打点鸡血”:
如果你学了很多,达到了20级,将会解锁“小项目”,CodeGym很贴心地提供了很多游戏和具体的编写步骤,只要按照指导,一步步来就实现经典的贪吃蛇、俄罗斯方块、太空射击等游戏,实现自己的游戏,这就太有趣了。
可以说,CodeGym完全满足了我的要求:
1.循序渐进地学习Java
2.有大量任务和练习,帮助初学者牢固掌握知识点
3.用游戏的方式,充满了趣味性。
在这里郑重地推荐给大家,去看一看,玩一玩这个从零开始学习Java的在线网站,感受下CodeGym带来的乐趣:
https://codegym.cc/zh/
现在CodeGym高级版正在5折优惠!5月14号截止,需要的话得抓紧了!
最后,也欢迎大家关注CodeGym的公众号,获取最新的信息!
以上是关于教女朋友学编程的一次经历的主要内容,如果未能解决你的问题,请参考以下文章
首发| 牛津博士教小朋友学编程 开发多种编程工具 一年拓5省1100所学校