軟體工程第零次作業

2022-05-25 10:30:14 字數 3162 閱讀 9471

第一部分:結緣計算機

在進入大學之前,我的生活和計算機似乎沒有太大的關聯。要說和計算機有關的生活,也就是打遊戲了吧。因此在高考填報志願之前,我從來沒有想過會去學習計算機。後來選擇計算機,僅僅是聽說這個專業很火,很多人學。

大一上學期的計算機基礎操作,學了一點點python。第乙個程式是print(『hello, world』),執行後在螢幕上看到hello, world一行字十分激動。這是我寫的第乙個程式。再到後來,老師講了變數,表示式,函式以及python的物件導向。當然那時候的我是不能理解物件導向的。

但後來我漸漸發現,我周圍的同學並不都是和我一樣對計算機和程式設計一臉懵逼。他們進入大學前有了很強的程式設計能力,部落格i[1]也是這麼說的:「我把所有課餘時間都放到學習電腦和程式設計中了。很少玩遊戲,而且比較少參與課外活動,週末和假期都把所有時間都投入到學習程式設計中。高中,學習的確繁重,但我仍然把相當多的學習時間都放到學習程式設計中。」這讓我意識到,原來一開始我就落後了別人那麼多,不努力追趕,就會掉隊。

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

當初選擇計算機專業的時候,只知道這門課是敲**的,學完就可以做遊戲做軟體。因為不曾接觸過計算機程式設計,也不了解專業的內容,所以在開始學習這個專業之前,談不上喜歡這個專業。

到了大學和同學比較,發現我的條件並不怎麼樣。一切從零開始。我在讀部落格時發現很多很厲害的人在初中高中就接觸了計算機和程式設計,這一點我是比不上的。但了解了這個專業之後,我喜歡上了計算機,我也相信這份熱愛能幫助我更加努力的學習。

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

學習了兩年計算機,確定了計算機的確是我喜歡的領域。我很享受自己寫的程式正常執行時的成就感。乙個程式能快速且精確地處理輸入,然後把結果輸出出來,我認為這是十分神奇的,即使十分清楚它的內部邏輯是怎樣的。我還記得在不了解遞迴時看到了漢諾塔問題。網上的簡潔的遞迴程式讓我十分著迷,即使了解了函式呼叫,但我從來沒有想到過函式裡面還能呼叫自己。這些以及其他一些神奇又精煉的演算法和表示式讓我喜歡上了計算機和程式設計。

計算機專業是不是我擅長的領域,這個問題很難說。至少作為乙個理科生,可以自信的講解決理科的題目是我擅長的領域。而計算機程式設計也能表述為乙個個數學題,所以我想我應該也是擅長的吧。

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

我認為我是熱愛這一專業的。中學時代,做語文英語的題目總是讓我昏昏欲睡,而面對數理化時卻從來不會這樣。因為我當時是熱愛數理化的。到了大學,敲**時我總是很亢奮,有時候過了睡覺的時間都渾然不覺。所以我想我是熱愛計算機的。

第二部分:在計算機系裡學習

現在我也已經在計算機系裡面學習了兩年了,學過了資料結構,學過了計算機組成,學過了物件導向和作業系統,以及一系列的數學課程。讓我真正入門程式設計並快速提公升程式設計能力的就是大一下學期的資料結構。首先是快速掌握c語言的基本語法,以及指標操作。然後講了鍊錶,樹和圖。課上講的都是照搬書上的內容,講完一遍感覺還不是自己的東西。真正幫助我的是課後針對性的程式設計題。每道題都緊扣課上的基礎內容,需要自己實現各種資料結構。同時又有難度上的提公升。這對於當時的我來說很有挑戰性。完成了這些程式設計題目之後,才算是真正理解了這些資料結構的內涵。部落格b[2]中也提到了類似的經驗:

我們的授課老師,卻只講最簡單的概念和不深的理論描述,給我的感覺就是,「資料結構」幾乎是門和「離散數學」差不多的數學課——他用最膚淺的知識,「成功地」告訴了我們「資料結構」是門幾乎不用動手寫程式的課程,只用上課聽聽就好了。於是乎,一門需要動手實踐、將會極大地提高我們程式設計素養和思維能力的課程,就被我們這樣迷迷糊糊上完了。

2023年準備研究生考試的時候,我旁聽了朱仲濤老師的「資料結構」課,當時的感覺只能用兩個字來形容:震撼。在他的課上,我對資料結構有了全新的認識,對計算機也有了一點與以往不同的了解。他的講課風格非常獨特,他只用1/5的時間簡述一下要講的內容,剩下的時間都是當場寫程式。

在讀了大神的部落格之後,發現他們在本科學習階段做的最多的一件事就是看書,並且自己敲書上的每一行**,然後執行。這是我沒有做到過的。本科學習是積累的過程,要看很多書,要深入的看書,包括每一塊**和每一章末尾的習題。只有擁有異於常人的精力和對計算機的熱情才能真正學好這門課。

大二上的計算機組成原理一方面讓我們了解了計算機中最底層的執行原理,另一方面,我們通過數週的程式設計,修改和重構,完成了真正意義上的完整的專案。當完成編碼後看到輸入的一條條彙編指令得到結果的時候,這種成就感是十分醉人的。

大二下學期的物件導向課程讓我們初步感受到什麼是結構化和模組化程式設計。你寫**不僅僅為了完成當前需求,還需要考慮到需求的更新和補充,以及其他人能夠快速的讀懂你**的邏輯。因此物件導向的三個精髓:繼承,多型,封裝變得尤為重要。

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

選課是乙個頭疼的事情,學校學院的課程要求難以達到, 核心通識課根本選不到。課程安排還是比較滿意的。課程有一定的難度,但的確能學到很多有用的東西,也能提公升自己的能力。

我理想的大學教育,應該是有濃厚的學習討論氛圍,同學互幫互助,共同進步。當時機組課程和oo課程的討論氛圍讓學習更加高效率。

2. 迄今為止,你寫了多少**,描述你做的最複雜的軟體專案/作業。(必答)

到現在為止,我大概寫了近萬行**。我認為最複雜的軟體專案是mips流水線cpu。這個作業大概有上千行**,直到p7時,能支援

二、三十條指令,以及中斷處理。這項作業的難度逐步提公升,完成p5以後,原來的一部分**由於邏輯結構不夠清晰,已經很難再擴充功能支援更多的指令,因此我在p6時將大部分**重構。重構之後的**在擴充功能時變得十分清晰而簡單。p7增加中斷處理時也並沒有那麼困難。

第三部分:未來規劃

1.對於你未來在it行業的發展,你有什麼樣的夢想或者未來想從事什麼樣的工作?你準備怎樣來規劃你技術道路,職業道路和社會道路?(必答)

在未來,我希望能從事和前沿技術密切相關並且投入實際應用的工作。進入社會投入到工作中時,應該抱著提公升自己的態度,多學習多積累,這將是未來自我發展的基礎和本錢。

[1] 

[2]

[3]

第零次作業

1.你對網路專業或者計算機專業的了解是怎樣?通過查閱資料,該專業學生主要學習計算機 通訊以及網路方面的基礎理論 設計原理,掌握計算機通訊和網路技術,接受網路工程實踐的基本訓練,具備從事計算機網路裝置 系統的研究 設計 開發 工程應用和管理維護的基本能力。對這方面主要是高考後才了解的,查閱之後有了些入...

第零次作業

為什麼選擇計算機專業?你認為你的條件如何?和這些博主比呢?以為我覺得學計算機是我們大資料時代的基礎,而打好這個基礎就是適應這個時代,也適合未來的就業主流。我認為我有那個努力學好這門專業的條件。我覺得我和那些博主有些差距,不過我會努力拉進和他們的差距,如果可以的話,超越他們也是不錯滴。你理想的大學應該...

第零次作業

總是有一些同學會說 我不適合 不擅長 不喜歡計算機專業,那麼什麼是興趣?不懂得 不要緊,最重要的是你可以硬聽,不在意聽不聽得懂,久而就會明白,很清晰的思路會浮現,而這種思路,會潛移默化到別的地方。我想,計算機也應該是這個樣子的。我從沒有高深接觸過,學習過 計算機,我所學過的計算機是簡單又易懂的。就是...