1. 程式人生 > >零基礎如何學習優達學城的《無人駕駛入門》?

零基礎如何學習優達學城的《無人駕駛入門》?

因為感興趣,而且看好無人駕駛行業,我學習了優達學城的《無人駕駛入門》課程。最近整理了無人駕駛領域的資料,寫成文章分享給大家。

作為系列文章的第一篇,我想介紹一下《無人駕駛入門》這門課,課程所需要的先修知識,以及我是如何準備的。

學習這門課的收穫

《無人駕駛入門》其實給我帶來了不少收穫,比如認識領域內的大牛,結交一群志同道合的同學,瞭解行業動態,獲得推薦就業的機會等等。

《無人駕駛入門》是一套成體系的入門課程,通過這門課,可以快速瞭解、進入無人駕駛領域,我認為是值得的。至於學費,的確不便宜,不過可以通過成為好學長/好學姐,助教,程式碼審閱者等形式得到優惠,甚至現金報酬。

先修知識

作為一門“入門課程”,雖然需要一定的基礎知識,但是並不難,即使完全不具備也沒有關係,可以在比較短的時間內掌握。

先修知識分成程式設計知識和數學知識兩部分。

程式設計知識

程式設計知識,需要掌握python基礎(40小時的程式設計時長)。雖然課程中期會使用C++,但是主要目的是把python程式碼翻譯成C++(因為C++執行速度更快)。課程會從頭開始講解C++的知識,沒有C++的基礎也沒有關係。

所以,在程式設計方面,主要需要掌握的是python的基礎知識。主要包括數值型別(整型,浮點型,布林型,字串),運算子(算術運算子,比較運算子,邏輯運算子),迴圈語句(while,for),判斷語句(if,else),列表和類等內容。

網上有大量的python學習資源,質量參差不齊。有些課程,前期集中講解各種理論知識,後期才開始實踐,對老師來說教起來是省事了,但是對學生學起來就費勁了。前期不知道這些知識有什麼用,該怎麼用;後期需要用了,卻已經忘光了。

我推薦優達學城的相關課程,因為課程都是以專案為導向。學到的相關知識,都會以專案的形式展現出來,不光學到了知識,還知道該如何使用這些知識。完成多個專案後,不僅對讓你對程式設計產生興趣,還特別有成就感。另外,課程有時間節點,需要在規定的時間內完成,否則將無法學習。“截止日期”無疑是拖延症患者的良藥。

推薦課程如下:《程式設計基礎:Python(中/英)》。這是優達學城的一門免費課程,而且還有中文字幕,適合沒有基礎的新手學習。

除此之外,優達學城還有適合新手的付費課程《Python入門》。不同於免費課程,付費課程提供更多服務,比如共同學習交流的學習小組,導師一對一輔導,限時完成學習內容等等。

補充知識

學習完上述課程,你已經滿足《無人駕駛入門》的程式設計要求了。如果你希望進一步學習python的相關知識,我推薦優達學城的另一門免費python課程:電腦科學導論(中/英)》。這門課同樣適合零基礎的同學,與前面兩門課相比,它的內容多課時長,適合那些想打好python基礎的同學。它的專案沒有那麼多,整個課程主要是完成一個爬蟲程式,趣味性弱了點。

另外,再介紹一些其他程式設計資源。

如果想了解python的一手知識,請在python官網上檢視。

如果英文實在看不懂,可以檢視下面的中文網站。

雖然這些資源都不錯,但是並不能解決你所有的程式設計問題。就好比遇到不認識的字,可以查字典。但是這個字具體應該怎麼用,字典不能告訴我們。同樣,你的程式出錯了,是什麼問題導致的?如何解決?要回答這些問題,你需要高手相助。

程式設計師最好的救助網站是stackoverflow。它就好比程式設計版的百度知道,你遇到的問題上面基本上都有答案。



國內同樣有程式設計師的交流網站——CSDN。上面有大量的部落格,資料和課程等優質內容。你遇到的問題,很有可能已經有人解決,並且放在了他的部落格上。

如果你還想在程式設計的道路上更上一層樓,學習、模仿大咖們的程式是非常好的方法。github就是一個程式碼交流的樂園。你可以把github理解成一個公開的百度網盤,世界各地的程式設計師把他們的程式碼上傳到這裡,而且大部分都是開源的。你可以下載,模仿,修改,甚至加入開源專案。

想要隨心所欲的使用git(可以理解為遊戲中的存檔,可以在本地儲存程式碼)和github,你需要掌握一定的相關知識。我學習的是優達學城的《如何使用Git和GitHub》,課程免費,有中文字幕。

數學知識

說完了程式設計的先修知識,下面談談需要準備哪些數學知識。數學知識主要包括概率論,線性代數的微積分3種。提到數學,可能很多人都會頭大,其實根本不用擔心,用到的都是最基礎的知識,大學裡大家都學過。另外,我認為之所以很多人數學學不好,是因為不知道能用在哪裡。現在數學知識有了實際的應用場景,相信學起來更容易,也更有樂趣。

概率論重點掌握兩個知識點:條件概率和貝葉斯定理。這些知識可以在《統計學入門》(免費)中學到。這門課一共有34個章節,不需要全部學完,掌握1-11小節(11A. Probability Distributions)的內容就足夠了。以後如果還有需要,繼續學就是了。

概率論方面的資料很多,我為什麼選擇這門課呢?因為實踐。每小節講解的數學知識,老師都會通過python編寫成相應的程式,而我學習這些知識的目的,就是為了程式設計。

線性代數重點掌握兩個知識點:向量和矩陣。同樣是最基礎的內容,比如向量的定義,向量的加法和乘法,矩陣加法和乘法等等。推薦《基礎線性代數》,課程免費,有中文字幕。掌握1,3,4節的內容就可以了。和《統計學入門》一樣,除了講解知識點,還涉及通過python編寫相關程式碼。

微積分重點掌握兩個知識點:微分和積分。瞭解基本概念就可以了,內容比較簡單,就不額外推薦學習資源了。

總的來說,需要掌握的數學知識難度都比較小,雖然推薦了相應的課程,但是在《無人駕駛入門》這門課中再去學習也是完全可以的。

值得一提的是,《無人駕駛入門》的課程內容中,有少量內容和我上面介紹的課程是重複的。這意味著,通過學習這些免費課程,你能提前掌握《無人駕駛入門》的部分內容。

學習心得

最後聊聊學習《無人駕駛入門》的3點心得體會。

良好的心態很重要。即使是入門課程,在學習的過程中也是會遇到困難的,針對不同型別的問題,優達學城對提供了相應的解決渠道:

  1. 小問題可以直接在群裡@mentor提問;

  2. 課程中難度較大的問題,可以在論壇搜尋、提問;

  3. 教室登陸等非課程專業的問題,可以在群裡@優達學城工作人員;

  4. 發票、反饋室教室系統問題,翻譯報錯等其他問題,可以填寫工單;

除了向優達學城求助,前面介紹過的stackoverflow和CSDN也能幫你解決不少問題。

陽光之下沒有新鮮事,你遇到的問題別人一定也遇到過,並且已經有了好的解決方法。你要做的,只是通過恰當的途徑找到這些方法而已。所以,遇到困難也不要著急,相信問題都是能解決的。

我是無人駕駛入門納米學位課程18年3月開課班的學長,希望我的這些經驗對你有幫助。如果你對udacity的這門課程也感興趣,可以使用我的優惠碼:839662C0,付款時在優惠碼框輸入,可以抵扣300元學費(限第一次購買udacity課程的學弟學妹用哈)。