

在加州大学伯克利分校,我正在上一门计算机程序的结构和解释课程 (CS 61a),这可能是有抱负的编码员在计算机科学领域中最难的入门课程之一。 作为“编码国”的移民,我进来的经验恰好是零。 甚至没有HTML或Scratch。 但是,深层的内在启发了我测试我是否也可以将咖啡因和比萨饼转化为代码:这就需要从智力上挑战自我,并处于“控制不适”的状态,这是一种智力上的阵地,其中人们必须比平时要达到精通。 心理学家Mihaly Csikszentmihalyi称之为“流动”状态,我们通常将其称为“流动”状态。
所以我在这里,是麻省理工学院之后提供最严格计划的一所大学, 甚至对一流的程序员也构成了挑战,例如退伍军人中的新手。 我是大卫; 61a是歌利亚。 我是洛基; 61a是阿波罗信条。 我是乔恩·雪诺; 61a是Alliser Thorne。 战斗准备开始了。 但是事实证明,我所期望的战斗并不像“血腥”。相反,这是一次极其有益的旅程-智力上和情感上。 在这篇文章中,我打算分享我的经验教训,并由此提出为什么控制不舒适的状态值得我们精通的原因。
首先,我重新布线,将失败理解为值得庆贺的时刻,而不是绝望的时刻,因为只有这样, 真正的学习才开始。 只有当我知道我不知道的东西时,我才意识到自己可以成长多少。 因此,当我看着代码而对正在发生的事情一无所知(经常发生)时,我受到启发。 我渴望深入研究它,并弄清它的复杂性。 我将代码视为迷宫,迷宫的出口处隐藏着隐藏的宝藏。 最终,由于我所有的助教,朋友和老师为我指引了正确的方向,所以我能够弄清迷宫。
这使我进入了第二个学习领域:诚信。 在61a中,可以通过以下两个简单步骤(至少部分地)玩游戏:获取路线图并遵循路线图。 现在, 执行这些步骤将使您的代码正常工作,但您的大脑无法正常工作。 这破坏了整个目的。 在CS中,如果您想获得“帮助”,最好寻求勉强能为您提供帮助的帮助。 那就是令人兴奋的部分! 这类似于Python中的while循环,在该循环中,您需要帮助, 返回问题,对其有所了解,但又无法解决它,然后再次寻求帮助。 这种情况一直持续到您只想敲动计算机并继续生活的阶段。
这使我想起我的第三点:持久性。 两天前,有一个项目到期。 为了做到这一点(阅读“为尽早提交而获得加分”),我一直到凌晨5点,花了数小时的时间,只有在没有其他选择时才寻求帮助。 既痛苦又令人愉快。 就像在山上奔跑一样:您知道这会很艰难,但是当内啡肽进入时,您会觉得这是一生中最美好的时光。 所以最终,我确实完成了项目并获得了加分。 但是,还有更多的东西:我是真正的满足者,准确地说,我是“幸福极了”,我可以像佛陀开悟后一样。 61a教会了我如何坚持不懈,感受灼热并解决问题,无论结果如何。 而且我学会了享受这个过程。 通常,我修复1个bug来修复99个bug,却又得到200个bug。 那时,我往往会失去耐心和动力,但与此同时,我尝试重新站起来,再次尝试一下。 我试图激励自己达到新的高度,达到顶峰,完成我的“奔跑”-基本上,编写代码。 当我改变代码一百万次时,我告诉自己:“我没有失败一百万次。 我只发现了一百万种行不通的方法。”谢谢,本·富兰克林。
CS61a不仅启发了我学习更多知识,而且将我的知识领域扩展到了一个新的星系。 而且我喜欢这种时空膨胀。 因此,下次我看到不理解,不了解,尝试理解但又无法理解,又想重新理解但又无法理解并寻求帮助的代码时,这会让我更加了解代码,但又不了解如何编写代码,我将告诉自己:为了了解递归,必须首先了解递归。