1. 程式人生 > >寫給還在迷惘中的大學生(計算機學院)

寫給還在迷惘中的大學生(計算機學院)

一. 寫在前面

       現在寫這封部落格,可能有點早了,畢竟大學也才過了一半,但是感覺如果自己不考研的話,自己的大學其實就已經過了三分之二的光陰,時間過得太快了,我還來不及停住腳步欣賞,無情的歲月就已經匆匆離去。想想自己的大一那一年,自己連自己的專業是幹嘛的,都不知道。過了一年之久,才有所覺悟,才清楚的認識到自己真正想要什麼,然而我卻浪費了整整一年的光陰。說真的,真的很羨慕14級課改的同學們,因為上課的進度比我們接近快了一倍,大一專業課就開了不少,而想想自己的大一。。。前幾天跟大一(即將大二)交談時,他說如果能讓新生更早的知道這個專業是幹什麼的,以及以後應該怎樣做,或許ACM集訓隊會有更多的人從大學一開始就來參加,集訓隊並非有門檻,但也並非完全沒門檻。這句話該怎麼解釋呢,起初接受集訓的時候,你是不需要任何基礎的,這裡所說的基礎是:高中是否搞過OI,以及先天智商很高之類的,這些都不是很重要,(這裡有一個很勵志的學長故事,曾經掛科無數的他,在大三那一年拿到了有史以來年薪最高的offer(計算機學院本科生)),我認為最重要的是,自己的努力以及完成事情的執行力。當然在接受集訓之後就要開始選撥人開始參加各種各樣的比賽啦,有付出就會回報,我一直很相信。

二. 總體把握大學

        你還在為自己高考成績而傷心嗎,你還在想想大學是否應該怎樣度過才算充實嗎?我先給張計算機學院所學的所有課程藍圖,在說下面的吧。

以上是我在網易雲課堂擷取到的圖片,可能在你大學期間並非所有的課都會上到,而且課程安排與大學也未必符合,僅作參考,但我認為,作為計算機學院的學生,上面的所有課程都是應該要學會的,我曾經參照谷歌軟體開發員入職的先決條件,想想大學到底應該學什麼。接下來我將詳細講解一下本弱弱現在才大三,就只詳細講解一下大一,大二該學什麼吧。我覺得,不管該學什麼,只要自己肯努力就行,因為人生並不是只有ACM一條路,未來有很多路可以供你選擇,而且你學了ACM後,以後也未必專門做演算法。但是,個人認為在大學前兩年應該搞搞ACM(至少堅持兩年以上,一定要堅持,不難很難出成績),本人弱菜,大一荒廢了一年,決心大三繼續堅持走下去。。。ACM,我覺得還是很有用的,學了之後,不管以後找工作,還是考研,都有不少的好處,雖然以後可能用不到,但是以後工作了的,搞過ACM的明顯比沒搞過的思維要靈活(學長告訴我的經驗,不喜勿噴)。(感謝耀哥指點)

三. 寫給大一

       可能一開學,你會對各種各樣的社團以及各種學生會所吸引,個人建議的話,社團不要進的太多,不然會被困住太多課餘時間,學生會的話,進進好處肯定時有的,但同樣也會佔據你很多課餘時間。畢竟才大一,所以多多體驗一下,各種生活方式。培養自己的生活愛好,至於ACM,不要在群裡跟學長學姐們瞎扯,專心搞題,不要浮躁。(這裡的瞎扯,指的是別盡說些沒有的,但可以多聆聽學長們的經歷,交流一下生活與學習)。大一上學期,搞定基礎c語言,課後題都能敲出來。推薦一本入門書籍《ACM程式設計競賽基礎教程》或《挑戰程式設計競賽》,都不錯,幫助自己學習演算法,一個寒假的時間可以搞定。當然書中也有一些不完全的地方,比如題目不到位之類的,大家每學到一個演算法,就去網上找一些相對應的題目做做,把這個基礎演算法打牢固,才可以有提升。

下學期的時候,可以刷刷白皮書(劉汝佳的《入門經典》和《訓練指南》)。看看自己是不是真正適合搞acm,如果你喜歡就留下。不喜歡,就開拓自己的視野。多學點兒東西!

大多數學校都是以這兩本數為例,開始刷UVA上的題,肯定有它自身的好處,我一開始覺得太難了,不符合我們弱校,但是石大神說,“明知道自己弱在哪裡,還不肯好好學習,難怪自己不能拿牌,別人拿金牌是理所應得的”。所以我決定以後還是按照這兩本書來訓練,強制性硬啃下來,以後還是會有好處的。

沒事的時間建議看幾本這樣的書《數學之美》《浪潮之巔》july部落格五大系列來提高自己的深度。

三. 寫給大二

       可愛的大二的孩紙們,在做acm的同時也要想想自己以後的出路了,趁著年輕,趕緊看完下面前兩排,然後再看後面的這些,其實好書還有很多,我就不一一列舉,看完那些的基礎上,可以看一些別的,多瞭解瞭解,語言的話感覺掌握c++或者java一種,個人推薦java,指令碼語言掌握一種,建議python,隨著趨勢來看,java需求量越來越大,c#這種東西語言更新換代太快了(不久前,微軟又出了一種語言代替了它)。

《程式設計之美》《C++ Prime》《effective系列的c++/java》

《演算法導論》《python基礎教程》/《Head first python》

《劍指offer《程式設計珠璣》(斌哥說這兩本大一看,太早了,我放在大三看)

《深入理解計算機系統》《文明之光》《大話設計模式》/《Head first 設計模式》

《tcpip詳解》《Unix網路程式設計》《java程式設計思想》《c++程式設計思想》

《程式猿面試筆試寶典》/《java程式猿面試筆試寶典》

《圖解TCP/IP》《圖解HTTP》這兩本書,雖然是日本人寫的。。。但是個人感覺還是很好!


未來發展方向在於“移動端”和“大資料”,所以,可以去學安卓或者ios開發。也可以去自學機器學習or資料探勘,這些都是未來的趨勢啊!現在還年輕,再晚點就晚了!
另附耀哥、斌哥部落格 感謝耀哥、斌哥、以及石大神的建議,有待更新。。。