1、結緣計算機java
初識計算機與編程web
談到和計算機的結緣,最先的記憶是在二年級的時候,穿着1塊錢買的鞋套走進一塵不染的機房,面對着關着的電腦,老師給咱們介紹顯示器、鼠標、鍵盤、主機等外部設備。後來,住在隔壁的表哥家買了當時很流行的聯想15寸的液晶顯示器的那款電腦,因而我開始經過表哥瞭解了各類各樣的單機遊戲,從連連看、搶灘登錄2003再到紅色警惕等,再後來便開始迷上了各類類型的網絡遊戲,網絡遊戲便開始佔據我大量的假期時間,並且也是咱們同窗和玩伴課餘的談資。慢慢地,個人眼睛開始近視,開始被父母限制接觸電腦的時間,到了高一個人眼睛近視已經到了600度以上。面試
高二的時候,由於咱們山西省高中會考有計算機這一科,因此學校專門開設了VB課程,在上VB課以前以爲編程是一件很是酷的事情,對它仍是頗有興趣的。結果上完第一節VB課後,就一個感受——「噁心」,當時就想我未來絕對不幹這個,太痛苦了。以後經過慢慢地學習,學會了怎樣用VB寫一些比較簡單的小程序,例如猜數字等,那種「噁心」的感受也淡了不少,可是仍是感受這個很難。由於要會考,還特地從機房保存了VB的程序和一些訓練題到個人郵箱,以便回家本身練習(這些東西如今仍在個人郵箱(⊙_⊙’))。最後會考的時候發現題目很簡單,很是幸運地拿了一個A。算法
專業選擇數據庫
高一有次放假回來和堂哥聊到了專業的問題,堂哥說:「不要學計算機,計算機如今誰不會,這還用學嗎?」當時我也深覺得然,再加上本身眼睛高度近視,也怕本身未來瞎了或者帶着啤酒瓶底同樣厚的眼鏡。高考前,我一直想學的是經管類專業,想作一個唐駿那樣的職業經理人,本身還專門買了各類各樣職業經理人的書來看。結果高考後成績不是太理想,去不了好學校,那我就只能選感興趣的好專業了。最初我想報的專業是電氣工程及其自動化,由於當時網上查到電氣方面能夠作比較「智能化」的東西,好比智慧屋、智能樓宇之類的。可是我爸卻不一樣意,他認爲電氣這專業和機械類專業同樣,未來要待工廠,工做很累並且還不體面。當時,由於以前我堂哥說的那番話還有我當時已經800多度近視的緣由,我壓根就沒有考慮報計算機專業。這時, 我堂哥又出現了(他當時去了上海,在張江高科的一家外企工做),他忽然問我:「不考慮計算機專業?」我愣了一下,說了我近視的問題,他說過了18歲近視度數基本就不變了(事實證實還確實是這樣)。因而我便開始查找有關計算機專業的相關知識,過程當中忽然瞭解到了「人工智能」,這個詞一下就吸引了我(當時確實只是那種字面意義的理解,看到這個詞大多數人應該都會感興趣),而後又發現計算機專業在研究生期間有一個模式識別的方向,編程
(由於當時沒考好想復讀,父母以爲有風險,不太同意;在外面工做的幾個堂哥也說如今本科文憑不夠用,基本都是研究生;再加上比我大一些的表姐們也說大學基本都差很少。因此就想着說先上大學,以後再考研。<後來發現:好大學和普通大學差異還真挺大的,各類氛圍、資源等徹底不是一個級別>)小程序
而後便決定了報計算機類的,而計算機類的當時又有好幾個專業:計算機科學與技術、軟件工程、網絡工程,當時看到軟件工程學費比較貴,想說貴確定是有緣由的,相對其餘兩個應該會比較好(後來發現只是單純的貴而已T_T),因此就報了軟件工程。設計模式
2、 大學生活安全
大一上——社團活動中穿梭服務器
在社團方面,大一剛步入大學,以爲什麼都很新鮮,對什麼都很感興趣,當時報了十幾個社團,後來進了七八個社團,剛開始的時候奔波於各類社團的面試、活動之中,活動還常常撞車,當時巴不得本身有分身。可是由於當時進了我特別喜歡的一個社團——華碩碩市生,並且感受各類活動都很棒,能學到不少,因此後來慢慢地基本就以這個社團爲主,其餘都慢慢淡出了。
在專業方面,當時學校開設了C語言,在剛開始學習的過程當中,不少同窗由於第一次接觸編程,都叫苦連天,而我由於高中學習過VB,在學習的過程當中阻力很小,當時就很感謝高中學習VB的經歷,讓我不至於把面對VB的第一次感受帶給C語言,能夠用更好的心態去學習它,而不會去討厭、排斥它。由於咱們大一的C語言老師很負責,要求很嚴格,讓咱們在OJ上交做業,因此在deadline來臨以前,全宿舍常常熬夜寫代碼,一個學期下來感受也學到了不少。
大一寒假期間爲了完成我想去上海的夢想,(高考前的理想就是上海交大,就想去上海發展。可是高考成績很差去不了上海通常的學校)就去找在同濟的高中同窗玩,由於他學的也是計算機,便和他聊了聊這方面。聊完以後,才發現差距是如此之大,他們的一個小做業就已是寫204八、鬥地主這樣的遊戲了,而當時我還在爲我課程設計寫的所謂的「歌手比賽評分管理系統」而沾沾自喜,此次交流讓我第一次真正意識到了好學校和咱們這種普通學校在計算機專業方面的差距。
大一下——初識ACM
在學期以前教咱們C語言的老師繼續教咱們數據結構,這門課要求也很高,可是到了課程中後期,你們廣泛都沒有按時在OJ上交做業,使得老師只好不斷地日後推遲deadline,這也使得咱們對這門課,開始有點下降本身的要求,學的沒有上學期那麼認真。由於老師在上課的時候常常給我科普ACM競賽,正好學院在暑假又舉辦了ACM培訓,我當時對編程仍是很感興趣的,對這個專業也很滿意,因此就積極報名了。在培訓開始以前,我原本以爲我C語言學的還算不錯,結果剛開始作題時才發現本身以前學的真是差勁,經過一個暑假的培訓和刷題,個人編程能力獲得了極大的提升,並且彌補了以前數據結構沒學好的部分,這爲我後來在本專業的學習和向其餘方向擴展延伸奠基了重要的基礎,也讓我對ACM競賽更加感興趣。
在數據結構的學習部分,對比博客B[1]的觀點「他的課讓我明白:「數據結構」,以及一切計算的課程裏面,凡是本身不理解的東西,本身說不清道不明的東西,其實有不少人是理解的。」個人觀點是,不少東西不是憑空產生的,都是有它的歷史背景的,新東西產生都是由於舊東西有它的侷限性和弊端,解決不了當前須要解決的東西,因此人們爲了解決當前的問題,通過思考提出了所謂的新東西。因此我在遇到一個新概念的時候,我會好奇爲何要發明這個概念,具體是在什麼背景下,爲了解決什麼問題而出現或發明的,這使得較容易理解這些有因有果的知識。也正是這些「歷史發展」的緣由,提升了我對這一學科的學習興趣。
大二上——漸入佳境
在社團方面,由於我這學期並無競選社團的一些職務,我發現本身在社團活動中能學到的東西頗有限,並且咱們的這學期課業比較繁重,使得我沒有太多時間,因此直接就和社團活動say goodbye了,把精力都放在了專業方面。
在專業方面,在這學期咱們開設了web編程技術這門課,讓我第一次真正感覺到了如何本身用jsp作一個真正有用的東西,老師佈置的實驗也不少,並且相對此時的咱們難度還不小,由於我對它能作出實際的有用的東西仍是很敢興趣的,因此花了不少時間在實驗上,最後所有實驗都拿了A,最後考試也拿了96的專業最高分,這也是我上大學以來各類評分最高的一次。經過這門課我確實學到了不少,也使得本身在當時一躍爲班上的比較厲害的人。記得有個實驗是安裝SQL Server而且經過jsp寫的網頁進行jdbc鏈接,對數據庫進行CRUD。這個實驗就難道了班上不少同窗,而我當時又是班長,就主動下宿舍幫他們安裝,教他們怎麼弄,我記得當時我給別人裝SQL Server都裝噁心了—_—‘。
在ACM方面,這學期基本都是按照以前組的隊每週六上午進行一次周賽,但由於平時各類課業也很繁重,因此基本上就只有週六上午練一練題,本身課餘也沒有多花時間,致使本身在ACM方面的水平也就停滯不前了,這使得在接下來的一次省賽選拔中,我並無入圍,直到大二下學期纔有了機會去參加福建省的ACM比賽。
此外,在這學期我對本身未來要具體從事的技術方向也很迷茫,不知道往哪一個方向發展,當時學院也常常會組織各類技術方向的講座,我每一個都跑去去參加, 都想去了解一下,而後選擇本身比較感興趣的一個。其中正好有個無人機實驗室,我當時聽了名字以爲挺感興趣的,就拉了班上一個同窗一塊兒去聽了下宣講,結果去了發現這裏不止無人機方面的東西,還有人臉識別、三維重建等我以前沒有據說過的東西,聽完講座後,咱們就一塊兒向那個老師報了人臉識別方向。以後便開始接觸OpenCV,開始學習圖像的基本知識,以後又慢慢經過指導老師舉辦的一些講座開始瞭解了深度學習、機器學習的相關知識。對這些東西的接觸和學習使我開始意識到數學的重要性。不知不覺,我就走進了人工智能這個領域,接觸到了最初促使我報計算機專業的這個動機點。以後,老師要求咱們在Ubuntu下面配置深度學習框架Caffe的環境,當時正好在考試周,那周尚未課,而我又不想複習,因此就直接開始搭建環境,當時第一次開始接觸Linux系統,從裝雙系統到Ubuntu聯網缺乏驅動問題再到配置caffe的過程當中我踩了各類各類的坑,花了整整5天終於把它給配好了,雖然我顯卡不夠好,不支持cudnn加速,可是基本上能夠跑那種toy example,起碼能夠開始學習它了。在這五天的配置過程當中,讓我學會了經過搜索引擎中來解決本身遇到的問題,這對我以後各方面的學習也提供了很大的幫助。以後在老師的指導下,咱們組申報了大學生創新創業訓練計劃項目,後來很幸運地得到了國家級立項。
大二下——競賽+實習
這學期課業不算太多,個人時間基本都花在了實驗室,一方面在Cousera上學習吳恩達的機器學習課程,另外一方面和另一個同窗作了老師這邊一個濾鏡的項目,雖然最後並無達到對方的要求,可是在這個過程當中學習到了圖像處理的一些知識,加深了對圖像的理解。後來參加了福建省大學生程序設計大賽,在比賽中感覺到了在學校沒法感覺到的那種氛圍,咱們隊由於差那麼一點,沒有得到銅獎,可是收穫仍是不少。經過此次比賽我發如今這方面我學校和省內其餘學校仍是差不少,這讓我不要知足於本身在學校的水平,外面的世界很大,牛人不少。
暑假期間,有機會到公司實習,真正開始接觸人臉識別方面的研發工做,主要任務是在已有的數據集作遷移學習。在實習過程當中,讀了一些前沿的論文,在MATLAB 下寫了一些的小工具來輔助研究,最後經過 ROC 曲線來對以前使用的各類方法進行評估。此次實習使我更加清晰的認識了在人臉識別這一領域基本的研究流程,明白瞭如何獨立進行這一方面的研究。
大三上——參加學術活動
在專業方面,咱們開設了企業分佈式計算這門課,算是大二用jsp進行web編程的進階,主要學習JavaEE下的SSH框架,這門課使我真正知道了企業中是如何用java來開發網站的,讓我收穫很大,最後和另外兩個同窗一塊兒開發了一我的才招聘網站,其中在管理員管理方面,我還加入了人臉識別來進行安全驗證。一樣在這學期開設的還有數據庫原理,這門課最後也須要作一個網站,我和另外一個同窗一塊兒作了一個宿舍報修系統。由於有了以前的開發經驗,此次項目的開發重點主要幾種在數據庫的設計,在開發過程當中主要考慮在各類不一樣的操做對錶單狀態的更改。此次開發經歷,讓我對數據庫設計有了更深的理解。
在課餘時間,一方面是繼續深度學習下人臉識別的內容,嘗試在caffe下加一層loss層來優化結果(最後並無成功)。另外一方面是,在大創項目的經費支持下,參加了CCF主辦的2016年的中國計算機大會和南京大學舉辦的機器學習及其應用研討會,經過參加這兩次會議,我感覺到了學術氛圍,瞭解了在人工智能這一領域你們都在作什麼事情,也堅決了我要考研的決心。
大三下——複習考研
在專業方面,這學期學習了面向對象方法,這門課讓我開始體會到設計模式對於一個項目的迭代開發以及維護的重要性,這才發現本身以前寫的代碼質量並不高,並不可能運用到實際中,可是由於這學期重心主要是在複習考研,因此也並無花太多時間去思考,去寫代碼,只是單純地理解了一下這種思想。
這學期收穫讓我最大的是在期末的一個PHP實訓,同以前的其餘實訓不一樣,此次實訓雖然只有一週的時間講課,但講師不只僅是講PHP,他在講PHP的過程當中會穿插PHP的底層設計、C語言、數據結構、操做系統等知識,讓咱們對大學所學的知識有了一個複習和貫通,也讓咱們真正的理解了PHP這門語言的設計。此外還一步步地給咱們講解了LNMP架構的原理,讓咱們更加清晰地明白了企業開發項目的總體架構,也學會了本身如何在雲服務器上搭建一個本身的網站。還給咱們介紹瞭如何用Git進行代碼管理和版本控制,明白了企業中實際開發項目的流程。
在課餘時間,主要就是在複習考研。由於我大一一直沒有入高數的門,有一個問題一直困惑着我,那就是:高等數學和初等數學最大的區別在哪?高等數學的精髓是什麼?因此高數我就一直學不明白。在考研複習期間,我又從新拾起了數學,經過半年多的複習,上了考研數學的輔導班,才彌補了我以前沒學好的內容,讓我明白了以前一直困惑個人問題,也讓我從新認識了數學,真正開始瞭解數學,也發現了數學自身的美。
3、問題回答:
第一部分:結緣計算機
1.你爲何選擇計算機專業?你認爲你的條件如何?和這些博主比呢?(必答)
關於爲何選擇我在上文中有說明。
和這些博主比,我感受我在計算機這方面的思惟仍是有的,可是比較欠缺是不如他們那麼持久的專一,我一般是一小段時間的專一後,就須要放鬆一下,然而在短暫地放鬆後我很難快速轉換回專一狀態,(除非有大環境的氛圍或者外力逼迫或者deadline)要麼就回不去了,要麼就要花挺久的時間。這使得本身一般總體比較低效,這也是我這麼多年來一直很困惑的地方,也是限制我我的提高一個很重要的點。
2.計算機是你喜歡的領域嗎?是你擅長的領域嗎?
是我喜歡的領域,擅長的話我感受仍是不夠。
第二部分:在計算機系裏學習
1.你對你的大學生活有什麼想要吐槽的地方嗎?國內外的大學生活有什麼區別?你理想的大學教育應該是什麼樣子的?跟學校給你的有什麼區別?(必答)
吐槽的地方:總體的學習氛圍並非很好,咱們專業的培養模式太過固定,不夠自由,限制了一些同窗的發展。
據我以前在網上看到的一些資料瞭解,國外大學生活是很是累的,學校要求特別高,有的學校研究生期間每門課至少要B以上,有1個C就要留級或者勸退,並且課程的難度都很大,基本每個月都有考試,並且考試成績直接影響到期末成績,因此每一個學生都特別累,天天睡覺的時間都不多。國外的大學生活比咱們高中3年都苦。而國內咱們一上大學基本上都放羊了。
我理想的大學教育是學校氛圍特別好,天然而然帶動着你一塊兒學,同窗都是樂於分享,喜歡交流的。而現實是,咱們氛圍不太好,本身的自控力也不夠。
2.科班出身和北大青鳥有什麼區別?
我認爲最大的區別在於非計算機專業的人經過培訓班快速入門後,掌握了一門語言的基本開發能力,可是欠缺對計算機自己的理解,若是在這一點沒有突破,沒有本身去學,那麼可能很難有大的提高。並且以前和教PHP的講師提到說有些人遇到BUG徹底不知道該怎麼辦。而科班出身的咱們對它有較深的理解,那基本上會有一個大概的排錯方向,從而解決BUG。
3.速成的培訓班和打基礎的大學教育還有mooc之間有區別嗎?
我認爲速成的培訓班在於能夠短期內提升本身某一方面的編程技能;打基礎的大學教育則更偏向於培養計算機方面的通才,注重對計算機的理解和計算機思惟的培養;MOOC有部分其實也是大學課程,可是卻不侷限於此,是一個大的開放的平臺能夠獲取多方面的知識,有助於咱們擴展學習。
4.學線性代數和機率論的時候,你是否有過這樣的疑問「咱們爲何要學這麼多數學,這和咱們的計算機有關係嗎」,你如今是否還有這樣的疑問?對這個問題,你有本身的解答了嗎?那麼其餘學科呢?
有過這樣的疑問,可是如今基本沒有疑問了,由於若是隻是單純作開發的話,看似好像並無用到數學,想要幹嗎,別人都寫好了,本身只須要調用便可,可是隨着業務的發展,默認內置的API已經徹底不能知足業務需求,此時要麼選擇本身寫,要麼選擇購買別人的,而你若是要本身寫,基本上都要涉及數學。並且在不少算法的研發、包括人工智能領域各分支的研究,其實都離不開數學。其餘學科的話,物理對流體動畫的研發也很重要,包括3D遊戲的開發也涉及到物理方面的知識。
第三部分:將來規劃
1.對於你將來在IT行業的發展,你有什麼樣的夢想或者將來想從事什麼樣的工做?你準備怎樣來規劃你技術道路,職業道路和社會道路?
目前個人打算是考研,在研究生期間作人工智能領域,主要是機器學習和計算機視覺方面的研究,未來去大公司作相關的算法工程師。
2.你對於實現本身的夢想已經作了或者計劃作什麼樣的準備?
複習考研,大二期間有接觸相關的學術研究,提早認識和了解了相關方面知識。
3.大家立刻就要面臨實習了,你打算在企業內實習仍是在實驗室實習?
複習考研。
4.實習經驗究竟有多重要?是否須要立刻開始積累實習經驗?
擁有實習經驗意味着你在工做入職後能夠快速上手,快速插手公司業務,一方面快速爲公司來帶回報,另外一方面本身也更加容易被重用。因此我認爲立刻開始積累實習經驗是頗有必要的。
5.(補充問題)爲何要考研?
一方面是由於想從事人工智能方面的工做,另外一方面是想去一個更好的平臺發展本身,經過B[1]博主的經歷以及本身瞭解的一些,能夠看出在好的平臺,更容易得到大公司的實習機會,更容易得到好的工做機會,當最前提的緣由是在好的平臺你會更快更容易地提高本身。其實我如今對本身未來要從事的工做仍是有些迷茫的,因此也是但願換個更好的環境、接觸更優秀的人,去更加完善本身,提高本身,接觸更多不同的想法。
[1]https://book.douban.com/subject/4006425/discussion/22803961/