本文首發(fā)于計算機專業(yè) | 程序猿的世界你真的懂?
作者屈同學,本科就讀于哈爾濱工業(yè)大學信息安全專業(yè),現(xiàn)研究生就讀于浙江大學數(shù)據(jù)可視化方向。
1、專業(yè)是什么?
清華大學的網(wǎng)站是這樣定義“計算機科學與技術”這門學科的:從事計算機科學理論、計算機系統(tǒng)結構、計算機網(wǎng)絡、計算機軟件及計算機應用技術等方面的科研、開發(fā)與教育工作。這個定義還是比較具體的,在計算機領域,科研和開發(fā)是有區(qū)別的??蒲惺茄芯窟@個問題是否可解,最優(yōu)解是多少,而開發(fā)工作更多的是在可解問題上得到最貼近工業(yè)應用的算法。計算機科學與技術專業(yè)的培養(yǎng)重點也是注重學生在計算機硬件與軟件以及計算機應用的全面訓練,強調(diào)科學理論與實際應用的相互結合,努力造就適應研究、設計和應用開發(fā)的”復合型”人才。
從名字到內(nèi)涵
在大部分高等院校中,計算機學院僅僅只有1到3個專業(yè),但實際上計算機科學與技術的小方向太多了。每個方向適合的人群不同,比如像圖形學,密碼學需要比較高的數(shù)學基礎,而體系結構,嵌入式系統(tǒng)對硬件的要求比較高。無論哪個小方向的學生都需要比較高的編程能力,這種能力通過實驗課,網(wǎng)上在線評測系統(tǒng)(Online Judge)等都能夠提高。
因此,對一個計算機的學生而言,最后真正重要的反而是自制力和自學能力。對于有志于學習計算記得高中生,我推薦他們多上網(wǎng)看看,接觸最新的技術,因為在計算機這個大圈中今早找到自己想努力的方向是非常重要的。

因此,對一個計算機的學生而言,最后真正重要的反而是自制力和自學能力。對于有志于學習計算記得高中生,我推薦他們多上網(wǎng)看看,接觸最新的技術,因為在計算機這個大圈中今早找到自己想努力的方向是非常重要的。
從理論到實踐
計算機是個和數(shù)學關系很大的學科,特別是人工智能,機器學習這些聽起來高大上的方向,主要是靠數(shù)學系和統(tǒng)計學的人提出的算法,計算機的教授都很歡迎具有數(shù)學背景的學生。
這是我們大學四年主要的課程及簡單介紹


數(shù)據(jù)結構是一門偏軟件,很有計算機特色的課程。這門課程在一些電子電信專業(yè)也會開設,主要的內(nèi)容是數(shù)據(jù)的表達,比如在某個算法中,需要用到一些數(shù)據(jù),如何把它們組織起來以便更快更好的實現(xiàn)功能。這門課也會講到如何用數(shù)學量化地評價一個算法的優(yōu)劣,算是計算機的基礎。我們需要上機編程來訓練,我覺得最好的學習方法是把各個典型的數(shù)據(jù)結構和算法實現(xiàn)一遍,這樣能更好的理解課堂知識。
計算機組成原理是一門偏硬件的課程,它主要描述計算機的硬件連接。它的先修課是數(shù)字邏輯,我們都知道“與或非”這種邏輯運算,在電子實現(xiàn)中也有“與或非”的門電路,數(shù)字邏輯課程就是講邏輯運算和實現(xiàn)邏輯運算的電路以及在此之上更為復雜的,比如選擇電路。在數(shù)字邏輯課程之上,我們會探究真正的電腦是怎么運作的,CPU是如何理解我們輸入在電腦中的命令(轉換成二進制之后)。這門課很有意思,也不難學,學完之后就可以自己嘗試用FPGA做一個CPU。
操作系統(tǒng)是軟件方向上的一個拔高,從語言寫程序,到語言寫管理程序運行的程序,內(nèi)容非常有挑戰(zhàn)性,也很有意思,相信很多同學也跟我一樣想過windows的桌面系統(tǒng)這么是如何內(nèi)部運行的,這門課就是打開了這個黑匣子。課程內(nèi)容比較抽象,在學習過程中需要多想多問,因為大多操作系統(tǒng)都封裝好了,無法看到內(nèi)部的情況,自己實現(xiàn)一個小型操作系統(tǒng)很花時間,但是也是很有趣很挑戰(zhàn)的一件事情。

一般來說課程分為理論課和實驗課,理論課一般為考試加編程項目,實驗課主要以每節(jié)課的小編程作業(yè)和最后的大編程作業(yè)組成。但是就算是有這些實驗必修課,兼得學習成績好和編程能力強也是很難很難的。計算機專業(yè)需要我們在課后需要花很多時間,編程能力的提高需要編寫代碼這些實際操作的經(jīng)歷來提高。我的建議就是上課認真聽講,課后多編程練習。這個過程可能很枯燥,但是一定要堅持。如果可能的話,在大二大三就可以進入實驗室跟老師做項目。大學里也有很多比賽,比賽獲獎對以后保研,找工作都有很大的作用。大部分同學在大三的暑假都會去各大公司實習,不僅僅提升了自身素質還為找工作打下了良好的基礎。
另外,英語在計算機領域也是很重要的,如果要去一些國際公司工作,或者參加國際會議,使用英語交流和看英語論文的能力是必不可少的。
2、專業(yè)發(fā)展路徑
計算機專業(yè)有很大的伸縮性和潛力,能給人非常寬闊的視野,現(xiàn)如今的云存儲 ,搜索引擎 ,移動通訊 ,自動化 ,物聯(lián)網(wǎng) ,大規(guī)模集成電路 ,圖像處理 ,數(shù)據(jù)挖掘 ,高速交換機等各行各業(yè)都和計算機交叉。
從校內(nèi)到校外
從我的觀察來看,計算機專業(yè)能夠覆蓋相當廣泛的數(shù)字化和網(wǎng)絡化帶來的新興工作機會而且這個方向會有非常多的創(chuàng)業(yè)機會,和諸多領域都有交叉,將來想轉行要補足該方向的知識就好,比如弄通了企業(yè)內(nèi)部的運作,那就可以從企業(yè)信息系統(tǒng)開始做起來逐步進入該行業(yè)。
在計算機這個工程類學科中,我學校(哈工大)本科畢業(yè)之后只找工作和繼續(xù)求學大概比例是65:35。
(一)碩博深造:在計算機專業(yè)中,碩士還是比較偏向實際,大部分碩士畢業(yè)后都會去各大公司工作,而碩士的這兩年到三年里,為他們攢下了做項目的經(jīng)驗,同時也會對某方向有更加深入的研究。所以很多公司也指明要碩士生以上。同時,對于工作還是科研猶豫不決的同學也會在這2-3年中對博士的科研生活有更加深入的了解,在碩士畢業(yè)期間,也有不少人選擇碩轉博士。而計算機博士生活則是完全以科研為主,走學術路線,因為論文的數(shù)量和質量是明確要求,博士的畢業(yè)年限也是不確定的。而畢業(yè)后的博士必然在某一方向有很深入的研究,他們有的為了當教授而出國去讀博士后,有的進入公司成為公司的技術骨干,有的自主創(chuàng)業(yè),也有的去研究所工作。

求職創(chuàng)業(yè):不得不提到,學計算機的同學很多去創(chuàng)業(yè)的。現(xiàn)在大學都很支持創(chuàng)新創(chuàng)業(yè),據(jù)我所知,浙大和哈工大都有給大一的新生安排創(chuàng)新項目,讓初入的新生接觸一個真正項目的流程,讓學生們敢想能做,當然因為是新生對技術還不夠了解,項目的難度和成功率不一定很高,但是給同學們以后自己做項目打下了基礎。除了大一項目之外,不同學校在不同的時期也有不同的項目,還有一些創(chuàng)新比賽,比如浙大的RSTP等等,這都給學生很多的機會去想新的點子并實現(xiàn)它。創(chuàng)業(yè)方面,不僅僅有些創(chuàng)業(yè)比賽,學校對一些畢業(yè)生的創(chuàng)業(yè)也是很支持的,會提供一些資金和指導。
從事計算機行業(yè),一般薪資高于平均水平,國內(nèi)本科生年薪在10萬到20左右。但是長時間面對電腦屏幕,加班現(xiàn)象很常見,對身體狀況影響比較大。這個專業(yè)也很難學好,編程的過程比較苦悶,需要耐心和興趣,我也見過很多人想從計算機專業(yè)轉出去。在漸漸人才飽和的市場,需要很強的能力,才能進入頂尖的公司。計算機技術更新?lián)Q代很快,需要一直保持學習新技術新方法。

3、學習體驗與展望
我認為,高考是人生一個很大的轉折點,我從湖南省的一個小縣城以一個僅僅高過錄取分數(shù)線5分的成績來到2956公里之外的哈爾濱,專業(yè)是工業(yè)設計。我并不覺得大學就是像很多人想的那樣盡情的玩,大學能夠做自己想做的事情,學到很多有用的東西,那么就很美好了。因為還是很想試試第一志愿計算機專業(yè),于是通過大一的基礎課的努力,大二初期,以專業(yè)第一轉專業(yè)到了計算機系的信息安全專業(yè)。
學海泛舟
轉專業(yè)并不輕松,要補課還要和努力趕上第一年落下的編程技能。同時,大二下學期的時候申請了大三去韓國高麗大學交流一年的項目,算是幸運的選上了。大三在韓國交流的一年里,不僅僅讓我的英語交流能力有了很大的提高,對于出國的意義也算是有了真正的理解。交流的利在于去一個新的國家,可以跟不同國籍的同學交流,學業(yè)也相對輕松。而弊在于,很難進入實驗室,一些國內(nèi)的比賽無法參加,保研的信息也無法得到,同時,課業(yè)的輕松也代表著學到東西的有限。
為了彌補這一點,在回國之后去香港大學帶薪實習了一個半月。實習的職位是學生研究助理,做的工作也和大學上課不一樣,導師給個目標然后自己去找論文找解決方法解決,每周跟導師見面報告進展,遇到的問題導師也會給出一個較好的方向,現(xiàn)在想來和研究生的生活很像。認識了很多很優(yōu)秀的同學,但是一個半月的實習時間太少,做的東西也不夠多,算是初步了解了科研生活。
大四的時候參加了浙大的保研面試,順利的被錄取后就來到了浙大。身邊的同學有的考研去了上海交大,有的保研了本校,有的選擇了出國,也有去工作的。保研本校的同學早早參與了實驗室項目??佳械脑诖笏纳蠈W期過著有規(guī)律的類似高三生活。出國的同學在上學期積極準備著英語考試以及一些材料。
不同的人在不同的學校過著不同的生活,我認為計算機專業(yè)最出彩的地方也在于,無論你在哪里,無論你的出身,只要努力,在這個到處都能學習的網(wǎng)絡上,你就能做到最好。當然同時,找準方向的指明燈也是必要的。
關于轉行
一般來說從計算機轉去別的專業(yè)也是很吃香的。畢竟現(xiàn)在各個領域都會用到計算機,和計算機結合。比較熱門的一些轉專業(yè)有經(jīng)濟學,電子,通信等?,F(xiàn)在很多大學也開設一些交叉學科,比如計算機加經(jīng)濟得到的計算金融學。
在求學過程,計算機專業(yè)對于自學能力有很大的提升,因為課本上的都是系統(tǒng)的基本的東西,而真正實用的都需要自己去網(wǎng)上學習。不僅僅是學習,還是自己在網(wǎng)上找到東西來學習,這種能力是其他專業(yè)也都需要的。
在找工作中,也有很多計算機的同學找管理或者銷售,策劃類的工作。在一些互聯(lián)網(wǎng)公司,銷售,策劃等有一定的知識背景也是很有優(yōu)勢的。同時,在各行各業(yè)都計算機化的今天,學習軟件的成本在有計算機基礎下也是降低了很多。
關于興趣
興趣對于計算機專業(yè)來說是很必要的,雖然做出來的東西很絢麗,但是寫代碼,調(diào)試,提高編程能力的過程是很枯燥無味的,如果沒有足夠的興趣支持很有可能在中途就會放棄,比如說很多學生最后會選擇去做產(chǎn)品經(jīng)理或者去銀行來避免寫代碼。而那些大神們都是對計算機有著極高的興趣,課余覺得看源碼做項目都是很有意思的人。
關于幸福感
程序員最大的幸福感大概是來自對自己程序的認可,如果自己的程序有很大的價值,被很多人用,就會有很大的成就感和幸福感。