转眼六年已过,从开机都费劲到今天也能写代码三两行,一路走来,不断的踩坑,走弯路,而时至今天也是。一路走来有很多感悟,所以作此总结。
1. 不要认为自己能学完所有的知识
用谭浩强老师的话来说,学计算机必须有一个强大的心理。确实,在晦涩的基础知识和不断迭代更新的技术中,必须要学会快速学习掌握的能力。而在如此繁多的知识中必须要有取舍,不要妄图自己可以学完所有的东西,必须要有自己喜欢和想要去研究的方向,再以此来扩展发散。
2. 基础知识很重要,但是没精力的情况下可以适当放水
计算机基础很庞大,难度也很大,如果没精力的情况下可以不用花大量精力去深入研究,但不是完全放水,至少要学懂书本上六七成以上的内容,达到哪怕两年不用,后边用到了捡起来也能够很快上手,能继续深入学下去,目的也就达到了,感觉这也是大学课程最大的意义。对于数学,最好是超越自身的极限,哪怕很难达到,但至少也要多刷几道题,不至于考完试就全还回去,这会让你在后续如果接触到机器学习,人工智能理论的时候不至于抓瞎。
3. 学习编程语言,不要纠结于语言语法特性,要注重实践
要明白编程语言只是工具,所有的编程语言大多都由数据类型、程序结构、数据结构、函数库、扩展特性这些部分组成。所以初学最忌死磕语言特性,因为这些东西是学不完的,也是记不住的,最好的方法是在基础的会后在实践中去学习,查找,等后续回过头会发现已经学会了很多了。
如学习c语言,在掌握基础的是怎么回事了可以结合单片机写写简单控制代码,开源课程多了是,跟着学一学,让结构体,指针折磨你几遍,多思考也就掌握了。至于刷算法题,还是算了吧,相信也坚持不下去,但也不可以没有,两三周,三四周刷一道也就可以了。
如学c++, 可以结合qt或者其他框架,写点小东西出来,也就不至于放弃了。java, python 这些可就太多了,多去网上了解, 学习学习免费的课也就入门了。
至此你就会发现东西太多学不过来,所以必须要有自己的方向,将主要精力放在自己的主要方向上, 其他方面可以不用那么优秀。而且,很多东西是交叉的,理念是相通的,最终也会达到相辅相成的结果。
4. 发展兴趣, 给自己一个坚持的理由
在学习过程中一定要找到自己感兴趣的方向,一切都不会一帆风顺的,而它或许会给你一个坚持的理由。
5. 工作可能并不会理想
保持乐观心态, 不要在意太多,工作大多时候只是工作而已。
6. 喜欢技术的话
如果喜欢技术,并享受于学习研究的话可以多学习,多坚持,多关注前沿,你的目标是成为掌握计算机关键技术的工程师。
最后,要精于基础,广于工具,熟于业务,永远保持进步和学习的心态,心不死,道不灭。