很多年的学校学习,让我们养成了一些不好的学习习惯。很多人工作以后,还是习惯和学校一样,经常没有目的的在学习。读了很多书,知道了一些理论,但是如果不加实践,基本上没有什么作用。还有一些同学,社会上流行什么,就学什么。殊不知这种跟风式的学习,对自己有百害而无一益。学习还是要有一定的时效性、目的性和基础性。
这里,我介绍一下自己的学习方法。对于工作中的技术,一般是按照项目为中心来学习的。举个例子来说,如果自己想设计一个网站,那么我会想,它会涉及到哪些技术?比如它会分为前端、后端?那么前端有哪些,后端有哪些?这个时候,经过分析,就可以给自己一个学习清单了。
1、html
2、css
3、js
4、python
5、webpy
6、bootstrap
7、jquery
8、mysql
经过这么一折腾,基本上就可以知道网站的来龙去脉了。当然,这种方法还可以推广到很多其他的领域。比如,很多同学对嵌入式很感兴趣,但是不知道怎么入门,那么他完全可以用这种做项目的方法进行思考。一个嵌入式软件有哪些?怎么编译?怎么烧写?怎么编写上层应用,怎么写驱动,怎么写脚本?知道了这些,他就知道怎么给自己安排课程。
1、arm
2、c和汇编
3、交叉工具链
4、uboot
5、kernel
6、rootfs
7、驱动
8、上层应用移植和开发
9、脚本编写、开机启动
上面都是一些通用的课程,那么如果是比较新的题目呢?比如自动驾驶,这个时候又该怎么做呢?其实也不难,只要去买一些书籍、关注一些知乎文章,阅读一些开源代码,大概也知道自动驾驶需要学习哪些课程?比如如何获取传感器数据,如果识别,如何规划,如何定位,如何控制,如何仿真等等?
1、激光雷达、camera、imu & gps、毫米波雷达 & 超声雷达
2、传感器数据获取、bus总线
3、车辆定位
4、行人、路灯识别
5、行为判断
6、路线规划
7、车辆控制
8、仿真 & 机器学习
9、高清地图应用
总之,建议大家学习的时候,可以按照项目一个一个去学。先定一个总的目标,然后细化,具体到每一个课程。接着将这些课程做一个安排,最好计划到每一天,长此以往,你就可以看到自己每天的进步了。用什么就学什么,学什么就实践什么,这样往往效果最好。
转载自:https://blog.csdn.net/feixiaoxing/article/details/79704881