我在大學以前甚至連一個萌新都算不上,根本沒有任何一點計算機專業的基礎。
所以在進入大學以前,計算機對於我來講就是遊戲機和視頻播放器以及我那幾乎忘光的office,編程什麼聽都沒聽過,c/c++,python,java等編程語言更是聞所未聞。
我在選擇大學專業的時候因爲家裏人都和我說學計算機太累了,並且出來工做到三十多歲就到頭了,所以都不建議我去學計算機,它們都建議我去學數學,不過當時北航招生辦的人告訴我北航還有一個高等工程學院,能夠在大一一年先不分專業,學習基礎課,等到大二在選專業,由於我當時對於我要上的專業沒有什麼明確想法,所以以爲這樣挺好的,能夠先在大學熟悉一下,瞭解本身的興趣以後再選擇本身的專業,因而我就填報了高等工程學院。
使我真正瞭解編程並喜歡上編程,最終選擇計算機專業的就是大一這一年,更準確的說是因爲大一開設的C語言課程。因爲我以前從未接觸過編程語言,開始學的時候很慢,並且我才知道有不少同窗高中甚至初中就參加過計算機競賽,和他們一比個人差距更是明顯,像剛開始佈置做業的時候,他們都是當天佈置完做業,晚上加個班就作完了,而我可能要思考一週以上才能完成。
不過這些都沒有使我放棄這門課,主要是由於教授咱們C語言課的孫自安老師,他對於這門課講解的十分詳細,徹底將咱們視爲毫無編程基礎的學生來教,並且有問題去請教時他也不吝賜教,對個人每一個問題都講解的十分詳細,讓我逐漸接受並遇上了這門課。
隨着自身能力的提升,在作做業時顯得更加駕輕就熟,在一次次的問題思考中也深深體會到了計算機語言的優美之處,和同窗們交流也對計算機領域有了更加明確深刻的認識。
同時也因爲知道了計算機專業是最火的專業,因而在大二分專業時就選擇計算機專業。
這就是我和計算機專業結緣的歷程。
很明顯個人條件比起那些博主來講差的太多了,一方面是因爲自身條件,本身沒有一個探索的心,雖然很早就接觸到了計算機,可是隻是像通常人那樣使用它,根本就沒有思考過計算機爲何能作這些工做,它的各個配置的功能都是什麼;另外一方面也是因爲環境緣由,在我周圍的人中,根本就沒有計算機學科這個概念,他們都認爲計算機就只是一個玩的或者工做的工具,什麼計算機競賽根本聽都沒聽過。
好比,雖然和博主A[1]同樣在小學就接觸到了計算機,初中家裏也擁有了本身的計算機,可是博主A能本身刷系統,作遊戲,學語言,本身卻只在玩遊戲或者瀏覽網頁。java
在上大學以前我最喜歡的數學,由於我當時數學在咱們班學的是最好的,考試也常常考第一名,而對計算機領域是喜歡的,可是當時對計算機的喜歡和如今不同,當時就是喜歡玩遊戲而喜歡的計算機。後來上了大學以後,因爲C語言課而根計算機結緣,後來到了計算機專業進行了系統學習以後,計算機組成,操做系統,數據結構,算法……有喜歡的課也有不怎麼感興趣的課,不過對於不感興趣的課,告訴本身已經選了計算機專業了,無論這個專業的什麼課,都要認真的學完,所以對每門課都認真的學習。後來發現對於全部課,只要你認認真真的學習下去了,真正瞭解了這門課的內容,老師講的你都能聽懂,做業都能完成,那麼你就必定會對這門課感興趣。
如今計算機已經變成的我最喜歡的領域,對於涉及計算機領域的內容,我都十分感興趣,,這也是我選擇軟工這門課的主要緣由。
至於擅長,它如今對於個人其餘領域而言,已經成爲我最擅長的專業了。python
這個問題的回答是確定的,隨着對計算機學習的深刻,瞭解的知識愈來愈多,不懂的知識愈來愈多,想要學習的知識也愈來愈多。c++
我相信和我同樣,不少人在高中時候聽到的最多的一句話就是‘當你上了大學以後就輕鬆了‘,這也成了咱們挺太高中辛苦生活的支柱。
可是,等到了大學以後才發現根本不是那樣,大學的課程雖然沒有高中時期那麼多,那麼密集,可是它的難度卻上了一個檔次,若是想要真正學好一門課,勢必要在課後花費大量的時間,並且因爲大學學習的自由行和接下來你要面向的社會,你必需要不斷的學習各類課外知識,與本身專業相關的各類知識,不斷補充本身,才能使本身不會落後於人。
其實我沒有什麼理想的大學,我屬於應試教育下的適應性較強的那種人,無論教育方式是什麼樣的,我認爲只要堅持認真學習,不斷補充本身就能夠了,所以雖然大學的教學方式和高中的不太同樣,我以爲本身仍是適應的挺快的。
就我大二在計算機專業後學的課程而言,咱們學校已經在部分課程上像國外學習了,好比咱們的機組課程,OS課程都和美國高校的教學模式同樣的,以各個project貫穿課程
也有些正在像國外模式學習的課,好比說算法課,雖然不能作到像國外同樣,組成團隊每種一個project,可是咱們有期末大做業,是團隊完成,解決送餐這樣的實際問題。
固然也有些課程和國外徹底不一樣,好比數據結構課,整個課程下來沒有一個編程做業,期末考試也是筆試做答,這和國外重視實踐是很不一樣的,這些課程要改起來我以爲還有至關長的過程,由於比起實踐而言,咱們更重視理論知識的掌握,認爲有了理論知識後,在作起project來就駕輕就熟了,這是一種根深蒂固的想法,不是那麼容易改變的。算法
說來慚愧,老師說的先寫一萬行代碼這個目標我如今應該是尚未完成,就我目前的代碼量而言,大概也就是幾千行吧,這主要包括大一C語言,自學python時的code,自學數據結構和算法是的code,機組課程中的verilog和彙編,OS中填補project的code,自學tensorflow時的code,以及一些零星學習其餘知識所寫的code。
其實最複雜的做業應該是OS課程中的project,不過由於在這個project中大部分的工做都是由別人填好的,咱們要作的只是不多的一部分,所以本身完成的最複雜工做應該是機組課程中使用verilog編寫一個50條指令的CPU出來,這個CPU要能處理50條彙編指令的流水線工做,在這個工做中,使我更清楚的明白了在一個project中模塊的重要性,也知道了要完成一個工程所要擁有的總體思惟。編程
我以爲重要的是思惟方式,科班中老師不光傳授的是知識,更重要的是教授你一種思考問題,學習的方式方法,你在大學四年所要收穫的不只僅是知識,更重要的是掌握一種思考問題的方法,這纔是你使用一輩子的寶貴財富,知識是學不完的,說實話,咱們更多的知識不是來自於課堂而是來自於課外,可是你可以吸取掌握課堂外知識的能力確實來自於課堂,而這是非科班出生的人要經過很久的自我探索才能獲得的。網絡
確定是有的,速成班只專一於知識的傳授而忽略的思惟的培養,殊不知知識是教不完的,只有掌握了學習知識的方法思惟,纔是真正的人才,即授之以魚不如授之以漁,所以我以爲,若是急切的想要快速的學習一門知識來使用,是能夠去速成班的,但若是一味選擇速成班那麼終究是學不深的,只能掌握皮毛,沒法深刻研究,成爲一個底層碼農而已。數據結構
因爲我以前就有學習數學系的想法,因此對數學的做用是瞭解的比較多的,所以,在開始學習線性代數和機率論的時候,知道數學對各類學科都是有很大的做用的,可是它們具體的做用我只有很淺顯的認識,並不具體。
等到大二學習了數據結構和算法以後,知道了機率論在計算機繫有很大的做用了,好比在計算時間複雜度和空間複雜度時有很大做用,再如線性代數的矩陣在二維列表和圖中有很重要的做用。
其餘學科的話對計算機學科也是有做用,好比生物上的神經網絡就在卷積神經網絡中發揮了做用,因此各個學科都是有其做用的。數據結構和算法
雖然我知道本身是要讀研的,可是最初我對出來幹什麼想法不是很明確,究竟是要在學校或研究所搞科研仍是進入公司工做,後來隨着不斷的學習我發現本身更喜歡實際的工做,也就是能直接出成果,能直接應用的工做,因此我更想要的是進入一所大公司進行工做,若是未來有機會的話,我更想要可以本身創業。
所以對於個人職業道路和社會道路而言,我想要先在學校讀研究生,以後看狀況讀不讀博士我還不肯定,在研究生期間找機會去微軟這類的大公司進行實習,以後出來後有機會的話去它們公司工做,在工做幾年以後若是本身能作出來一個獨立的東西而且有機會的話就出來創業。
爲了達到這個目的個人技術道路主要先是學習基本的知識,以後由於我感興趣的是深度學習方面的內容,我會學習這方面的內容,理論方面的和技術方面的部分。編程語言
除了課程中所教授的知識外,我學習了人工智能和深度學習方面的內容,同時也學習了tensorflow的知識。工具
我其實更像去企業中實習,不過要去實習的內容應該是能讓我參與project的公司,不能是幹些雜活的實習,若是隻是感謝雜貨的話,我仍是選擇在實驗室實習。
感受這個經驗仍是挺重要的,看這些博主的經驗感受到實習與在學校內工做是徹底不同的兩個部分,實習會讓你與別人交流,更深刻的體會到完成project的過程,同時也更能體會到了你想要學習的知識。
另外要想學的好,最好的方法是作project實踐,在這之間不斷的查閱知識,學的會更加清楚,所以企業內部快速的,緊張的,能直接出產品的工做經驗是頗有必要的。
【1】 https://book.douban.com/subject/4006425/discussion/22803733/