知乎話題1——計算機學生在大學如何學習
他的介紹
他在18年6月21號寫這篇文章,在17年畢業,是二本A軟體工程,現在在某衛星城從事網際網路相關的工作,履歷可能不夠有說服力。但是在看完這位學長在大學的學習經歷和成就我就不這樣認為了。
他大一就用純C語言做了一個五子棋,雖然AI演算法是整合網上別人的,但是弄得特別好看;還弄個王者榮耀風格的連連看,也特別精緻;
他的畢業設計是一個特別炫酷的播放器。感興趣的可以看一下上面那個網址;
他的大學雖然基本涼涼,程式設計能力不錯,但是成績不過理想。他的規劃在快畢業的時候才有(那時候他22歲):
25歲前,打造自己的廣度;28歲前,打造深度;爭取30歲之前成為廣度、深度兼具的大佬;在這期間考慮的第一因素是成長,薪資排第二。
他的觀點
1.學習計算機不要按部就班,這樣容易半途而廢。
因為啃不到200頁就會去LOL衝段。所以我們可以先學習一個五子棋的小遊戲,不管理論,邊學邊用。等我們弄出這個軟體後,一方面會收穫成就感,一方面對程式設計更感興趣,並且也更加明白自己所欠缺的東西,學習起來更加有目的。嘗試從實踐出發,然後迴歸理論。
因為知之者不如好之者,好之者不如樂之者;
2.把自己做的軟體當成產品來看待
首先,第一點就是使自己的軟體好看,這樣更有成就感;
3.學校學的東西有用
雖然我們大學學了高數、大物、英語、C語言、資料結構、演算法、計算機網路、計算機組成原理等等,顯然,都是些既枯燥又複雜的知識,後來做開發還很難直接應用到生產實際中,相反,很多網際網路公司招聘,要求的是熟練使用各種框架。前端要vue、React;java要ssh;python要Django;C++要Qt等等,大學裡不教,企業招聘又要。於是有人說大學學的東西沒用,學個框架就能工作。
但是事實不是如此。
- 越是大型網際網路公司越要求,學歷研究生以上,英語過6級,資料結構與演算法警惕,因為到時候就不是用框架了,而是開發框架;
- 如果深入人工智慧領域,就特別需要數學;
- 如果學習一些學習教程(外國的),那麼就會需要用到英語;
- 還有一些小人跑酷,為了使碰撞更自然,就需要用到,重力加速度,剛體等物理知識;
- 如果做引擎優化和影象處理,弄GPU程式設計,需要投影來噴漆,就需要知道求空間中兩個幾何體相交截面;
- 許多軟體開發,其實基礎越紮實,越開發起來容易;
所以說,說大學沒用的人,不是因為大學知識真沒用,而是因為他的能耐與能力,還看不到知識用到什麼地方
程式設計到底一定深度,就需要自己造輪子,資料結構與演算法不掌握不行,一些高精尖的研究,比如大資料、影象識別、人工智慧等都是數學,我們那些框架都是基於我們大學所學的知識基礎封裝出來的。
我的觀點
很是認同。
因為我的C語言沒學,所以我的面向過程程式設計語言,一直都是一知半解,但是process語言讓我開始對這個語言漸漸產生了興趣,我還用process為舍友設計了一個生日快樂的程式,而學習資料結構沒有激發我的興趣。
我因為c++語言沒學,所以我的面向物件程式設計語言,也一直都是一知半解,連學習Java也一樣。但是我學習安卓的時候,漸漸對面向物件有了自己的理解,然後漸漸有了興趣學習面向物件。還有資料庫等等。
對於大學如何學習,其實我也不清楚,但是我覺得
最重要的是開心^-^
把學習當成一種樂趣;
越努力越幸運;
並且未雨綢繆,謀劃未來;
至於玩樂(刷夜,看小說,看電視劇,看抖音,玩遊戲等)的話,偶爾玩玩也許,但是不能把玩當成消遣時間,從而荒廢青春;