零基础如何学习优达学城的《无人驾驶入门》?

因为感兴趣,而且看好无人驾驶行业,我学习了优达学城的《无人驾驶入门》课程。最近整理了无人驾驶领域的资料,写成文章分享给大家。

作为系列文章的第一篇,我想介绍一下《无人驾驶入门》这门课,课程所需要的先修知识,以及我是如何准备的。

《无人驾驶入门》课程链接:https://cn.udacity.com/course/intro-to-self-driving-cars--nd113-cn

学习这门课的收获

《无人驾驶入门》其实给我带来了不少收获,比如认识领域内的大牛,结交一群志同道合的同学,了解行业动态,获得推荐就业的机会等等。

《无人驾驶入门》是一套成体系的入门课程,通过这门课,可以快速了解、进入无人驾驶领域,我认为是值得的。至于学费,的确不便宜,不过可以通过成为好学长/好学姐,助教,代码审阅者等形式得到优惠,甚至现金报酬。

先修知识

作为一门“入门课程”,虽然需要一定的基础知识,但是并不难,即使完全不具备也没有关系,可以在比较短的时间内掌握。

先修知识分成编程知识和数学知识两部分。

编程知识

编程知识,需要掌握python基础(40小时的编程时长)。虽然课程中期会使用C++,但是主要目的是把python代码翻译成C++(因为C++运行速度更快)。课程会从头开始讲解C++的知识,没有C++的基础也没有关系。

所以,在编程方面,主要需要掌握的是python的基础知识。主要包括数值类型(整型,浮点型,布尔型,字符串),运算符(算术运算符,比较运算符,逻辑运算符),循环语句(while,for),判断语句(if,else),列表和类等内容。

网上有大量的python学习资源,质量参差不齐。有些课程,前期集中讲解各种理论知识,后期才开始实践,对老师来说教起来是省事了,但是对学生学起来就费劲了。前期不知道这些知识有什么用,该怎么用;后期需要用了,却已经忘光了。

我推荐优达学城的相关课程,因为课程都是以项目为导向。学到的相关知识,都会以项目的形式展现出来,不光学到了知识,还知道该如何使用这些知识。完成多个项目后,不仅对让你对编程产生兴趣,还特别有成就感。另外,课程有时间节点,需要在规定的时间内完成,否则将无法学习。“截止日期”无疑是拖延症患者的良药。

推荐课程如下:《编程基础:Python(中/英)》。这是优达学城的一门免费课程,而且还有中文字幕,适合没有基础的新手学习。

《编程基础:Python(中/英)》:https://cn.udacity.com/course/programming-foundations-with-python--ud036

除此之外,优达学城还有适合新手的付费课程《Python入门》。不同于免费课程,付费课程提供更多服务,比如共同学习交流的学习小组,导师一对一辅导,限时完成学习内容等等。

《Python入门》:https://cn.udacity.com/course/intro-to-python-nanodegree-foundation--nd000-cn-python

补充知识

学习完上述课程,你已经满足《无人驾驶入门》的编程要求了。如果你希望进一步学习python的相关知识,我推荐优达学城的另一门免费python课程:计算机科学导论(中/英)》。这门课同样适合零基础的同学,与前面两门课相比,它的内容多课时长,适合那些想打好python基础的同学。它的项目没有那么多,整个课程主要是完成一个爬虫程序,趣味性弱了点。

《计算机科学导论(中/英)》:https://cn.udacity.com/course/intro-to-computer-science--cs101

另外,再介绍一些其他编程资源。

如果想了解python的一手知识,请在python官网上查看。

python官网:https://www.python.org/

如果英文实在看不懂,可以查看下面的中文网站。

廖雪峰的官方网站:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000菜鸟教程:http://www.runoob.com/python3/python3-tutorial.html

虽然这些资源都不错,但是并不能解决你所有的编程问题。就好比遇到不认识的字,可以查字典。但是这个字具体应该怎么用,字典不能告诉我们。同样,你的程序出错了,是什么问题导致的?如何解决?要回答这些问题,你需要高手相助。

程序员最好的救助网站是stackoverflow。它就好比编程版的百度知道,你遇到的问题上面基本上都有答案。



stackoverflow:https://stackoverflow.com/

国内同样有程序员的交流网站——CSDN。上面有大量的博客,资料和课程等优质内容。你遇到的问题,很有可能已经有人解决,并且放在了他的博客上。

CSDN:https://www.csdn.net/?ref=toolbar

如果你还想在编程的道路上更上一层楼,学习、模仿大咖们的程序是非常好的方法。github就是一个代码交流的乐园。你可以把github理解成一个公开的百度网盘,世界各地的程序员把他们的代码上传到这里,而且大部分都是开源的。你可以下载,模仿,修改,甚至加入开源项目。

github:https://github.com/

想要随心所欲的使用git(可以理解为游戏中的存档,可以在本地保存代码)和github,你需要掌握一定的相关知识。我学习的是优达学城的《如何使用Git和GitHub》,课程免费,有中文字幕。

《如何使用Git和GitHub》:https://cn.udacity.com/course/how-to-use-git-and-github--ud775

数学知识

说完了编程的先修知识,下面谈谈需要准备哪些数学知识。数学知识主要包括概率论,线性代数的微积分3种。提到数学,可能很多人都会头大,其实根本不用担心,用到的都是最基础的知识,大学里大家都学过。另外,我认为之所以很多人数学学不好,是因为不知道能用在哪里。现在数学知识有了实际的应用场景,相信学起来更容易,也更有乐趣。

概率论重点掌握两个知识点:条件概率和贝叶斯定理。这些知识可以在《统计学入门》(免费)中学到。这门课一共有34个章节,不需要全部学完,掌握1-11小节(11A. Probability Distributions)的内容就足够了。以后如果还有需要,继续学就是了。

概率论方面的资料很多,我为什么选择这门课呢?因为实践。每小节讲解的数学知识,老师都会通过python编写成相应的程序,而我学习这些知识的目的,就是为了编程。

《统计学入门》:https://cn.udacity.com/course/intro-to-statistics--st101

线性代数重点掌握两个知识点:向量和矩阵。同样是最基础的内容,比如向量的定义,向量的加法和乘法,矩阵加法和乘法等等。推荐《基础线性代数》,课程免费,有中文字幕。掌握1,3,4节的内容就可以了。和《统计学入门》一样,除了讲解知识点,还涉及通过python编写相关代码。

《基础线性代数》:https://cn.udacity.com/course/linear-algebra-refresher-course--ud953-enterprise

微积分重点掌握两个知识点:微分和积分。了解基本概念就可以了,内容比较简单,就不额外推荐学习资源了。

总的来说,需要掌握的数学知识难度都比较小,虽然推荐了相应的课程,但是在《无人驾驶入门》这门课中再去学习也是完全可以的。

值得一提的是,《无人驾驶入门》的课程内容中,有少量内容和我上面介绍的课程是重复的。这意味着,通过学习这些免费课程,你能提前掌握《无人驾驶入门》的部分内容。

学习心得

最后聊聊学习《无人驾驶入门》的3点心得体会。

良好的心态很重要。即使是入门课程,在学习的过程中也是会遇到困难的,针对不同类型的问题,优达学城对提供了相应的解决渠道:

  1. 小问题可以直接在群里@mentor提问;

  2. 课程中难度较大的问题,可以在论坛搜索、提问;

  3. 教室登陆等非课程专业的问题,可以在群里@优达学城工作人员;

  4. 发票、反馈室教室系统问题,翻译报错等其他问题,可以填写工单;

除了向优达学城求助,前面介绍过的stackoverflow和CSDN也能帮你解决不少问题。

阳光之下没有新鲜事,你遇到的问题别人一定也遇到过,并且已经有了好的解决方法。你要做的,只是通过恰当的途径找到这些方法而已。所以,遇到困难也不要着急,相信问题都是能解决的。



我是无人驾驶入门纳米学位课程18年3月开课班的学长,希望我的这些经验对你有帮助。如果你对udacity的这门课程也感兴趣,可以使用我的优惠码:839662C0,付款时在优惠码框输入,可以抵扣300元学费(限第一次购买udacity课程的学弟学妹用哈)。

猜你喜欢

转载自blog.csdn.net/dshgers/article/details/80427007