軟件開發小白的第一次軟工作業


軟件開發小白的第一次軟工作業

項目 內容
這個作業屬於那個課程 2021春季學期軟件工程(羅傑、任健)
這個作業的要求在哪里 個人閱讀作業#1
我在這個課程的目標是 和團隊成員一起成功開發出一款具有實用性的軟件,了解軟件開發的流程並掌握軟件開發過程的分析方法
這個作業在哪個具體方面幫助我實現目標 對過去的學習進行梳理,初步了解軟件工程並且進一步明確之后的發展方向

第一部分:結緣計算機

Q:你為什么選擇計算機專業?你認為你的條件如何?和這些博主比呢?

A:和許多同學不同,其實我本人在大學之前並沒有接觸過編程,是一個十分純正的計算機小白。填報志願時士諤書院其實也不是我的第一選擇,在種種機緣巧合之下我來到了士諤書院。在大一上的C語言課程中我第一次接觸了編程。在課程中我每周的上機都要經歷一次自信滿滿到機房、焉焉地回宿舍的大起大落。但是我在課程結束之后發現,上機結束之后的心情低落只是針對於當時情況的正常表現(畢竟在大佬們的對比下,自己確實顯得非常菜雞),這種失落並沒有讓我懼怕編程本身,在最后的考試中其實我的表現也還不錯。從這里至少可以看出我是不排斥編程的。另一件事是在數據結構課程中我對從來沒有接觸過的種種概念接受的還是挺快的。這兩門課程實際上在一定程度上培養了我對編程的興趣,同時在電子設計、工圖等課程上我發現我對自動化、電子信息等專業並沒有更多的興趣,因此在學習成績本身和我的興趣二者的權衡之下我選擇了計算機專業。

相比博客I的博主,他在中學時代就已經對計算機有了很多的了解同時掌握了很多計算機的技能,他顯然有更強的求知欲更強的動手能力。其實但是回顧我過去兩年半的學習生涯,我其實並沒有在課程中有過什么突出的表現,基本上都是中規中矩的完成了課程的要求,獲得了中規中矩的成績。雖然並不突出,但是從我自己的感受來看我在每一門課程中都是有很多的收獲的。說來慚愧的一點是我對各項技術更多的是一種淺嘗輒止的狀態,我並沒有底氣說我精通某一個編程語言或者某一項技術,但是我個人評價自己的自學能力尚可。其實在一段時間中我也抱有和博客B類似的疑惑,感覺自己上了很多的課程又沒有在直觀上的感知到自己對計算機的了解有什么進步,后來在日常的生活中我發現其他專業小伙伴難以解決的編程問題我總能很快的幫忙解決,甚至還能在一些程序的結構上給出一些建議,在使用各種APP時我也會想它是怎么實現這樣的功能,所以實際上學習的各種課程實際上為我培養了一種計算機的思維,讓我看待這個世界的視角有了變化。

簡單來說,雖然我現在的能力比不上這些優秀的博主們,但是我認為我身上也具有成為一名優秀計算機領域人員的潛力。

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

A:在上一個問題中我說我在在學習成績本身和我的興趣二者的權衡之下選擇了計算機專業。而我對計算機專業的真正認識起始於我在計算機專業中的第一門專業課計算機組成原理。在自己編寫CPU的過程中我開始真正的認識到了計算機的偉大之處。任何一個人只需要簡單的學習(甚至依靠直覺)就能滿足日常的需求。我們不需要了解他如何在運行,只需要鍵鼠的操作就能完成我們想做的事。經過了計組的學習,我才知道了計算機的內部設計是多么的精巧,流水線CPU、數據的轉發都顯示着人類的智慧。這也使我真正燃起了對計算機的熱情。經過其他課程的學習,我有了更加全面的認識,但是我從來都沒有萌生過逃離計算機的想法,相反我對計算機的未知領域有了更多的好奇。我可以肯定的說我對計算機的熱愛絕對不是口頭的,至少在我可預見的未來我認為我會一直呆在計算機相關的領域中。

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

Q:你對你的大學生活有什么想要吐槽的地方嗎?你理想的大學教育應該是什么樣子的?

A:雖然目前已經是大三下了,但我還是覺得我大學生活和我的想法有一定的落差。想要吐槽的地方也是存在的。把視角放在外部,我感覺同學之間的協作性其實很差,大家更多的時候都是在各做各的,小組完成的項目往往合作的程度也不夠高(至少我參與的一些作業是這樣的)。向內反省自己的話首先我認為我沒能培養出主動學習的熱情,我往往都是被動的跟隨課程的進度在學習,這其實導致了我在課程之外的內容了解很少。第二點是一直沒有能夠克服自己的畏難情緒,在遇到學習中常常會因為擔心自己完不成而不去挑戰更高難度的要求。

博客N博客O都向我展示了兩位博主在美國的部分求學經歷。我本人並沒有國外學習的經歷,僅從這兩篇博客實際上只能窺得美國教育的一角,但是就我的閱讀一眼來看,這兩篇博文的確激起了我的向往。·首先是對於實踐的重視,這種實踐對學生有很好的引導作用;其次是考核的方式,博客N 中描寫的結課project表現出的同學們的創造力和活力令我十分向往。我理想中的大學生活就是能夠有豐富的授課形式而不僅僅囿於上課講授,大家更夠更加關注課程內容本身而非被分數限制。

Q:迄今為止,你寫了多少代碼,描述你做的最復雜的軟件項目/作業。

A:我本人並沒有確切的統計過代碼量,大致估算的話應該大致超過了萬行。(但是我認為其中大多數的代碼並不具有很高的價值),主要的代碼還是集中於課程的大作業或者實驗項目。

我目前做過最復雜的項目就是編譯課實現的小型編譯器。他主要的功能就是面向給定的類C文法,更夠將程序編譯為MIPS匯編程序,同時具有一定的錯誤處理功能。最后整個編譯器的代碼量超過了3000行。從代碼量中也可以看出程序寫的並不簡潔。在動手之前我對編譯器的結構做了一定的規划,但是最后並沒有按照我的預想完成。我的語法分析程序代碼量占整個項目的一半以上,原因就在於我把生成中間代碼的工作也加到了語法分析中,導致語法分析變得又臭又長。雖說功能正常,但到后期我本人都不太待見這個程序。這一點也是我覺得需要好好鍛煉,簡潔優美的代碼誰都喜歡。

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

A:在學習這些數學課的時候我並沒有類似的疑問,但是我也沒有清晰的認識到它們的用處具體在哪兒。我在上一學期選修了機器學習相關的課程,我才發現在機器學習中線性代數和概率論都發揮着重要的作用。至於其他的課程比如物理更多的可能是思維的訓練。在培養計划中也有人文課程的要求,可能有一些同學並不喜歡這類型的課程,但我還是挺喜歡這方面的課程,雖說它們對於專業技能可能沒有什么直接的貢獻。但我認為很重要的一點是它能夠增強我們的思辨能力,它實際上是增強了我們的個人素質。另外我想多說的一點是我認為對於各種不同的課程不要抱有太強的功利性,用包容的心態學習可能會使我們更好的享受課程本身的內容。

第三部分:未來規划

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

A:現階段的打算主要是本科結束之后繼續深造。在研究生結束之后應該會進入企業工作。(研究生之后的事情我個人認為還比較遙遠,所以並沒有更多的思考)。從我的個性和能力來考慮,未來想要從事的工作應該是項目經理或者架構師。就我目前的認知來看,這兩個工作都需要有很強的綜合素質。首先是要有技術的積累,尤其是廣度和綜合運用的能力;其次是統籌規划能力;最后是管理溝通能力。從以上幾點來看,我暫且認為未來的努力的方向在於:

  • 了解並掌握更多的開發技術,至少精通兩到三項開發技術(不過我目前還沒有選定向哪個方向更多的鑽研
  • 閱讀管理學的書籍,選修相關的課程


免責聲明!

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



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