※ 引述《felaray (傲娇鱼)》之铭言:
: 请问各位先进前辈.我有个朋友完全不懂任何语法,最近想要培养coding方面的专长,
: 想请我教对方一些基本功.基于想帮助朋友的心态就答应了.
: 第一次的时候用闲聊的方法讲了一些,但是发现几乎没有任何头绪.
: 所以想来这边请教,如果你们遇到完全不会任何语法及概念的新手,会从何处着手呢?
: 我想到以前第一堂C++课程老师是从 变量、运算子、逻辑判断、循环等方向教我们..
: 还有什么好建议吗?
以我的经验有几个大方向可以参考。
1.你至少先教他程式的基本的概念。
像是你说的,基本的变量操作、运算子、if、for loop。
然后你要带他做完几个简单的范例,再请他对这几个范例做变化,得到不同的结果。
不管他对程式理解多少,他有一个可以work的code,让他可以修修改改,
他才有尝试的机会。
这点,学程式的应该多少有点感触,学一个新语言最怕就是环境没设好,
连第一个hello world都跑不起来XD
2.帮他找一本书,介绍网络上的学习资源,挑些比较有代表性的范例叫他跟着做。
除非中间有什么重要的概念要提(例如指标、委派),
不然你只要从旁帮他解除卡住的部分就好。
开始就从1.和2.做起吧,你先看看他给你的回馈,以及他有多少的积极度,
再评估要继续教他什么。
教人程式最理想的就是以逸待劳,第一是不怕真心换绝情(这真的太多案例了),
第二是学软件设计,本来就是要学着自己用手边的资源堆出你要的目标。
当他有一些基础之后,你就要不时的提醒他,当你想做什么却做不到的时候,
怎么厘清问题,怎么找资讯,怎么查功能,甚至怎么Debug。
如果他要做的东西超过他程度太多,那也请帮他踩个刹车,或者提个比较容易的备案。
接着就如同板友推的,会去学的就是会去学。
如果他自学上面碰到困难,引导他排除问题,
让他依赖自己排除问题的能力,而不要让他依赖你。
我相信这是学程式要学好的根本之道。
最后值得提一下的我觉得是:给他一点糖吃
像是我如果要教socket programming,我第一个一定是先带他做出一个简易聊天室。
原因是因为他马上会得到一个有趣的成品。
程式范例呈现的结果,如果都是些跟他目标差距还很远的内容,有些人容易感到疲惫,
但如果今天很快让他有一个"玩具"可以玩,这对学习很有帮助。
(我教的那个家伙,他学会怎么做聊天室之后,回家就找了一堆资料,
然后尝试了几种分配聊天室的架构,分析哪个好哪个不好,我根本不太需要管他XD)
这大概是我的经验