天天看點

軟體工程作業一

項目 内容
這個作業屬于哪個課程 2020春北航計算機學院軟體工程(羅傑 任健)
這個作業的要求在哪裡 第一次個人作業
我在這個課程的目标是 增強軟體開發能力,增強溝通表達能力
這個作業在哪個具體方面幫助我實作目标 閱讀部落格,反思自我,展望未來

一、結緣計算機

  • 你為什麼選擇計算機專業?你認為你的條件如何?和這些部落客比呢?

我是個純計算機小白,在上大學之前從未接觸過計算機,也未曾考慮過從事計算機專業。唯一涉及過一點的可能就是高中技術課裡講過的VB,但是我又沒有選考技術,隻是對VB程式設計有種模糊的映像,當時感覺這個程式設計領域很強很先進,但卻沒有進一步了解了。可以說,選擇計算機的初衷是純功利的,因為計算機就業好,因為計算機工資高,因為現在是資訊時代種種原因,我志願選擇了北航資訊大類,後來進入了計算機系。我感覺這是大部分高中生專業選擇的方式。憑借還算可以的數學和思維邏輯能力,在六系平凡的學習着,我感覺 我和那些部落客以及我們系的一些大佬,差距太大了,差距不僅僅展現在讀的書有多少,打的代碼有多少,差距還展現在思想方式,對問題,對自身,對未來的思考方式,我覺得我還需要學很多。

  • 計算機是你喜歡的領域嗎?是你擅長的領域嗎?

計算機一開始我并不喜歡,可以說是略微有些讨厭。剛開始我一打代碼就頭疼,就心煩,在大一的程式設計還是資料結構課上,我都提不起興緻,其實我也是挺後悔的,當時感覺程式設計和資料結構特别枯燥,OJ上的題我都是點到為止,課設大作業我也沒怎麼好好做,這也導緻我的代碼基礎就相對很薄弱。但是後來,我也逐漸接受了這個專業所帶給我的種種,我也能從中擷取一些樂趣。完成大大小小的項目、課設,也能給我成就感和滿足,我也會想辦法完善我的設計,提高它的性能,或者簡化它的代碼。但說實話,那種滿足感的到來也已經是大三開始了。是以問我計算機是我喜愛的領域嗎,答案是還行,但僅限于還行。我不擅長它,一就是因為基礎薄弱和花的功夫不夠深,我感覺我還有太多太多需要學習,而深層原因我覺的就是那種熱情并未能激發我,讓我可以孜孜不倦的盯着代碼,讓我可以興緻勃勃的在桌子旁邊和小夥伴們讨論計算機問題,而就算可以如此,又有誰會說擅長它。

二、在計算機系裡學習

  • 你對你的大學生活有什麼想要吐槽的地方嗎?你理想的大學教育應該是什麼樣子的?跟學校給你的有什麼差別?比較你在中國大學的經曆,你的老師和學校能做到和國外那樣嗎?如果不能,請分析一下為什麼。

某些課程設定不合理,例如數學模組化,并沒有明白它加入核心課程的意義所在,感覺純屬在浪費時間。又如作業系統課,感覺或許是中國高校對作業系統的教學本就一般,作業系統課大部分學生都聽的雲裡霧裡,課設更是變成了抄代碼讀懂代碼課,課設教程又特别泛泛,根本沒有教清楚學生東西,諸如“想必聰明的你一定明白了。。。”語句比比皆是,上機題目也十分一般,雖然大學十分看重學生的自學能力,但課程設計也太過于随意,随意到變成了學生的負擔(也可能是我太菜了),就算多加一些導向文字,再詳細一些,完善一些,這門課也不會變的如此不堪。而大學整體對學生的導向性,我覺得或許也做的并不算太好,部落格B中有說,

​ 大學階段是我們精力最最充沛、時間最最富裕、最最容易跟其他人拉開距離的階段,如何處理這段生活,将會造成最後的千差萬别,遺憾的是,當時卻沒有人告訴我這一點。我像高中階段一樣,隻學習那一點點可憐的上課講的知識,幾乎不看教材、不怎麼看課外資料,課後的作業基本是獨立完成,卻從來不是主動地思考、從各個可能的角度出發尋找到解決問題的方法,而是沿着老師講過的固定的模式,或者尋找類似的解答方法,然後稍微變換,進而完成解答。我總是認真聽老師講課,每次上課從來不預習,從來不會計劃這學期我要幹什麼、這堂課我要幹什麼,我機械地聽着每一節課,機械地在迷糊中重複着作業、考試。

說實話,這應該就是我大學生活前兩年的寫照,看似充實,實則迷茫,我仿佛失去了方向,大學中不乏那些目标明确能力超強的大佬,但也不乏像我這樣較為迷茫的普通學生,我覺得大學就是應該給他們有所導向,或許也可以不是導向,而是更多的挫折,例如一場模拟的面試,就如部落格B中部落客經曆完美時空面試一樣

HR問,你自己給自己打幾分,我說80,他忽悠了我一下,我又說70~80,然後邊上的Manager詭異地一笑,我意識到不對,看來真的是很慘,可能不及格……曾經寄予了太多的希望,曾經抱着無數的幻想,現在看來,我不屬于完美。這次挂掉,對我來說意義很大。其實這是必然的。

好的外企或好的技術公司希望招聘到的學生是做事超級投入,特别樂意思考,充滿活力,并且具備一定的行業知識的。是以,在面試準備的時候,應該充分了解自己應聘的公司,多思考,多關注架構等背後的東西,才能應付比較深層次的技術面試。

挫折讓人意識到自己的不足,讓人知道還差的很遠,更讓人在思想上受到沖擊,讓人轉變,讓人強大,或許我理想中的大學教育是這樣的。當然,更多的是在于學生自身是否能常常思考,主動讓自己變的更好。大學隻是提供了一個平台,而更多的是在于我們如何利用這個平台。

  • 迄今為止,你寫了多少代碼,描述你做的最複雜的軟體項目/作業。

到今天,我寫了幾千行左右的代碼,集中在計組、OO、編譯,由于大一比較浪,程式設計資料結構都沒咋在課外練習,真正打下的代碼不過百行左右,當然,這些代碼都有共性,就是比較醜陋,和優美挂不上邊。我做過最複雜的作業就是大三編譯課設作業,寫一個類c文法的編譯器,由于用c語言寫的,在資料結構上實作比較複雜,有很多重複造輪子的地方,同時對字元串的處理也比較麻煩,在詞法分析、文法分析、錯誤處理階段就帶來了一些麻煩,而到中間代碼生成、目标代碼生成階段,整體的構思我也想了很久,如何在生成階段進行優化等等确實也比較複雜,中間經曆了死亡debug環節,最後也算較不錯的實作了功能。這是我至今做過的最複雜的軟體作業,有痛苦過,但也有收獲和喜悅。反思一下,真正的痛苦不是構思階段,反而是代碼是現階段中最最基礎的東西,就是資料結構那一塊的内容,我意識到基礎薄弱是多麼令人懊惱,就算我構思出來大體架構,理論想法也比較完備了,但是一上手我就發現舉步維艱,就像我知道了符号表怎麼建,索引怎麼搞,但是一打代碼這裡錯那裡錯,這裡指針忘了怎麼用,那裡少了什麼什麼,就是因為大一練習太少,基礎太薄弱,我這才意識到手敲代碼的重要性,部落格C中寫道,

我在網上搜了一圈,發現《Thinking in Java》是一本免費的英文電子書。于是,我就在數學系的機房,每天下午和晚上,開着一台計算機,螢幕上放着這個電子書,再用我很土的筆記本,運作着未注冊的 JCreator,一個字母一個字母地敲TIJ上面的程式。我很偏激地認為拷貝粘帖的程式記不住,是以每個字母都自己動手敲。

而事實就是如此,實踐才是最好的掌握知識的辦法,一切欠的都得還,大三才知道這個也是丢人,但也不算太晚,動手嘛,啥時候都不遲,現在就開始勤勤懇懇幹。

  • 科班出身和北大青鳥有什麼差別?

科班和北大青鳥的教育水準是天差地别的,首先就是老師的教學水準。我們是幸運的,所有的教師都是有着高學曆的人才,在知識的灌輸的同時,潛移默化的在思想上也影響着我們,可以說這是科班出身和北大青鳥最大的差別所在,那就是思想的教育。

經常想一想,我要的是什麼、為什麼要做這件事、做這件事有什麼好方法、這樣做有什麼好處和壞處、如何改進等,也要與人交流、溝通,講出自己的想法,請别人指正。我們需要培養的是自己的思考方式,而不是簡單地擷取知識。

這便是大學教育一直在教導我們的,我不止從一個老師口中聽到過這樣的話,也在課程的學習中慢慢的轉變了思想。或許教的實際應用知識科班并不比北大青鳥多,但是在更深層次的教育,三個月和四年,真正改變我們的那必然是四年的教育,在面對一個問題時,北大青鳥可能隻能說會或者不會,但是科班出身想的卻是如何解決,這樣解決已經很好了嗎,有沒有方法改進,能不能換其它方法。

除此之外,這兩個平台所為學生提供的資源也相差甚遠,科班往往會給學生提供優質的資源,不僅僅展現在老師上,還有各種圖書資源、視訊資源、網絡資源等等的支援,而北大青鳥歸根揭底,還是個純盈利機構,正如部落格F中所說的

學校網速一直沒解決,經常掉線,應該是學校為了省錢,給我們三十多個學生拉了個10MB的網線,雖然不是人人都會同時看視訊,但是,10MB讓30個人分着用,網速自然也是一種折磨

網線也是偷工減料,想必别的資源也很一般。除這些之外,還有學習氛圍的差異,科班的同學們都是十分上進的,就我身邊的人來說,大多都是有着遠大理想的有志青年,都在不懈的努力,我也是被帶動起來了,而北大青鳥缺的還有這種氛圍。是以三個月改變一生是不可能的,北大青鳥裡也有人才,但是總體來說,和科班出身差距還是很大的。

第三部分:未來規劃

  • 對于你未來在IT行業的發展,你有什麼樣的夢想或者未來想從事什麼樣的工作?你準備怎樣來規劃你技術道路,職業道路和社會道路?

我未來應該是在IT公司裡打拼的,因為我知道我并不适合做科研,沒有那種研究技術的狂熱愛好。但是具體方向,我覺的還不好說,因為目前技術革新太快了,而我接觸的又太少了。我希望先讀研,因為我感覺大學學到的依然太有限了,我的學習能力等等都一般,我想通過研究所學生的學習進一步提高。

技術道路:廣泛涉獵技術,多讀書,多實踐,目前掌握的技術太少了,我需要盡可能的利用有限時間,學習更多的技術,并且實時關心當今先進的技術。

職業道路:三十歲之前,勇于嘗試,多跳槽,

跳槽是加薪的最佳辦法,跳槽是加薪的最佳辦法,跳槽是加薪的最佳辦法

但是後面,我還是傾向于穩定的工作,我并不是一個跳的人,我也不喜歡改變,三十歲之前勇于嘗試是我給自己的硬要求,是讓我能不愁飯碗,但是我喜歡穩定。

社會道路:走中國特色社會主義道路吧,跟着國家走  :D

  • 你們馬上就要面臨實習了,你打算在企業内實習還是在實驗室實習?

我打算在企業實習,畢竟以後還是在企業裡工作,先多多實習,了解企業崗位所做的事情,才能對未來自己想從事的事有所規劃。我希望進大廠實習,部落格L中說

第一份工作并不決定你的人生。因為你可以在2年内換工作。但是你頭四年的做的事會對你的職業有影響。

如果你覺得自己在技術有自信有熱情,而且已經有一些成績了,我強烈建議你去IT公司中鍛煉,越尊重技術的的IT公司越好。就像打球一樣,隻有和比你厲害的人一起玩,你才會得提高。

多多實習,多多學習。