学习编码很难,只是忘了

对您来说 ,立即将错误复制并粘贴到Google中似乎很明显,但是新程序员并不知道此错误不在笔记本电脑的上下文中。 他们不认为上周内成千上万的其他程序员遇到过同样的问题并解决了该问题,并在万维网上免费共享了他们的发现。 因此他们将坐在那里盯着它看。

那是简单的情况。 该问题的答案在哪里 放在一个银色的盘子上。 更为困难的情况是,他们根本不确定对Google有什么帮助。 他们甚至不确定要问一个人,更不用说计算机了。

假设他们确实想出对Google来说是什么,对结果进行筛选远没有我们想象的那么直观。 我不止一次地与一名学生合作,并决定向他们展示Google对他们所遇到的问题的答案是多么容易,而不仅仅是告诉他们,因为我显然是一位摇滚明星老师。

它是这样的:

我在搜索框中输入了一个精心设计的,特定但简洁的词组。 在几分之一秒内就会出现数以万计的结果。

接下来的20秒钟是鼠标移动,嗡嗡声和蜂鸣声的模糊。

我很快分析了前三个结果。

第一个是一篇教程博客文章,我认识到它可能会找到我想要的答案,但是比我想看的要深得多。 我们可能可以直接找到它。 我打开了第二个,但是网页的背景颜色由于某种原因告诉我,我不太可能在这里找到相关的答案,因此我返回了Google。 第三个是来自StackOverflow的,所以我可能应该还是从这里开始的。

我完全翻过问题,出现了可接受的答案。 我注意到它下面的那个有更多的赞成票,所以我一直滚动查看那个。 啊,是的,我们找到了。 在几秒钟内,我已经将答案复制并粘贴到他们的文本编辑器中,并且他们的代码神奇地起作用了。

我问:“现在,看到您的问题对Google来说有多容易?” 学生神情迷茫,但说“谢谢”,我又回旋房间,为别人做神的工作。

我所证明的就是, 对我来说 ,对他们的问题进行解答对我来说多么容易。 筛选Google的结果从字面上看就像是解释神经网络如何做出某个决定:它确实会做出。 他们不知道为什么我用Google搜索了我所做的事情,或者我如何确定哪些结果相关而哪些无关。

但是,一旦他们从Google找到合适的网页,就可以设置好了吗? 不幸的是,再次出错。 无论他们正在阅读的是任何博客文章,教程还是Stack Overflow,都可能充满他们从未听说过的术语。 他们没有可以添加新信息的架子。 我们正在尝试帮助他们建立一个架子,但这不会立即发生。

我们可以告诉他们一个古老的答案:“如果您看到不了解的内容,只需Google就可以了。”现在,他们陷入了无所不知的谷歌搜索循环中。

教Google

不幸的是,如果我们在Parallel Learning的开发学校的第一个迭代中未能通过任何尝试,我会说这是我们提供与Google一起实践经验的方式。

我的确从我的同事那里学到了一个绝妙的窍门。 我们正在指导一位新开发人员,他使我们两个人都对有关某件事的一段较长的问题有所保留。 我的同事回答并要求他缩短问题。

新开发人员用几句话回答,我的同事要求他把它缩短一些。 最终,他用4到5个单词问了他的问题,然后我的同事回答:“太好了,现在把它放到Google里。”我认为这很有趣,但完全有效。

除了像计算机科学助教那样故意无助之外,我们还需要找到一些更积极的方法来帮助学生进行Google练习。 Weave的一位开发人员建议,在这里讲授“代码词汇”可以极大地帮助您。 这对我来说很有意义,因为它可以帮助他们从一小部分知识开始,然后在这些知识上积累更多知识。


我们可以继续讨论如何使用CLI,学习Git,导入库,发出网络请求等,这些都是在人们真正有机会爱上编程之前将人们赶走的障碍,但是希望这几个例子有帮助证明了我的观点。

是的,这是一种选择,使人们怀着一种态度,即如果他们自己不能自己做,那么无论如何他们都不值得拥有作为开发人员的价值; 或者,我们可以尽其所能,为他们提供最好的自学机会。 我们可以认识到,其中一些概念甚至对于我们而言在某一时刻可能都是困难的,而且如果有同情心的人在指导我们,会更容易。

请拍手。