項目 | 內容 |
---|---|
本做業屬於北航軟件工程課程 | 博客園班級連接 |
做業要求請點擊連接查看 | 做業要求 |
我在這門課程的目標是 | 成爲一個具備必定經驗的軟件開發人員 |
這個做業在哪一個具體方面幫助我實現目標 | 讓我對本身目前的情況有一個更加清醒的認識 |
答:其實在上大學以前,我從未正式接觸過編程。與編程最接近的一次,是我高一時購買了一臺德州儀器的可編程計算器,在上面隨手編寫了一個計算兩條直線夾角的小工具。當時我對編程並無概念,只是照着說明書上的Demo照貓畫虎,但最後居然完成了本身想要實現的功能。從那時起我便想,也許給我足夠多的時間,我就能夠把個人計算器變成一臺電腦。這就是一種創造,創造的過程使我感到掌控一切的快樂感,因而今後我把計算機和物理並列,成爲了我大學專業的首選方向。html
高考結束之後,我得知本身考了666分。這個分數上南大的物理系有些勉強,所以我來到了北航計算機系。基於上一段提到的緣由,個人條件並非很好。一個幾乎沒有正式編過程、甚至沒有據說過什麼叫「遞歸」和「面向對象編程」的人,來到大佬雲集的北航,無疑是一個受虐的過程。在第一學期的Python課上,我渡過得很艱難,每一次編程做業都是一次考驗。但逐漸我發現寫代碼變得輕鬆了起來,由於我能夠很輕鬆地發現我代碼中的問題,或者想到繞開某個困難的辦法。從這個角度來說,我在編程領域又是有必定天賦的,個人思惟方式很適合編程。一言以蔽之,我認爲我本身是一個有一點點天賦的卻什麼也不會的菜雞,若是那些初中甚至小學就已經接觸過編程的大佬條件是100分的話,我能夠給本身打59分,雖然沒有及格,但只須要再努把力就能夠踏入計算機科學的大門。算法
和這篇博客的博主相比...那天然是無法比的。這個博主顯然就是我說的那種滿分大佬,他在博客中提到的不少名詞我甚至都沒有據說過,好比GWBASIC和Quick BASIC,這些名詞光聽名字就知道有好久遠的歷史。從而這位大佬的經歷也是我無從與之比較的。能夠說,我與這位博主徹底不是一類人,沒有任何可比性。我選擇計算機是基於機緣巧合,若是我高中時沒有買那臺可編程計算器,也許我如今就不會在北航計算機而是在南大物理系。我沒有博主那樣的對計算機篤定的熱愛,也沒有他豐富的經歷,所以在閱讀他的博客時,我只感到疏離,或許還有一絲被炫耀的無奈。編程
答:總體來講,我以爲在北航計算機系的學習經歷是令我滿意的。從數據結構課程、到計算機組成,到面向對象再到編譯,我自認爲我受到了全國頂尖的實踐訓練。但問題在於,許多課程的理論和實踐是徹底脫節的,好比計算機組成課程,實驗課很是有趣,但理論課卻枯燥乏味。老師彷佛只是在念PPT,在課堂上聽到的那些東西我暑假中本身看書已經全都學過了,因此我徹底沒有去上課的動力。這是我對目前的大學生活最不滿意的地方,許多老師的學術水平很高,可是講課能力卻不能知足學生的需求。這就致使許多人徹底不聽理論課,只醉心於實驗,期末考試時再集中突擊一下,每每理論和實驗都能取得不錯的成績。他們把這種經驗一屆屆流傳下去,形成了惡性循環。數據結構
我理想的大學教育,應該是理論與實踐完美契合的。老師上課不只會講PPT或書本上的內容,更會與本身在學術界或工業界的見聞相結合,向學生們展現理論知識在實際中的用途。接着,再在實驗課中讓學生練習這些內容,造成一個閉環。架構
但目前北航的課堂教學方法仍然有待增強,和我理想中的有很大區別。具體的區別已經在本問答的第一段中有所描寫,在此再也不贅述。工具
顯然,北航的老師和學校距離外國頂尖大學水平還有至關一段距離。固然,在國內,北航的計算機教學水平已是前五了。能夠說不只是北航,整個中國的計算機教學水平離國外都有至關大的差距,也不能提供國外大學那樣優秀的教育體驗。歸根結底,這主要是由於中國的學生太多、交的學費太少,老師沒有精力也沒有動力去準備優秀的課堂,學校限於學生人數和公立大學的身份,沒法實行分層教育,只好一刀切,不管是頂層的學生仍是底層的學生,都採用同一種平均的教學方式。這致使水平較高的學生沒法獲得知足,水平較低的學生以爲學習壓力太大。固然,還有一些其它的潛在緣由,好比大學對老師以科研論英雄的要求,許多喜歡講課、願意講好課的老師迫於科研和論文壓力,沒法像本身理想的那樣去上課。這個話題再討論下去就很深了,所以在這裏再也不多言。學習
答:沒有一個工具能夠幫我統計我迄今爲止到底寫過多少代碼,所以我只好憑個人記憶胡編一個數字。這個數字可能大了,也可能小了,歸根結底是不許的,因此我索性不說了。我能夠給出一個大概的數字,好比萬行左右,但這實在是沒有意義的。我沒法保證我所說的數字是正確的,閱讀這篇博客的您也無從判斷我說的是否是真的。因此若是您必定要問的話,我就告訴您:「迄今爲止,我寫了一萬行代碼」好了,至於您是否相信,那便不是個人事情了。ui
雖然我不知道本身到底寫過多少代碼,但我對本身寫過的大項目仍是有一些印象的。大二上的計算機組成課程設計中,個人CPU大概有1000行代碼,不過其中有不少水分。好比實例化一個模塊時,我對每個端口都單獨分了行,若是不分行的話,可能最終只有六七百行。大二下的面向對象課程代碼量陡然變多了,不僅是由於代碼寫得多,更是由於面向對象的做業我不停在重構和重寫,累積起來的代碼量就不可計數了。我估計整個課程中我寫了3000行+的代碼,這也佔了「一萬行代碼」這個虛數的大頭。大三上的編譯課程設計,我一共寫了1800行代碼,這是我作過的最複雜的單個軟件項目,或者說是做業。那個編譯器最終無錯誤地經過了課程的考覈,這令我很是滿意。人工智能
在這裏我想詳細說明一下個人小型編譯器,做爲我目前作過的最複雜的軟件項目,它的構造能夠說是一團亂麻。因爲一開始寫這個做業的時候我對編譯器的理論知識並無一個清醒的認識,而老師又要求提早對編譯器的總體架構作出設計,所以我只好霸王硬上弓,作了許多並不合理的設計。後來一路修修補補,遇到問題就繞彎過去,遇到需求變動就想辦法處處亂插代碼以實現需求,最後整個代碼成爲了一坨,語法解析的Parse類有1200多行,幾乎沒法再維護。雖然代碼的功能是正確的,但我並不認爲我寫了一個優秀的軟件,這也是我想在軟件工程這門課程中,再訓練本身的地方。設計
答:鑑於我踏入計算機系大門的緣由是我喜歡本身創造一個小世界的快感,在將來,我但願可以從事一些創造性的工做。例如,與志同道合的夥伴一塊兒,編寫一個從未有人實現過的功能,或者創造一個前無古人的軟件。這個軟件的目標用戶最好是專業人士,換言之,我想像Vue的做者尤雨溪那樣,爲計算機業界帶來一些新鮮的東西。這樣的工做機會或許很可貴,由於編寫這樣的軟件或工具須要佔用大量的業餘時間,以如今中國的互聯網公司壓榨員工的狀況來看,一我的在中國憑藉一己之力完成這樣的開發的可能性基本爲零(得到公司支持除外)。但我依然會爲實現此目標而不斷努力。
在大學的最後一年半里,我可能不會再把重心放在課堂的學習上,而是利用這些可貴的課餘時間去學習一些本身以前就想學習、但一直沒有時間的知識,例如目前火熱的人工智能方向的技術。雖然我不看好人工智能將來的發展,但我對人工智能各類算法背後的原理和實現方法很感興趣,在這方向入個門也有助於我將來更好地升學或工做。除此以外,我加入了老師的實驗室,對一些專業領域進行更深刻的研究。大三到大四的暑假我會考慮找實習,以此驗證我在這一個學期的軟件工程課程中學到的知識和獲得鍛鍊的能力。大四就是準備考研,踏上本身的升學之路。
研究生以後的學習生活過於遙遠,常言道計劃趕不上變化,我如今就算寫出來個人規劃,也只是紙上談兵的吹牛而已。等走到了那一步再去考慮也不遲。
固然,目前最迫切的目標,是順利經過這學期的軟件工程課程。願過去五個學期中發生的全部奇蹟,在這一學期中都可以順利延續。