第一次接觸程式設計是在高三,當時偶然發現摯友有一本《c++ primer plus》,於是便向他借過來看(未曾想一借就是借到了現在?)。當時的我從未接觸過程式設計,通過這本書入門實在過於艱難,乙個include標頭檔案的概念看了半天硬是看不懂,然後我乾脆開始強記**,週末回家用家裡的電腦安裝c-free輸出了我的第一行helloworld,這大概就是我的程式設計啟蒙了。
上了大學後,我在兩位師兄的指導下開始學習51微控制器,後來完成了實操順利通過了飛卡實驗室的考核。進入實驗室後被分配到了硬體任務,但是我沒有任何硬體基礎,動手能力又差,根本做不出什麼來;反觀在軟體這方面,對於僅僅只會用點51的我,看著k60教程前兩頁裡面各種設定暫存器,設定中斷向量表完全懵逼,加上沒有去實驗室實踐,所以在很長的一段時間裡都沒有進展,時間就這麼被我荒廢了。
直到寒假留在學校,我第一次用自己寫的程式讓車子跑了起來,直接調庫,底層**什麼的,以後再說吧。所謂萬事開頭難,成功開了頭後我頓時就有了方向,開始學習攝像頭的使用方法,接觸相關的演算法;開始在乙個庫下進行程式設計而不再只是建立空白工程,之後的日子就開始了我的調車之旅。在接下來的日子裡我無數次的與c語言「親密接觸」,各種變數溢位,陣列和指標,中斷邏輯的bug報錯層出不窮,點亮了「熬夜調車」,「通宵調車」,「隔夜戰車」等智慧型車界專屬成就。雖然校賽由於電路板原因遺憾落選,但還是收穫滿滿。如今的我們也可以做出屬於自己的車了,此時離我第一次參觀實驗室,一臉震撼看著師兄手上那輛用電感和攝像頭跑起來的小車已經一年了。
如今回想起來是當時操之過急,很多基礎的東西都沒學好,僅靠那點知識儲備難以去理解更深的東西了。這也是我看到不少人的現狀,被鼓動著申報各種天花亂墜的專案,基礎都沒學好卻想著要怎麼完成各種智慧型功能,東拼西湊最後也沒學下來多少東西。
暑假第二個月,由於需要參加電賽,於是我重新回顧了一下k60,有了一學期的實踐經歷,當我重新回顧底層**的時候發現沒有了以前看魔法書的感覺,於是我開始一邊看k60的技術手冊一邊對比底層**一步步驗證自己的想法,通過閱讀底層**再次提公升了c的功力,這時候我大概已經看懂了之前呼叫的那些底層庫還有學會了查閱技術手冊。
到了大二,學了第乙個資料結構,利用鍊錶寫了乙個貪吃蛇,算是體會到了資料結構的好處。然後開始學python,不得不說這門語言真的上手容易,剛學了沒多久就派上用場。我嘗試去幫部門寫乙個彙總報名表資訊的小指令碼,發現竟然很容易就寫出來了。
之後第二年的智慧型車比賽又要開始了,我決定在賽題出來前沉下心把c語言系統的學一遍,於是我選擇看《c語言程式設計現代方法》。這本書是實驗室乙個已經畢業的師兄推薦的,是我接觸的第一本優質書,這本書重新讓我學習了c語言的所有細節,陣列,結構體,指標,全域性變數,區域性變數,堆疊,真正地讓我打下了c的基礎。然後我開始了解微控制器的啟動過程,如何載入燒入的程式,c語言的編譯,鏈結,為了更好的學習這些東西,我開始閱讀《程式設計師的自我修養》,這本書讓我對編譯,彙編,鏈結,堆和棧有了初步的認識,同時又了解到一些關於計算機系統執行緒與程序,記憶體頁的內容。我意識到自己之前了解的東西過於侷限,沉下心來看更多的書無疑是目前最需要的。
,這是一本對我影響特別深遠的書,是我心目中的第一神書,配套著cmu15-213課程和七個課外lab,徹底重新整理了我對計算機的認知,也讓我爽了一把程式設計。利用組合語言attack,寫乙個shell,編寫malloc,還有編寫乙個web service和其它lab,可以說這段時間我把各種以前覺得很遙遠很難的東西都玩了個遍,組合語言,程序排程,演算法,socket使用,熟悉了linux,vim和gdb的使用,收穫巨大。
在家待了乙個學期後回學校做比賽,創意組比賽的小車剛好就是在linux系統上跑,因為玩了一假期的linux所以很快就上手了,最後我們衝到了國賽,雖然最後留有遺憾,但我也算是在這次比賽中得到一次完整的深度學習開發經歷,並且通過這次實踐,我充分體會到了一學期沉澱後給我帶來的好處,很多東西的理解,**的邏輯都能讓我清楚的感覺到自己和以前的不同。
花了兩天時間終於寫完了,現在當我再去回顧前兩年的經歷,我發現自己曾經浪費了不少時間,這個時間甚至有點大於我之前自己的預估,我做了以下反思:
前兩年的大學感想給我感覺是上大學真的是一件非常爽的事情,大學前兩年可能是人生唯兩年可以不需要考慮很多現實問題,生存問題,又可以做任何自己想做的事情的一段時間了。你可以選擇在宿舍躺兩年,也可以選擇在每天東奔西走各種開會,也可以選擇每天坐在焊台前,坐在筆記本前,各種各樣的生活方式。對於我自己而言,我覺得自己真的是在大學中運氣非常好的人了,嘗試了高中自己想做的事,最後找到了自己真的喜歡的事情,引用輪子哥的一句話來講:
如果學習程式設計本身就可以讓你覺得爽到渾身發抖的話,你就可以通過讀計算機專業而獲得成功。這種成功甚至不需要靠你的高收入,簡直易如反掌,爽到不行啊。雖然沒有經受過社會毒打的人不能妄下定論,但至少這種「意境」在大二的時候是體會到了。高中的時候一直無法理解為什麼有人可以一整天都對著一樣東西,那些學霸為什麼可以一整天都對著課本,嘗試過在對著一整天電腦後,我想這大概就是熱愛?因為熱愛,我願意付出打遊戲的時間;也只有熱愛,我才願意付出打遊戲的時間。因此雖然在大學剛開始的前兩年我跌跌撞撞,四處碰壁,走了不少彎路,但至少沒有把時間虛度。什麼樣的人能通過讀計算機專業而獲得成功?
最後感謝所有在這兩年幫助過我的朋友,師兄,師姐!我個人收藏的資源:
計算機優質書單
coursera上的優質課程
一篇技術路線
十年學程式設計
一篇感觸很大的文章
我的這兩年,從業六年過程的低潮兩年!
也許我的命運非常的好,01年上半年還沒有大學畢業的時候,就進入了大型寬頻通訊企業,從事軟體開發的工作。在我職業生涯的第乙個公司裡面,沒有太大的壓力,同事也非常的熱心,讓我很自然很平和的和社會接上了軌,同時在裡面也學到了不曾接觸的東西,受益匪淺。待了一年後,我跳槽了另乙個公司,在這個公司裡面我做的時間...
我的部落格我的大學兩年經歷
我是乙個熱愛程式設計的菜鳥,目前是大三了,學校就不說了,在大一的時候就知道csdn論壇了,但幾乎沒有來過這個論壇,只是有次老是布置的作業不會做,上來發了一次帖子,就從此沒有再來過,大一的時候幾乎天天逃課,早退,成績很差勁,大一上下兩個學期下來掛了兩次高數,大一結束了,大一上學期c語言學完了,大一下學...
我的前兩年與現在
將按照時間先後順序進行描述,將時間劃分為過去 現在和將來。現在 指今年10 月到明年上半年,每乙個時間段含乙個 不足 過去 過去的1 年零11 個月在g 這是一家小公司,做著雜項工作,不過我還是把雜項理了一下 1 匯入匯出 預覽 office 和 進度 多檔案上傳。這些工作很基礎,讓我對 web稍微...