14天的编程训练营迎来了尾声,回顾这14天的经历,可以用难熬来形容,从报名入营时的满心期待、到提前做准备在开营前快速通读《自学是门手艺》给自己减压、再到开营第一天完成各项任务用时5个多小时差点崩溃、又经历周末带娃根本没时间、娃生病发烧折腾一整夜身心俱疲,可是这一切困难最终都被战胜了,这14天的时间被化作完成的每一项任务成为陪伴自己的朋友。
我想能完成任务的一个很重要因素归功于笑来老师说的:给自己做心理建设很重要。别怕,千万别怕。
这14天我反复在想,编程零基础的人不可能14天就学会编程,那这14天的训练营目的到底何在,就像笑来老师说的,若不是这么多年一直看着他一步步做到,自己又怎么会一看到训练营的消息,不做停留的就付费参与,参与之后又从中学到了什么呢?
首先,编程是门语言,是写给机器读取的语言,机器读取人下达的指令(程序),然后帮助人完成各项重复的工作,节省时间,提高效率。
这14天训练营的安排就是从python程序能实现的最小的那项任务开始,我们实现了在屏幕上打印出“hello world!”、写出一个最简单功能的计算器、运行九九乘法表、理解数据容器的概念、编写函数实现统计词频的功能、学会调用自己编写的函数、为函数添加参数类型检查以便捕获异常、了解标准库的功能、了解第三方库的功能、还进行了三天的实战演习,在微信上实现通过网络请求抓取网页内容,并对内容进行词频分析,将结果发送给指定邮箱,还可以将抓取内容词频分析后的结果生成图表回复给某人。
其实这是在最短的时间内,让我们对编程的每一个最基础的底层概念有一个最直观的体会,知道它能干什么,而为了知道这一点,你就得想尽各种办法让布置的任务能够达成,让程序在自己的终端运行,看看它到底长什么样。说句心里话,过程真心不容易。
前两天的任务还可以直接在网上搜索到代码,将现成的代码敲入自己的计算机,看看它实现出来的样子,可后面的任务便是层层嵌套,功能越来越复杂,这里面最重要的是解题思路,可是发现看完每天的参考资料后,自己一点思路都没有,怎么办?于是我开始参考同学的作业,很庆幸自己是第2期学员,第1期学员早三天已经开始学习之旅,于是第1期学员提交的作业成为了我的重要参考资料,把每一位学员的作业都翻一遍,尝试理解其中的解题思路,从中参考自己能看的懂的代码,思路清晰的作业,敲进自己的机器,看是否能够运行,出现了什么问题,再google解决。这个过程也克服了自己的抄袭心理,开始觉得自己这是抄作业,在偷懒,可是后来我认识到,时间有限,把别人写好的代码敲一遍,自己理顺思路,能让程序成功运行也是一种学习,于是靠着参考别的学员的作业,我才完成了14天的任务,在此感谢每一位被我参考借鉴过的同学。
对于其中的向教练请教、和同学互动的环节,自己的感受真的是当被各种小问题卡住时,想向教练描述清楚自己的问题都很不容易,这些天开始习惯养成在github上看别的同学提出的问题,也看看其它同学的解答,理解学习是一种社交行为的具体路径。
还要特别感谢的一个人就是我的LG,我俩一起报名参加的训练营,被分在不同的班,最后三天的实战演练,就算是我借鉴1期同学的作业,也跑不出程序,其中一个很重要的原因是,之前完成的作业内部逻辑并没有理顺,很多参数设置的很乱,要不是和LG一起讨论,并在他的帮助下整理之前的作业内容,恐怕最后几天的作业就完不成了。
最后总结一下自己的收获:
1、不停的给自己做心理建设,相信自己能学会,编程就是一门手艺,相信自己花时间,肯定能学会,而且要在用中去学,这样可以极大的提高效率,因为它本身就是工具,多用才能熟能生巧。
2、编程入门学习最困难的就是对编程语言的基本概念的理解,还有理清这些基本概念之间的逻辑关系,而逻辑关系恰恰是自己的弱中之弱,这14天里能感受到自己回避困难的心态,这和自己在真实生活中遇到的很多情况都类似,刻意的回避最难的,通过训练营发现自己习惯性的弱点很重要,今后刻意练习的重点就是基本概念,以及概念之间的逻辑关系,告诉自己别回避,一天理解一点点,把时间当做朋友。
3、我理解的训练营的目的就是带着我们认识一遍python语言的学习地图,训练营的结营是自学编程的开始,以后自学python的过程中,遇到哪里不理解,就要靠自己去查找地图搞清楚了,加油吧!