2021年-軟件工程-熱身閱讀作業


項目 內容
這個作業屬於哪個課程 2021春季軟件工程(羅傑 任健)
這個作業的要求在哪里 2021年軟工-熱身閱讀作業
我在這個課程的目標是 提升軟件開發能力與團隊意識
這個作業在哪個具體方面幫助我實現目標 分析自身條件並規划發展方向

1. 結緣計算機

1.1 你為什么選擇計算機專業?你認為你的條件如何?和這些博主比呢?(必答)

如今想來,與計算機的相逢實屬巧合。高考那年,Alpha Go 勝利帶來的風潮讓街坊大媽都開始勸學人工智能,高考后的我沒能逃過“分數最大化利用”定律,來到了零調劑的北京航空航天大學;大類招生結束時則再次抱着不要浪費分數的想法,填報了計算機科學與技術專業。

在大學前,我對於計算機的了解局限於游戲、PPT 與 P 圖。與在計算機行業摸爬滾打了十余年的博主 I 和博主 S 相比,我沒有像博主 I 那樣從小接觸編程技術的經歷,也沒有像博主 S 那樣來自家庭環境的壓力與自我提升的危機感;而相較同一個書院學院的同學來說,我缺少編程基礎,大一的 C 語言與數據結構都學習的比較吃力。

總的來說,縱向對比寫博客至今已經接近十年的博主們來說,伴隨着互聯網野蠻生長而成長的我們在硬件資源與信息透明度上有着很大的優勢;而橫向對比同系的同學,我的個人條件大概是處於平均偏下水平。

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

是我喜歡的領域。如今各行各業都在與計算機深入融合,現代人的生活再也離不開電子產品,而能夠學習這一切背后的底層原理,並參與到社會發展的進程中,在我看來是一件非常有意義的事;另一方面,就目前來說,計算機行業的薪資高於平均水平,相對光明的前景也讓我有更多動力沉浸其中。

“仰之彌高,鑽之彌堅”,伴隨着計算機的不斷演進與分工的細化,我想很難有人能夠做到對計算機領域的方方面面都有着深刻的見解。我目前的水平也不可能說是擅長,但我正在不斷學習的路上,也會朝着深入研究某一方向而努力。

1.3 你熱愛這一專業嗎?你對計算機的熱愛是怎樣的?僅僅是口頭的嗎?

作為曾經的煤油,看到“熱愛”這兩個字仿佛DNA都在顫抖。而我對計算機知識的追求,大概也是源於對於計算機的熱愛吧。

雖然我已經對計算機許下了如此熱烈的告白,不過Error和Bug還是會來。但每當看到自己努力之后的運行成果,每當發布的小項目收到別人的贊或是Star,那一瞬間的感動與喜悅絕對是最真實的。

等等,難道說的是本學院的專業嗎?如果能讓我重新選擇一次,我想我依然會來到北航,依然會來到計算機科學與技術專業,雖然可能不會來到北航的計算機科學與技術專業了(尬笑)。

2. 在計算機系里學習

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

2.1.1 你對你的大學生活有什么想要吐槽的地方嗎?

在得知6系25分一般專業要求不會因為大二下的停課而減少時,在不想參加科研卻又為了及格不得不水比賽時,在怎么也搶不到全英文課而抓耳撓腮時……我想我是有很多想要吐槽的。

但整體來說,我想我們這一屆的大學生活已經非常精彩了。計組、編譯讓我們從零開始實現了流水線CPU和類C文法編譯器,曾為人所詬病的OO課程在幾屆助教的努力下變成了充滿趣味的聖杯戰爭,操作系統雖然還是有點雲里霧里,不過課上的知識應付面試還是足夠。

而除了富有挑戰性的課程,我也在業余時間參加了社團與志願者組織,在網絡創作自媒體內容,和舍友一起追番打游戲……我想我的大學生活非常充實——除了搶不到英文課可能要畢不了業了。

2.1.2 你理想的大學教育應該是什么樣子的?跟學校給你的有什么區別?

不過在博客B中,博主對他的大學生活感到茫然;在博客H中,文科轉行的博主更是表達了他對中國大學教育的失望;博客N中,博主介紹了7年前的燈塔國的本科課堂的優越之處……這些例子也讓我重新開始思考,理想的大學教育應該是怎樣的?

  • 對於博主B,我不禁想到了一個詞——學生思維。雖然這個詞不過是個車軲轆話:比如現在作為大學生就要避免單一價值導向的學生思維,等到工作后准備把你作為人才輸送到社會時又說你欠缺追求知識的學生思維。但我想不管怎么說,博主B一定是很不甘的吧,他自己的努力沒有得到回報,更不清楚努力的方向。而在信息壁壘被打破,多元價值觀嘗試融入主流文化的當下,我想北航也通過博雅講座、朋輩導師等做了不少努力,希望幫助學生明確自己的發展方向,這樣的故事發生在個人身上的情況應該會越來越少吧。
  • 博主H……我感覺他的這篇文章是不是為了洗粉提純?巧妙的立下了自學者的人設,並且能夠引起其他文科轉行者的共鳴……為什么這種暴論也能被選上推薦閱讀資料(暴論)
  • 博主N的介紹讓我看到了北航這些年的進步,在這里我也遇到了不少很好的老師,當然也有過踩坑的經歷。對於我來說,我想本科階段的北航除去數XX模以及奇妙的培養計划已經很接近我理想的大學教育了,而研究生專碩按照學碩培養則有待商榷。我想大概因為我的格局比較局限,沒有在學習中觸碰到天花板。

2.1.3 比較你在中國大學的經歷,你的老師和學校能做到和國外那樣嗎?

我覺得是很困難的。

這學期由於申請調課,我最后只選到了人體工程——一門以跑步為主的體育課。那天的體表溫度是3°C,第一堂課只有一名老師和三個學生,達到了1:3的驚人師資。而整堂課程也讓我有了很愉悅的體驗:由於學生少,在學習動作時老師會不時糾正姿勢,課堂的氛圍也和幾個人聊天一樣輕松。在博客P中,鄒欣老師說理想的師生關系應該是健身教練 / 健身學員式的,我想就和我所參加的人體工程有一絲絲異曲同工之處。

不過這樣的教學就類比於國外的“精英教育”,如果沒有大量老師助教資源、沒有高昂的學費支撐是很難普及開來的;另外也需要考慮到學生的時間安排,以及在當前評分體系不變的情況下的給分結果。“大清自有國情在”,我想評論區一位學長更加詩意的表述也許更符合中國大學師生的理想方向吧——

而我自認為我經歷的更多的是 Streetlight / Pedestrian(路燈/行人)關系,這是我自以為的一種關系,指的是,路燈提供行人以光亮,但在燈與燈之間,還會有一段黑暗的歷程,行人的路程就是不斷地靠近光明,直到開辟到沒有路燈的地方,自己成為了下一個路燈。

2.2 迄今為止,你寫了多少代碼,描述你做的最復雜的軟件項目/作業。(必答)

目前我寫的代碼主要是課程作業,由於沒有做詳細的統計,這里做個粗略估計:

課程 代碼量
C語言、數據結構、LeetCode(算法) 2000~3000
計算機組成原理(Verilog) 2000~3000
面向對象設計與構造(Java) 4000~5000
編譯原理(C++) 4000~5000
數據庫系統原理(前端) 2000~3000
其他個人項目(iOS、Python等) 2000~3000

總的代碼量大概在1W~2W行。其中編譯原理雖然行數多,但是大部分工作都在做遞歸下降子程序分析,所以我個人感覺目前做的最復雜的軟件項目還是數據庫課上做的前端。

  • 開發環境:WebStorm,Postman,Visual Studio Code,Chrome
  • 項目簡介:該項目采用前后端分離開發,前端基於Vue+Ant Design+Axios,后端基於MySpringBoot。我們團隊一共三人,分別負責數據庫模型構建與系統設計,前端和后端。我負責根據數據流圖與后端提供的接口文檔,實現數據庫系統的Web前端開發部分。
  • 主要職責:參與數據庫設計討論;CSS頁面樣式編寫;JavaScript業務邏輯實現。

在開發過程中,我主要采用 Vue 框架以及 Ant Design 組件庫,並參考了網上的開源項目。我用一周的時間學習了Vue的基本語法,在項目中運用了雙向綁定,組件復用,Vue-Router 跳轉,Vuex 存儲等功能.通過Axios發送同步與異步請求,從Java后端獲取數據並渲染到頁面;在前端同樣實現了部分業務邏輯,如實時計算並排列商城頁面的櫥窗,最后也進行了不少防呆設計。

我想可能因為我們小組3個人都是二刺螈的緣故,制作的過程非常歡樂,效果演示可見《基於Vue的手辦百科與交易平台》

2.3 科班出身和北大青鳥有什么區別?速成的培訓班和打基礎的大學教育還有mooc之間有區別嗎?

對於將來都要從事Coding工作的的人來說,我覺得科班出身和北大青鳥的差別不大。我周圍的同學很多也是不局限於課堂,通過Mooc以及官方文檔自學了很多編程知識。而在牛客網等求職導向平台,大家也都在學習基礎知識的八股文、交流如何增加項目經歷。我想很多科班的學生對於計網、操作系統的學習都是不夠扎實的。

然而在2021的時間節點,我想培訓班出身大概是越來越難找到工作了,博客G中的逆襲故事很有可能成為時代的絕唱——畢竟現在科班出身都找不到。而不能快速上手項目文檔,需要借助Mooc視頻這一相對低效的介質進行學習,可能並不能算是一個加分項。互聯網野蠻生長的時代已經結束,從各種專業轉行進入計算機行業的人也許有着比參加培訓班更強的自學能力。

而如果要從事計算機科學的研究,那么顯然還是需要科班出身並進行深造的。

2.4 學線性代數和概率論的時候,你是否有過這樣的疑問“我們為什么要學這么多數學,這和我們的計算機有關系嗎”,你現在是否還有這樣的疑問?對這個問題,你有自己的解答了嗎?那么其他學科呢?

沒有。高中時我曾參加過數學競賽,一直以來對於數學也有着一定興趣。

而線性代數和概率論知識也能為機器學習、圖形學等打下一定基礎,為學生提供了更多的選擇空間,從考研的角度來說也是需要考察的項目。

3. 第三部分:未來規划

3.1 對於你未來在IT行業的發展,你有什么樣的夢想或者未來想從事什么樣的工作?你准備怎樣來規划你技術道路,職業道路和社會道路?(必答)

在大二之前我一直不清楚自己的發展方向,而在讀過《白非立上進記》[1]后,我有了更加明確的規划:我目前不打算考研,希望本科就業之后直接工作。將來的夢想則是成為開源項目的參與者與獨立開發者。

  • 技術道路:學習移動端開發、分布式微服務等知識,准備面試,進入大廠工作並積累技術經驗
  • 職業道路:先從碼農開始吧
  • 社會道路:希望可以一直保持觀察,考慮通過自己的實踐解決未被滿足的需求

3.2 你對於實現自己的夢想已經做了或者計划做什么樣的准備?

目前我已經在國內互聯網公司日常實習了,3月后可能打算投遞其他公司的暑期實習。

3.3 實習經驗究竟有多重要?是否需要馬上開始積累實習經驗?

我剛實習了一周多,而通過這段時間的經歷,我覺得對於不打算進行科研的人來說,“有過實習經歷”還是很重要的。北航的學歷能夠讓我們通過大部分簡歷篩選,而在面試中項目經歷就是重點考核內容。

在實習過程中,大部分內容還是要從頭學起——比如我學到了這個世界不只有git commit -m這一種commit方法;企業對於實習生的自學能力也有着比較高的要求,學習5天語法后就開始參與項目實戰了。

我也提前接觸到了企業的工作氛圍,進一步明確了自己的目標。因此我覺得如果對自己將來發展還不明確的同學來說,可以嘗試下實驗室實習與企業實習,便於做出更適合自己的選擇。

4. 其他參考文獻


  1. 白非立上進記(1) - 弗蘭克揚的文章 - 知乎 https://zhuanlan.zhihu.com/p/91072728 ↩︎


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM