我不相信什么冥冥之中自有安排,我只相信我現在所做的一切都會在未來有所體現。
項目 | 內容 |
---|---|
這個作業屬於哪個課程 | 2021春季軟件工程(羅傑 任健) |
這個作業的要求在哪里 | 2021年軟工-熱身閱讀作業 |
我在這個課程的目標是 | 學習軟件開發的工程化方法,第一視角體會結對編程、團隊協作的軟件開發流程 |
這個作業在哪個具體方面幫助我實現目標 | 讓我回顧自接觸計算機以來自己的心路歷程,重新思考未來的發展 |
0. 關於聽講
閱讀 Scalers 的這篇博客后關於聽講的思考...
博主簡明扼要的拋出問題,“你在上課的時候,是認真聽講,還是在聊天說話玩手機?”,針對這個問題,我必須指出,問題本身不全面,課堂上不只有這些選擇。接着,博主鮮明的指出自己的觀點——大學生上課就是要認真聽講,然后擺出了五個論據,接下來我會針對其中幾個論據提出自己的看法。
首先,“認真聽講是一種能力”。是的,認真聽講能培養我們專注的能力,而這種能力有助於我們在后續的工作和學習中也能保持專注。我的疑問是,是否每一門課都有專注聽講的必要,如果我的目標明確,是否可以將我所認為更有利於目標實現的事情置於這門課之上,選擇不聽講?這何嘗不是一種專注?當然,僅僅是為了自由散漫而選擇不聽課自然是人頹廢的開始。
其次,“課程講的不好不能成為不聽講的理由”。博主寫道“我始終相信老師的整體水平還是優於學生的,所以當一個學生說老師講得爛的時候,我其實是期待學生能說出來具體哪里爛,而且能指出明確的點以及可改進的方案的。”。的確,在所教授的課程領域,老師的專業知識遠超於我們大學生,這一點是毋庸置疑的,但是這並不代表所有老師都能把自身所精通的知識以較高質量傳授於我們,一堂課的開展需要老師與學生兩方的配合,如果大面積的學生不願意聽講,顯然老師一方也負有責任,另外,很多時候,學生是沒辦法說出具體哪里爛總而言之就是味同嚼蠟,更沒辦法能指出明確的點以及可改進的方案,因為學生的水平絕大多數不及老師,就連老師都無法做到吸引學生聽課,那學生又如何能做到?
最后是,“課程有用無用不是一個大學生的格局能判定的”。這一點我十分贊同,以一個大學生的閱歷來判斷一門過來人設置的課程實在是為時尚早,誰也不知道這些課程的學習經歷會在未來哪個關鍵時刻派上用場,抑或是在某個方面潛移默化的影響了我們...
1. 關於初衷
閱讀博客I之后...
讀完這篇博客,我十分佩服博主。博主初二時在學校的電腦課上第一次接觸到電腦,初三時擁有了自己第一台電腦,憑借着濃厚興趣投入大量時間搗弄電腦,甚至為了電腦決心學好英文;在高中,博主更痴迷於電腦,盯着高考的“重壓”仍然是“兩耳不問窗外事,一心只顧編程序”。博主強烈的想成為一位 IT 人的願望促使他堅持學習電腦知識並開始職業軟件開發生涯。
你為什么選擇計算機專業?你認為你的條件如何?和這些博主比呢?(必答)
我第一次接觸電腦是在小學四年級,樓下的小伙伴家有一台配置不錯的電腦,我經常跑去他家跟他一起打游戲,那時候,電腦對於我而言就是一台游戲機,這個想法一直伴隨我來到高中。相較於這位博主,我十分羞愧,羞愧於自己雖然同期接觸電腦在先,但卻走上了旁門左道,更后悔的是,有位關系較好的高中同學利用午休時間學習編程,而我在一番了解之后毅然決然選擇了回宿舍睡大覺,又一次錯過了深入理解電腦的機會。
我十分羡慕這位博主,羡慕博主早早就接觸 DOS, GWBASIC, Quick BASIC 和 Pascal,羡慕博主有一幫志同道合的人能交流技術...
但是,為什么我又在大學選擇了計算機專業呢?答案,是游戲,但是這次我的思考角度不是玩家,而是為什么電腦能夠運行游戲?為什么敲敲鍵盤,點點鼠標,屏幕里的小人就會按照我的意圖行動?我和博主都被電腦的神奇之處所吸引,目前,我還處於學習階段,如今的我已經解決了當初的疑惑,但面臨着更多的“疑惑”,將來我也希望成為一名 IT 人,不斷解決“疑惑”又產生更多的“疑惑”。正如博主所言,成功貴乎堅持,我希望我也能堅持這個方向,“一入 IT 深似海,從此摸魚是路人”。
計算機是你喜歡的領域嗎?是你擅長的領域嗎?
計算機是我喜歡的領域,這份喜歡是在不斷接受新知識,不斷體會過程中的樂趣所逐漸加深的,但是,我不敢確定我是否擅長計算機,原因在於,所有個人的涉及編程的課程或課程設計,我都完成的不是非常完美,過程也算得上十分艱辛,經常需要課下花很多時間求助於同學或老師。不過,以現在的角度來重新審視這些課程的學習,我想若不是“擅長”計算機,又怎會下功夫去闖過這些難關呢?
2. 大學教育
你對你的大學生活有什么想要吐槽的地方嗎?你理想的大學教育應該是什么樣子的?跟學校給你的有什么區別?比較你在中國大學的經歷,你的老師和學校能做到和國外那樣嗎?如果不能,請分析一下為什么。(必答)
2.1 吐槽
大學生活最想吐槽的地方還是期末考試。相比於高中三年學那么幾門課,大學幾乎每學期都要結束十幾門課程,其中不乏有考試課,就算每節課都認真聽,課下作業認真做,還是免不了在考前加班加點突擊復習。雖然年年都在吐槽烤漆,但是奈何某些課除了開展覆蓋性的考試,沒別的法子可以檢驗學生的學習情況...
2.2 理想與現實
我理想的大學教育是學生和老師亦師亦友、老師循循善誘、每門課程小而精且富有挑戰、每學期的課程壓力適中,保證平衡性。具體來講,我十分羡慕這位博主所描述的朱仲濤老師的“數據結構”課,朱老師不拘泥於理論,整堂課大部分時間在帶領同學們一起編程,在實踐中獲得認知,引人入勝。不過,我所期望的還是太過理想,目前在學校,大部分還是靠自己學,雖然有許多富有挑戰性的課,但是某些課還是不太成熟,體驗不是很好,另外,自選的課信息匱乏,很多時候與所期望的內容相差甚遠...
2.3 國內外大學教育
由於我並沒有深入了解過國外的教育模式,所以只能從旁人的只言片語中提取特征與自己接受的教育作比較。根據身邊出國的同學和老師所述,國外的教育(工科)一般側重實踐與展示,且任務量比較大,課堂上交互式內容很多,學生與助教和老師的在課上和課下的交流都非常緊密。就拿本學期實時嵌入式應用系統第一節課上老師所描述的國外嵌入式系統教學作為例子來看,課程組將教學任務分為許多單元,每個單元之間可獨立完成,但是需要設計好接口,以便最后集成為一個可運行的系統,在此期間,學生有任何進展或者疑問都可以在現場展示,與老師、助教和其他同學進行探討,其中接口設計和系統集成都面臨不小的挑戰。另外,咨詢了一位從高中就在國外念書的同學了解到,國外教育目的性很明確,高中與大學高度對接,將來在哪個大學念書,念什么專業,很大程度上都取決於高中的情況,因此學生大多有基礎,而在大學感到迷茫,手足無措的情況較少。
竊以為,放眼全中國,整體大學教育相較於國外應該是有部分差距的,但是中國的教育是最適合我們的,除了比較久遠的歷史原因,還有一個現實情況是我們人口眾多,人才選拔為了普適、公平,犧牲了個性化,從事教育的高端型人才無法支撐本科生教育做到交互式、精細化。但是就我在北航所經歷的大學教育來看,我認為我們學校許多課程已經在學習國外的模式,有的課程甚至在模仿的基礎上有了自己的特色。我所經歷的,計算機組成原理、面向對象設計與構造表現十分出色,編譯原理也值得誇,操作系統則還有很大進步空間,還有其他很多課程就不一一列舉。另外,本學期咱們的軟件工程課程也備受期待,希望我們學生和課程組相互配合,帶來好的體驗!我們學校的教育是否能對標國外,我不敢說,但至少,我們在進步。
2.4 個人學習
迄今為止,你寫了多少代碼,描述你做的最復雜的軟件項目/作業。(必答)
截止目前,粗略估計,計組大概敲了兩千行,OO (四單元)大概敲了五千行,編譯大概敲了兩千行,數據庫以及 rails 大概敲了一兩千行,總的來說就是一萬行上下。要說最復雜的軟件項目,那應該是編譯的課程設計——一個簡化的類C編譯器。這個小小的編譯器雖然能做的十分有限,但是至少詞法分析、語法分析、語義分析與中間代碼生成、代碼優化、目標代碼生成一套流程都得以實現,最終能夠利用遞歸下降子程序法編譯具有一般程序語言控制結構、支持函數調用、支持 int, char 類型的常量、變量、數組(二維數組)、支持簡單錯誤處理的編譯器。
學線性代數和概率論的時候,你是否有過這樣的疑問“我們為什么要學這么多數學,這和我們的計算機有關系嗎”,你現在是否還有這樣的疑問?對這個問題,你有自己的解答了嗎?那么其他學科呢?
引用這位博主的話就是“非沒用,兔子洞”,狡兔尚且三窟,我們聰明人也應該在早期做好准備,打下基礎。“成長路徑中有很多的偶然,沒人知道在一些關鍵時候需要什么樣的知識儲備,所以踏實地多儲備一些是好事。”,僅靠我們大學生的閱歷,不足以認識到現階段學這么多數學的作用,但是在如今這個學科交叉的時代,在機遇和挑戰並存的時代,我們學的數學很大幾率會在未來某個關鍵時刻派上用場。
3. 關於未來
對於你未來在 IT 行業的發展,你有什么樣的夢想或者未來想從事什么樣的工作?你准備怎樣來規划你技術道路,職業道路和社會道路?(必答)
3.1 夢想
作為一名游戲玩家,接觸了許多網游,也專門了解過網游發展史,得知網游的誕生必不可少的基礎就是網絡。就目前接觸了這么多計算機專業課之后,我依舊對計算機網絡感興趣,因此希望未來能成為一名網絡工程師。
3.2 規划
首先肯定是在目前階段打好理論基礎,熟悉網絡的五層體系結構;技術方面細節不清楚,但是肯定是先打下手,做實施工程師,不斷積累經驗;之后要拓寬業務能力,縱向發展肯定是往資深工程師和總工走,而橫向發展可以兼顧服務器硬件、操作系統、數據庫、安全,把多個方向都做到中等水平,做綜合性技術人才。
你對於實現自己的夢想已經做了或者計划做什么樣的准備?
你們馬上就要面臨實習了,你打算在企業內實習還是在實驗室實習?
我打算在實驗室實習,因為我認為本科教育還是過於寬泛,我希望在各種專業課程上繼續深造。另外,我還希望在實驗室鍛煉信息檢索、如何提出問題、如何解決問題的能力。我希望能通過這兩個方面更好的應對工作的多方面復雜要求。
當然,嘴上說的輕巧,關鍵還是要落實到行為上。目前,我還存在許多短板,最為致命的是靜不下心鑽研理論知識以及編程水平亟待提高。對於靜心讀書,看到這位博主幾次三番發出“面試題怎么都那么熟悉”的感嘆,我意識到我也必須廣泛涉獵理論知識,我已經購買了許多實現自身夢想需要研讀的書籍,我希望我可以堅持看下去;對於提高編程水平,拜讀了這篇博客后,我十分贊同博主所言,“如果要快速提高自己的編程水平的話,你必須總是去做一些你做得出來,但是難度大到只要再難一點點你就做不出來的事情。再這么堅持好些年之后,肯定會進入高手的行列。”,是的,我需要保持對編程的熱情,不能因瑣事以及自己的懶惰總是拖延編程。
4. 寫在最后
每次寫完一篇帶有回顧、規划性質的博客,我都會熱血沸騰那么幾天,爾后又陷入沉淪。
感謝課程組給予我寫下這篇博客的機會,最后還是希望能堅持下去,不忘初心,牢記使命。