就在最近终于完成了日思夜想、翘首以盼的“数据分析师”纳米学位课程,面试通过之后拿到了毕业证书,曾经设想过无数的场景和心情以为自己会百感交集,狂吐苦水,倾诉自己这半年来吃了多少苦,后来才发现那一刻心情很平静,可能是通过这个课程让自己变得更加稳重,明白到这个课程只是自己以后职业生涯的开始而不是终结。回顾整段路程,我觉得有必要整理一下一些心得感想,给自己以及后来者一些学习上面的启示。
先上来这篇文章的思维导图。
文章大纲一、心态
- 尽可能平和耐心,学习编程是一个长期积累的过程,一开始就学好的人少之又少,不要太过着急,按照正常的步伐来规划自己的学习,一个月完成一个项目是比较合适的节奏。我一开始很着急毕业,幻想着三个月学完这个纳米学位,但很多事情都兼顾不过来,学的知识也不扎实,抱着焦躁心态反而把自己的学习进度给拖慢了,事实上作为初学者的我用了6个多月才完成这个纳米学位,但我觉得用6个月的时间去扎扎实实沉淀自己的知识,一步一个脚印比自己走马观花地拿到纳米学位要重要得多。如果能沉下心态去把每个不懂的搞懂,其实这样的学习才会更加有效和快速。其实回过头来看,实际情况并没有我想象当中那么赶时间,脚步放缓一点,并不赶那么点时间,可以学得更好更深入,实际上是在帮忙省时间。
- 多多肯定自己。学习编程真不是一个智力问题,我能理解坚持不下去主要的症结主要在哪,因为个人的性格问题,我比一般人更难坚持一件事,几乎每个项目都很难坚持下去。
编程能力与自信的曲线** (1) 首先可能是自我怀疑。**“怎么这个视频我看了那么多 遍还不会,是我没不适合学习编程吧”、“怎么有人3个月就毕业了,我用了4个月还停留在Project3”……要明确一点,我相信大多数人都是可以学会编程的(因为我都学会了),它只是一个需要长期积累熟练的过程,肯定是有个瓶颈期的,我的瓶颈期就特别多,但是每当你尝试着在熬过最艰难的时刻你会发现你可以看到跟之前不一样的风景,恭喜你,你在这个时候就已经更上一层楼了,兴奋——挫折——欣喜——疑惑——挫折——兴奋……,不断地解决新的问题你的能力也在提高,所以对于自我怀疑,我认为一定要多多正确认识自己的能力,肯定自己。
(2) 其次可能是学习方法不当。每门技艺其实都有它本身需要多多注重的东西。编程的话还是要注重多动手,只看书和视频不动手是学不会的,要get your hands dirty,在实践中去解决问题。只看书和视频然后一到动手编程就傻眼,这真的是无关乎智力和天赋,而是学习方法的问题,要避免自己假装很勤奋的假象,多做点能切实提高能力的事情,按照正确的学习方法去学习。
二、学习方法
有了好的学习心态做基础,如果加上好的学习方法那就如有神助了。
每个人都有自己适合自己的学习方法,比如编程大神可能会多多把时间花在实际动手练习上,而有些人可能是更多地注重理解。我只谈一下我自己的方法,有需要的人可以尝试一下。以下各个方法并不是分割的,我是灵活交叉着使用,比如自学和求助都是必要的。
1.自学
(1)多多动手
还是啰嗦点,编程还是得多多动手,其他的可能稍微次要点,但是不动手还真不行。
(2)对自己经常用到的东西要熟悉
编程的话应该会经常用一些工具,比如你的编辑器、jupyter notebook,Github如果你以后是要长期用的话,在开始正式编程之前可以花个1个小时去官网或者博客深入了解下这些工具有什么功能,是怎么用的,有什么快捷键。工欲善其事必先利其器嘛,掌握这些快捷操作和对软件的熟悉可以大大提高你编程的舒适度,让你更乐意去编程,也会更快。
(3)勤做笔记
Udacity的主要教学方式是很短的视频,这点好处是灵活生动,没入门的初学者都可以看得懂讲什么,不像冗长乏味的教科书那样让别人昏昏欲睡。但有个缺点是,找起来真不方便。试过的同学应该知道,你学完一个chapter一段时间之后如果你忘了那个章节的内容,想再回去找找看,那可真不好找,每个视频少说也有3,4分钟,一个一个的找,15分钟过去了,还有心情继续学习吗?所以说,在平时就应该做好笔记,一边看视频一边做。这里要安利一个大家都知道的笔记神器——“印象笔记”。大家都知道,但可不一定已经把它物尽其用了。事实上,我也是在学习这个纳米学位的过程中,同时参加了一些印象笔记的线上讲座,把它的功能进行开发应用。关于印象笔记的内容有些多,在这里无法展开讲,强烈建议大家用一到两个月去培养应用印象笔记的习惯,会有在工作舒适度和效率上大有不同。这里简单说说我用印象笔记干了些什么。
- 将一个chapter的内容汇总到一个笔记当中。
- 我会每次听完一个视频的时候觉得有需要就会截个图,然后在图下面插入一个表格框(就是那个淡黄色的框框),然后用自己的语言简单写下这节课讲的知识点,可能是几句话也可能是几个词,也可以插入代码框,在里面输入自己的代码,这个方法是我听一个印象笔记的在线讲座学到的,是费曼学习法的实际应用。
- 我会将每节课视频下面的备注复制粘贴到印象笔记中,因为我并不是学完这个学位我以后就再也不碰这些知识了。相反,我以后其实还要反反复复地用到,所以保存下来会很有用。而且印象笔记这点做得很好,在复制黏贴的过程中其实也把超链接原封不动地保留了下来,这样以后还要查的时候一点击就可以去到那个网站。Udacity的教学资源其实很丰富的,要多善于加工利用起来。
- 平时关注一些Udacity,数据分析等相关公众号,遇到好文章记得保留下来。关注印象笔记公众号之后就可以一键保存文章到印象笔记,浏览器的网站也是一样的。这样多多扩展课外的学习内容,毕竟要学习知识可不能只看Udacity的视频。
- 笔记做好之后也要多多回顾。我做笔记的目的不是只为了记下来,一开始记录就是为了以后能快速查找,当然印象笔记的搜索能力也是让你喜出望外的,悄悄说一句,图片里的文字也是可以搜索得到的,否则我也不会那么热衷截图。
多讲一句,最好来一个印象笔记的高级会员,不讲了,公益广告打得有点多,扔下印象笔记的官方网站,自学。
印象笔记一键保存文章(4)多查
除了勤做笔记便于回顾,其实还需要多多去搜索。这里的搜索可不是大学本科的“百度一下”,最好来一个翻墙VPN账号。说到这可能有些人有点纳闷,怎么都是要钱的?我是试过不要钱的方式,但是又折腾又不好用,我也只是一个学材料的研究生,什么配置VPN还真搞不来,所以还不如直接买个VPN账号来得省事,也不贵,我是在Loco加速器做活动的时候买的,100元半年,我觉得是比较划算的,也有更好的选择。有了VPN,当然就用Google咯,之所以用百度是因为百度很多时候其实搜不出我要的答案,但Google可以。搜索大家都会,输入关键词嘛,这里稍微提示一点,就是搜索的时候把问题先想一遍,我的代码可能是哪里有问题,再把这个问题用英语描述一遍,语法倒不重要,重要的是能读得懂,覆盖要点,那么搜出来基本就是你想要的答案,并且发现好的资源网站还可以加到书签以后继续用呢!
此外,还有一些必逛好的论坛网站,比如Stackflow,3wscool等等,这些只要你搜索肯定能发现。
(5)适当看一些书籍
Udacity的课程是真的好,我这个门外汉都能入门,解释专业知识的方式让没有背景的人都能秒懂,而且教学大纲循序渐进,基本上把数据分析师要用到的工具都介绍了,很全面。广度是有了,但另一方面,深度得我们自己补上,视频毕竟不能覆盖所有的知识点,就举P2 探索数据集为例子,我们初步学习了numpy和pandas这个包,但其实视频里面关于它们函数的用法还真没讲多少,这个可以理解,毕竟所有的函数如果都仔细一个一个抠,那就不知道讲到什么时候了,所以还得多靠自己线下多花功夫。有一本书叫《利用Python进行数据分析》这本书比较全面,是pandas的开发者写的,内容全面又配合大量实例,多看几遍和多练习,保证可以掌握numpy和pandas。
这里如果看书的话可以讲两点:1.尝试阅读外文书。这是因为外文书更新比较快,质量上也更加有保证,另外熟悉外文也可以有助于找到更多资源。2. 还是要做笔记,方便回顾。
2.求助
自学说完了,接下来可以说下Udacity给我们提供的优秀资源,我们该怎么用起来。
我们先看下Udacity的用户界面。
右侧的部分点开来发现有论坛、研讨会、职业资源中心、一对一辅导以及video和字幕的下载包。
我并不是所有都用得很多,用得最多的是论坛和一对一辅导。Udacity一个很强的优势就是有导师答疑解惑,比如在论坛上提出你的疑问一般都有老师在24小时内回复。我一般是附上课程的链接地址,截图,加上详细的问题的描述,一般是可以解决当天的问题的。
另外一个我用得比较多的是一对一辅导,坦白说,作为一个新手入门,在P3那里真的卡了很久,现在回过头来看其实并没有那么难,用心一点耐心一点还是能一点一滴做出来的。但那时候确实不知道怎么就卡住了,于是我约了一对一,虽然都是很基本的一些概念认识问题,但一对一的Jerry很有耐心,我的问题在他三言两语下解释得很清楚,我能顺利毕业他功不可没。每当我对项目或者学习有一些比较多需要集中解决的问题的时候,我都会一对一约见,这个过程中除了是在解决问题,另外一方面更是在加深对自己学习内容的理解和回顾,以及跟导师一对一沟通拓宽自己的视野,一对一约见我基本是维持在一周一次。其中在后半段帮了我很大忙的是一个微信号叫芒果兔的导师,她很耐心,对我问的很多奇奇怪怪的问题都一一解答,增强了我学习的动力和信心,在此要表示衷心感谢。
-
同时要进行的东西
除了以上内容,我从后半段发现其实还有一些可以做得更好。
(1)比如在一开始的时候可以建立自己的Github,然后每完成一个项目就更新一下,这样是为了以后面试的时候提供自己的作品;(2)一开始可以尝试加入互助班,我觉得是个不错的尝试,这样有计划有条理地往前走,按部就班说不定会学得更多更好;
(3)Udacity的选修课程其实还蛮重要也很有用的,比如完善简历,完善领英个人档案,因为这些都是跟实际相关的,都是我们要用到的,所以这部分也是需要好好学习,认真对待的。 -
其他选择
(1)Udacity每周都有直播课,如果英语好一点的又可以翻墙可以尝试一下,至于机器学习现在有中国区的,录播会放在bilibili上,用来开阔视野很好。
(2)好像写博客也是程序员的修炼之一,所以也不妨尝试开通自己的博客,记录自己的学习成长,分享自己的知识。说不定写个一阵子会有不少人关注。常用的有CSDN等。
三、学习资源
- 电子书
(1)网站
外文电子书(需要翻墙)
- wowebook
- 1bookcase
国内
- 看看豆
- 百度盘
- CSDN
- 下载之家
(2)阅读器
之前阅读电子书一直是截图+印象笔记来做笔记,但最近发现一款特别好用的阅读器叫做MarginNote,一般的功能都有,但是它是根据学习习惯所建立的阅读器,可以做学习卡,以大纲、导图的方式来复习,以后回顾起来很方便
MarginNote图标 MarginNote界面
- 论坛
Stackflow 程序员讨论的网站,很多问题都可以在这里得到解答
Udacity Forum 导师解答的论坛
知乎 中文的殿堂 - 搜索引擎
Google 很好用的不二之选 - 官方文档
Python document
Pandas document - 学习资源
w3scool
Kaggle
6.关注的公众号
伯乐在线
Python开发者
优达学城 Udacity
以上并不是完整的,也并不是最好的学习方法,我相信适合自己的学习方法才是最好的,以此互勉,纪念自己在udacity学习数据分析师的日子。
如果有兴趣的话不妨关注我的简书“九日照林”以及公众号“沉木三丁”,我会不定期更新自己学习的高效工具,方法和心得。
网友评论