軟件工程第0次作業

一、First項目git地址: https://git.coding.net/isak_even/First.git

二、閱讀推薦博客回答問題

問題1你爲什麼選擇計算機專業?你認爲你的條件如何?和這些博主比呢?

報志願的時候我對計算機專業並不太瞭解但覺得應該是一個有趣的專業,所以把它放在了志願的第三位,有點機緣巧合,我最終來到了東師,來到了計算機專業。

在正式開始大學生活之前,我對自己的未來有不少擔憂,因爲雖然是理科生,但是數學並不好,來到了這個需要數學基礎、計算能力的專業,怕自己會不能適應,甚至跟不上課。而和高中就接觸過編程或者信息競賽的同學相比,自己也會更加忐忑。除了這些比較擔憂消極的想法之外,我也同樣懷有對這個專業的好奇和熱情。我覺得這兩點很重要,甚至到現在的大三我也這樣認爲。

之前說過,我覺得計算機專業是有趣的。在大一接觸過一些基礎課程和講座後,這個有趣的印象更加深刻,這個專業是理論和實踐結合的,即便上課時間有限,但是課餘時間我也會想如何把課上的內容實現出來,我嘗試用C語言寫學生管理系統(當時在學指針),嘗試用java做一個連接數據庫的有界面的系統(暑假的時候做的),嘗試做一個網頁,嘗試把tcp通信運用在機器人上面(跟着老師做的一個比賽),嘗試用python做簡單的數據分析......雖然我做的東西有點平平無奇,但對於我來說還是很有收穫的。我對計算機領域的事情充滿了好奇,這是個高手雲集,讓人忍不住想看的更多、學的更多的地方。興趣是最好的老師,我覺得興趣也是我最大的動力。

和這些博主相比,我少的第一個東西是想法和目標(個人能力方面目前還是巨大的鴻溝,就不在能力上做比較了)。大學首先考慮的是方向、目標,考慮自己要做什麼。比如在這個大佬 的博客中,他的夢想就是做遊戲,雖然起初有點迷茫,但是之後的每一步他都沒有偏離這個目標。我羨慕這樣的人,有想法、有目標。這個領域太大了,我對它們感興趣,但還是沒有找到想要一直從事的方面。第二個就是系統化的學習,到目前爲止的學習生活中,我確實學了很多基礎語言,但是在實際應用中發現我的整個項目結構不夠規範,導致做出來的東西像是毛線球(表面光滑,裏面亂如麻)。所以我有點希望在大學課程中,老師在教授基本語法的同時也可以講授一下項目的大體框架,這樣會讓我們對知識的掌握更快一點。

博客中提到的“程序員不是大半年就可以訓練出來的。 要不然大學幾年的基礎課程開設來幹嘛。”和“能力這個東西,並不是交了錢,混了時間。拿個畢業證就可以的。”這兩句話讓我覺得有些啓發。其實有段時間我也會想和培訓班那些直接上完幾期課就找工作的人相比,我們這樣學的理論多一點,基礎課多一點的人不一樣在哪裏。現在好像有點明白了,任何技術不是一蹴而就的,需要實踐更需要時間,需要努力更需要有用功,大概就是這種不一樣吧。

我現在的大學生活還算充實,課堂時間和學習時間在跟着老師學東西,平時也會藉助網課,博客來學習和解決一些事情,而課餘時間在做志願者。但還是覺得自己學到的東西少,之後的時間我想去看一些實體書來夯實基礎。

 

問題2:你理想的大學應該是什麼樣子的?

我覺得大學時期,這是一個最接近社會的時期,也是一個最能成長的時期。我在高考結束的那一刻其實就在想象我的大學是什麼樣的,應該是自由的,有思想的,有趣的,與現在的生活截然不同的。而現在,已經在大學度過了兩年時光的我再次去想“理想的大學是什麼樣的”,我想說,理想的大學的圖書館不再是自習室,理想的大學每一堂課都是有意義的,理想的大學不一定讓人舒適快樂,但會讓人不斷前行。

《大學》中說“大學之道,在明明德,在親民,在止於至善。”這位知友所描述的大學我很嚮往,真正的大學,每個人都有學習能力,都保有初心,擁有對學術的好奇與熱愛,也不會成爲井底之蛙,不會止步不前,更不會只言說不實做。

我還想談談理想的大學時期的自己。我一直是個中庸的人,成績不好也不壞,性格也在孤僻和乖巧之間吧。在大學對於課程的態度就是這篇博文中提到的,對自己認爲有用的有興趣的專業課就認真聽,對一些選修課就不那麼重視了,現在相像自己還是太幼稚了,課程有用無用不是一個大學生的格局可以判定的。所以我理想中的自己,是可以不帶情緒、不帶偏見的去聽每一堂課,學好每一門課,是可以專注如一的做好一件事,是更優秀更有目標的自己。

 

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

近幾年人工智能、深度學習等一些詞已經成爲高頻熱詞,我對這方面的事情很有興趣,在知乎上找到過這兩張圖(原文點這裏

這些圖片讓我瞭解了這個方向的一些知識,我想嘗試去在這個方面做些東西。大二時有幸在老師的實驗室做過機器人的比賽,那是一個仿人機器人的接力賽,第一次接觸,主要在跟着學姐做,做了有一個月本想自己做得還不錯,但比賽那天才意識到自己和別人的差距在哪裏。雖然比賽結果不盡如人意,但我真正地被那兩天比賽的氣氛所感染,知道自己有很大的不足,所以在暑假有自己學習關於python的基礎知識,之後想進一步瞭解算法方面的知識。我覺得在本科學習這些東西有些困難,所以想考關於這方面的研究生,希望之後在導師的指導下可以加快學習的步伐。而現階段學好專業課是首要任務,之後會向學姐學長請教這方面的知識,以及如何入門。

三、《構建之法》閱讀後產生的問題

1.  在第2章“個人技術和流程”的2.1.2節中讓我清楚地知道了什麼是一個好的單元測試,但是在這一節的“單元測試應該集成到自動測試的框架中”,雖然知道了爲什麼這樣做,但不清楚如何讓它集成到自動測試的框架,而且不同的單元測試它的測試框架是一樣的嗎?如果不一樣,那在寫完代碼後既要做一個單元測試,又要做相應的自動測試框架,會不會降低工作效率呢?在2.1.3的“迴歸測試”中我也有同樣的疑問。

2.  在第6章“敏捷流程”中感覺自己受益匪淺,這是在計算機課程中第一次知道“敏捷”還有這樣的涵義。書上說它是價值觀和方法論的結合,但通讀整個章節,感覺自己對敏捷的概念並不那麼清楚,是不是每個項目都適合用敏捷流程呢?後來發現鄒老師也有講解(https://www.cnblogs.com/xinz/p/3852390.html),不知道有沒有實例分析可以讓我更深入的理解。

3.  在閱讀第7章“MSF“基本原則時我看到第五條是“交付增量的價值”,我不太懂,通過網上查詢得到了一個概念的解釋“增量交付是指爲及時反饋和接納,頻繁向客戶交付連續改善的工作產品”,那“頻繁地交付”這件事是出現在項目過程的哪個部分呢?是完成一個板塊還是完成所有工作後再進行增量交付?在第六章敏捷也看到了交付,和這裏的交付是一樣的嗎?

4.  第8章“需求分析”的8.6節“計劃和估計”提到不是軟件項目的估計難,而是所有估計都難。既然估計難,那麼除了在集體中用團隊的方式進步,還有什麼估計能力提升的方法是針對個人的嗎?

5.  書中第9章“項目經理”的9.3節中說“一個團隊可以有多個PM(Program Manager)”,而有多個PM就一定會在一些決策上必定出現歧義,出現歧義時如何解決呢?提出這個問題後,我在這一節的末尾找到了答案“PM太多以後,大部分決定是經過平等而反覆的討論協商折中得到的”。出現歧義會協商,但協商就會有妥協讓步,最後的決定權是不是在Project Manager?協商後得出的中規中矩的解決辦法真的是最終方法嗎?現在有沒有更好的解決辦法?

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章