項目 | 內容 |
---|---|
這個作業屬於哪個課程 | 2021春北航計算學院軟件工程(羅傑 任健) |
這個作業的要求在哪里 | 作業要求 |
我在這個課程的目標是 | 提升代碼能力,掌握工程化方法 |
這個作業在哪個具體方面幫助我實現目標 | 對自己有一個更為清晰的認識 |
一、大學生上課一定要認真聽講嗎?
Scalers表示大學生上課一定要認真聽講,這一點我並不是完全贊同。
在大多數情況下我是贊成大學生上課要認真聽講的,正如文章里所說,老師畢竟是老師,大多數老師的水平會比學生高,至少有值得學生去學習的地方。但是,在少數情況下,老師講的內容難度太大或者表述得過於抽象,讓學生如同聽天書一樣,這個時候繼續聽課除了加重學生對於這門課的負面情緒以外別無好處,此時學生應該選擇趕緊查漏補缺,抓緊復習並提前預習,爭取下節課開始能夠跟上老師。
二、結緣計算機
1.你為什么選擇計算機專業?
自己和計算機結緣其實挺晚的,在進入大學以前電腦對於我而言就是一個可以看視頻、上QQ的工具,我從來不曾想過以后要進入計算機學院進行學習,就連初中、高中那少的可憐的電腦課也被我用來偷偷打4399而混過去了。上了大學以后,程序設計這門課讓我第一次接觸了代碼,由於當時從來沒有接觸過其他語言,所以不僅沒有覺得C語言寫起來麻煩,反而為自己能夠動手解決新的問題而感到高興。在大一上考期結束的那幾天,我在宿舍花了幾天時間寫了個大幾百行的C語言程序,用來給弟弟自動出四則運算的口算題並自動批改,從那以后我便對計算機不排斥甚至有了一點點興趣。同時,由於認識不少來自計算機學院的優秀學姐,因此覺得計算機學院是優秀同學的共同選擇,再加上父母覺得計算機的就業前景良好,而且在近30年內都不會被淘汰,於是在這種種因素的作用下我最終選擇了計算機學院。
2.你認為你的條件如何?和這些博主比呢?
我自己是一個各科均衡發展的學生,沒有明顯的短板使得我在高考中非常占優勢,但是也一定程度上掩蓋了我沒有優勢科目的事實。事實上,我很努力也學不好與數學直接相關的學科,和一些包括算法在內的、與數學有着密切聯系的學科。我始終無法做到融會貫通,舉一反三,只能夠通過反復練習做到對於書上出現的例子在考場上能夠復現出來而已。因此,在學習能力上,我覺得我不如博客D和博客I 的博主,我無法在某一個領域做到精通。
3.計算機是你喜歡的領域嗎?是你擅長的領域嗎?
我曾經喜歡也曾經不喜歡,但是我覺得未來會喜歡。在大一時,我曾經很喜歡用C語言寫短小的程序來幫助我解決一些小問題,興致盎然的我還曾經用C語言寫了個短小精悍的生日祝福程序給學姐,如果沒有記錯的話就連跨年夜都是C語言陪伴着我度過的。在大二時對於我的專業我是不太喜歡的,我討厭帶有復雜拗口的體系結構術語的計組,也討厭夾雜着C語言、匯編語言和一堆牛鬼蛇神注釋的操作系統,我原本以為我會為我弄懂了計算機底層的原理而感到驕傲和自豪,但實際上我只覺得學得身心俱疲。到了大三,我發現原來卷編譯是如此有意思的事情!當你通過種種優化使得代碼運行的效率提升了十倍時,你會發自內心的為自己所取得的成就而感到高興,雖然卷編譯的過程中也因為種種bug而感到沮喪,但是在克服了各種困難后所獲得的成就感仍然讓我為之歡欣鼓舞。對於未來,我相信我能夠找到我感興趣的事情並繼續為之努力下去的。此外,雖然我沒有教書育人的經歷,也沒有從事科研的經歷,但是當喻之斌教授為他培養出的學生感到驕傲時,當他通過努力讓華為的性能變得更好時,他的那種驕傲、欣喜我是能夠產生共鳴的。我想,也許這樣的共鳴表明我內心深處還是熱愛計算機這個領域的。
至於是否擅長取決於評價標准以及比較對象。我覺得我相對於同級計算機學院的同學來說,代碼能力和工程能力都高於平均水平,歷次的競速也都取得了較為靠前的名次,從這一點來說我是擅長計算機的。但是相對於專業的碼農,我還有很大很大的差距。首先,我對C++的STL庫和Java內置的容器並不十分了解,對常用的框架也知之甚少,從知識面上來說我就有所欠缺;其次,我沒有真正參與過能夠投入生產使用的軟件工程,缺乏實際開發以及運行維護的經驗。
三、在計算機系里學習
1.你對你的大學生活有什么想要吐槽的地方嗎?
在生活上,我覺得學院路的食堂好吃的東西實在是太少啦!要是能把沙河食堂搬過來學院路就好啦!在課程設置上,我覺得計算機學院對於算法的學習太少了,學習數據結構時只是粗略地涉及了一些基本的算法,並沒有詳細講述對於算法的優化;而大三的算法課雖然有講代碼的具體實現和優化,但是沒有上機也沒有足夠的課時來深入講解算法,導致同學們對算法的認識其實只停留在非常淺層次的階段。
2.你理想的大學教育應該是什么樣子的?
-
能學到成體系的知識,學到無法速成的扎實基本功,學到學科素養
-
給學生充分的時間德智體全方位發展
3.跟學校給你的有什么區別?
學校的老師總體而言都比較認真負責,專業課的課程都比較成體系,因此只要用心學了的同學都能夠學到成體系的知識。再加上計算機學院對於同學們的代碼要求很高,也非常注重工程化方法的教授和培養,因此我認為學校給我的基本上達到了我的第一點要求。
但是,由於課業壓力較大,而且北航的社團總體而言和世界一流大學還存在較大的差距,再加上寸土寸金的北四環以內不允許學校建更多的運動場(平時只有一個小足球場是開的,籃球場也只有室外的而且框還有好多是歪的),所以我覺得大多數北航的同學(包括我在內)在社交活動和體育鍛煉方面花的時間不夠,沒能實現全面發展。
4.比較你在中國大學的經歷,你的老師和學校能做到和國外那樣嗎?
我覺得比較難做到。畢竟各國國情不同,國內公立大學幾乎全靠國家補貼,不像國外私立大學的學費如此高昂,因此可能無法提供像國外那么好的教學設備和實驗器材。此外,由於學生數量比較大,因此也只有有限的幾門課可以實現小班教學,學生個人的發展和學習全靠自覺,無法像國外一樣為學生量身制定發展方向。但是,我覺得所有用心學習的同學都能夠在大學階段收獲自己想要獲取的知識,尤其是理工科的學生。正如這個博主所說的那樣,技術是硬實力,擁有技術就不用擔心沒有飯碗;此外,當你的謀生已經不成問題時,你就有資本去追逐事業,追逐更廣闊的天空,同時你的下限也不會太低。因此,國內的學生也應當充滿信心,相信國內的教育體系也能培養出優秀的畢業生。
5.迄今為止,你寫了多少代碼,描述你做的最復雜的軟件項目/作業
迄今為止,我寫過的過千行的工程應該就是計組、OO、編譯和數據庫的大作業。其中,計組的代碼一千多行,OO四個單元中每個單元的代碼量都在一千到兩千行之間,編譯算上優化總共有6000行,數據庫大作業大約一千行。
我認為,最為復雜的工程是自己寫的編譯器,但是總體而言它的代碼架構是最清晰的,詞法分析、語法分析、代碼優化、代碼生成四個環節環環相扣,依次進行。工程雖大,但是由於可以拆解成一個個小的局部結構,因此實際上並沒有想象中那么復雜。
6.科班出身和北大青鳥有什么區別?
我認為,科班出身和北大青鳥的主要差距在於專業知識水平的差距以及是否熟悉行業規范。專業知識水平的差距體現在多個方面,在計算機領域下的表現是,科班出身的同學能夠懂得底層的原理,明白計算機是怎么運作的,因此往往能夠更好地優化自己的代碼;此外,由於專業知識水平的差距,在描述問題時他們使用的術語更加專業,表述更加准確,能夠有較高的溝通效率。是否熟悉行業規范則主要體現在代碼上。科班出身的同學無論是代碼風格還是變量命名都更加符合工程要求,同時由於他們有過獨立開發大工程的經驗,因此會更加注重前期的架構設計和收集需求,這讓他們在進入企業以后能夠更好的適應。
四、未來規划
1.對於你未來在IT行業的發展,你有什么樣的夢想或者未來想從事什么樣的工作?
雖然決心還不是特別堅定,畢竟這條路實在是太辛苦了,但是目前來看我是希望讀到博士然后留校繼續從事研究。這個選擇基於兩點,一是因為我覺得從事研究比去當碼農更有可能讓我感覺到快樂,因為在企業里當碼農可能會像這位博主一樣不順心,二是因為留校的社會地位更高,被人尊重無論如何是一件高興的事情。
2.你准備怎樣來規划你技術道路,職業道路和社會道路?
-
技術道路:目前在學校里我對待專業課非常認真,希望能夠掌握扎實的基本功,盡可能的多方面了解,這樣有利於為將來保留更多的選擇機會。
-
職業道路:想要留校學歷是硬門檻,因此努力考研讀博,並且努力發好文章。
-
社會道路:現在離出來工作還很遠,暫時沒有考慮。
3.你們馬上就要面臨實習了,你打算在企業內實習還是在實驗室實習?
由於未來更加可能從事科研方向,因此會選擇在實驗室實習。在好的實驗室實習,能夠在組會中聽到同學們的分享,能夠聽到一些讓人耳目一新的idea。同時,由於實驗室中會有研究不同課題的同學,因此聽他們的分享也能夠很好的拓展知識面,知道目前的學術研究的進展。最重要的是,組會上老師會傳授一些關於如何寫好文章的小trick,這對於未來從事科學研究是彌足珍貴的。