主頁 > 軟體工程 > 2021軟工-個人閱讀作業#1

2021軟工-個人閱讀作業#1

2021-04-01 21:23:00 軟體工程

專案 內容
這個作業屬于哪個課程 2021春季軟體工程(羅杰 任健)
這個作業的要求在哪里 個人閱讀作業#1
我在這個課程的目標是 和我的團隊開發一個真正的軟體,一起提升開發與溝通的能力
這個作業在哪個具體方面幫助我實作目標 歸檔cs學習歷程,思考自己的定位與未來

一、結緣計算機


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

羨慕博主I這種中學時就與志同道合的人為之熱愛而奮斗的人,這也讓筆者感到相形見拙,筆者在十八歲以前,只是小縣城高考工廠中的另一位做題家罷了,那一年,區塊鏈、云計算、深度學習這些詞正火熱,恰好筆者也時常浸淫于知乎上充滿個人英雄主義的Geek和白帽的經歷中,再加之筆者除了數學其他學科都學不好的原因,便對cs有了歸宿感,心想著以后靠寫代碼過活也挺cool之類的,在經歷一場失敗的高考后,筆者就到了BUAA,專業分流時持著提升計科核心能力的想法進入了計算機系,

其實筆者看到博主I首先聯想到一位是上古時期程式員的作家王小波,同樣是有兩把刷子的野路子,可惜筆者在高考工廠的時候只讀過小波的文字,并無機會像他一樣動手編程,自楚門的世界出來之后,筆者才知道相比于大學其他同學自己的基礎是零呀,但相比博主I時代變了,而且幸運的是,6系和73書院有著世一大的相當厲害的教科條件,筆者經過CO, OS..的錘煉,可說是融入了cs這個領域并體會到了它的魅力,

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

吶,適合自己的東西我當然喜歡了,如果平行世界中我聽了那個沒有頭發的班主任的話去學物理的話,那么大學一定會很痛苦罷,大物證明了我確實一沒天賦二沒熱忱(悲), 但說到cs的話,自底向上剖析調教計算機的各個層次,亦或是將所學所思變成一個個高效的程式實作,這種在cs無窮知識中不斷學習并實踐之所帶來的成就感,還有在屎山中成功DEBUG的暢快感,是我廿年來不曾有的,經歷兩年多學習,我確信計算機領域是我能施展拳腳的天地,所以計算機是筆者喜歡的領域,

因為沒有達到精通的水平,所以計算機不是我擅長的領域,我客觀上基礎打得并不是很牢,專業課也達不到申優的水平,但我在6系大幅提升了編程能力與系統能力,正走在《從入門到精通》的道路上,所以我一定會努力給這個問題一個肯定答案的,

二、在計算機系的學習


問1:你對你的大學生活有什么想要吐槽的地方嗎?你理想的大學教育應該是什么樣子的?跟學校給你的有什么區別?

吐槽:(a)很幸運能進入全國頂尖的計算機系,6系的金課當然是好的:從零打造的流水線CPU、成熟的作業系統課設、自主設計魔幻優化的編譯器.. 各個課設可謂環環相扣,理論與實踐高度結合,也很有深度,就像博客M說的"你做得出來,但是難度大到只要再難一點點你就做不出來的事情",這種磨練讓我成長了很多,但或許6系更看重同學的工程與系統能力,演算法等一眾數學課教的內容比較基本,或者是考核并不太硬核,我期望的是這些計科軟實力也能被同樣重視,(b)其次為了完成6系宏偉的培養方案,我還得刁難自己選一些為寬口徑人才準備的和cs相關性低的課,可能"課程有用無用不是一個大學生的格局能判定的",但我希望給同學們足夠的按個人興趣選擇專業外的課程的機會,(c)你航人口太多了,所以人文關懷和心理疏導確實無法面面俱到,但學院最近在這方面的努力大家是能感受到的,

作為工科生,當然不能只停留在課堂所學,更多的應該是自行探索鉆研,所以在這方面努力可能比天分更有用,自我驅動力就很重要,所以我理想中的大學教育是講授人不僅完成專業知識的傳授,更能少一些照本宣科,引導學生理解課程本質,明白自己在課程中最想學到什么,這樣才能驅使同學們深入研究,拔高課程的深度,其次,課程的考核也應進一步細化,把平時的學習情況納入評定,總不能老是搞一考定音的策略,這實際上是對同學們課內知識增長的程序的忽略,最后也容易演變成臨門一腳,只是對往年考題擬合的應試型學習,

問2:你的老師和學校能做到和國外那樣嗎?如果不能,請分析一下為什么,

博客N近乎就是我理想中的大學教育了,透過博客可以感到國外良好的學術氛圍和教育條件,和我的學校相比的話,一來國內短時間內也沒有這么好的教育資源支撐這種模式,教材質量和硬體質量都亟需提高,二來外國個人主義濃厚,大學內沒有國內這樣復雜的行政體系,學生對自己的大學生活更有規劃,更能注重合作與主動探索,這一點思維的轉變不是每個國內學生都能做到的,所以國外細致的模式可能還不適用于國內的教育環境,

問3:迄今為止,你寫了多少代碼,描述你做的最復雜的軟體專案/作業,

不記空行情況下:計算機組成原理課設2000+Verilog代碼,面向物件課設共2997Java,ongoing的一個Android專案也算上吧,1500+Java;資料庫系統原理寫了一些Vue,因為功能簡單只寫了2162行;編譯原理(MIPS難度)寫了1395C/C++,其他的是懶得數的代碼片段,課內零碎的1500+Python,大一在的luoguoj4th刷的水題也有個幾k行左右,所以攏共就是1.5~2w的樣子,

這其中最為復雜的作業是編譯原理課的小型類C文法編譯器,雖然重構與壓縮后的行數不多,但在邏輯上是相當復雜的,其任務有詞/語法分析,中間代碼生成與代碼優化部分,我在完成代碼生成部分后因為理論課上沒聽懂怎么優化,所以只搞了幾百行對匯編碼的優化(霧),想來其中最大的問題是忽略了代碼的可維護性與可讀性,這種草率的編程風格肯定對團隊是有害的,我有罪,所以我將在軟工中再次審視自己的代碼規范..

問4:速成的培訓班和打基礎的大學教育還有mooc之間有區別嗎?

MOOC的受眾廣,能把優質的課程開放給各個階段的學生,這對于國內高教事業是好的,但我覺得慕課太缺乏互動性,基本就是講授人在一個虛擬背景下念課件的鏡頭,課堂氛圍的缺失讓學生難以持續跟進課程,所以相比之下,我更推崇國內外的錄播課,

培訓班的弊端是往往只能送出只會博客G中那種"不懂得任何的良好編碼習慣、除錯、調優技巧"的搬運工,我也曾在B站為了快速了解一門語言看了一些培訓班公開的視頻,但往往講到某一個庫函式時,講者會強調'一定要在這里呼叫這個函式,不然會出現balabala的BUG',但沒有如我期望中那樣通過原始碼分析BUG的原因,所以培訓班為了時間效益,往往只注重知其然,而不知其所以然,這樣的畢業生往往在企業中日復日地重復相同的編碼,容易在技術上停滯不前,

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

沒有疑問,數學完成的是對抽象的描述,計算機科學中很多模型的建立與演算法都離不開數學,有時它就是那個技術實作上的瓶頸,你還必須得去學會了,計算機圖形學離不開線性變換,影像方面有傅里葉變換,機器學習就牽扯出概率論線代啥的,我認為作為計算機系的學生,還理應當對數論,圖論等這類離散數學有廣泛的了解,當然我們所需的數學只是這個學科的一部分,作有針對性的學習也是有必要的,

三、未來規劃


問1:對于你未來在IT行業的發展,你有什么樣的夢想或者未來想從事什么樣的作業?你準備怎樣來規劃你技術道路,職業道路和社會道路?你對于實作自己的夢想已經做了或者計劃做什么樣的準備?

想做機器學習相關的作業,因為通過課程以及馮如杯和實驗室有了解到機器學習與深度學習,其中推動演算法落地成為應用是很有意思和挑戰的,從規劃看來,短期內還是堅持進行中的考研復習,因為我考量到以自身的實力不深造應該在作業中走不長遠,所以選擇讀研來修煉自己的內功,博客B的讀研經歷也提醒我要避免陷入思維的機械與缺乏活力,當下我應該夯實代碼能力,同時主動去鉆研理論,動手復現,既然決定做ML相關,今后自然要動起手來,只有在實踐中才能發現技術的痛點,找到自己的研究方向,

由于我比較迷茫,所以職業方向沒想得那么長遠,上文也計劃的很粗,如果能從事和研究方向一致的職業自然最好,但讀研也是一個持續增加自身知識儲備的程序,如果我沒能在相關領域有所建樹的話,如博客C說的"在我看來,成長路徑中有很多的偶然,沒人知道在一些關鍵時候需要什么樣的知識儲備,所以踏實地多儲備一些是好事",我想我會深入積累,在就業時掌握有一定廣度的技術堆疊,保證無論是演算法工程師還是開發崗位等都有機會勝任,

問2:你們馬上就要面臨實習了,你打算在企業內實習還是在實驗室實習?

我打算在實驗室實習,因為我就想考本校的研究生,在實驗室實習有助于我適應讀研的生活以及提高個人科研能力,更重要的是盡快找到自己感興趣的科研方向,或結識一些優秀的導師,

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

實習經驗當然很重要,不論是實驗室實習還是更注重技術落地的企業實習,積累實習經驗需要盡早,這樣才可以在實戰中驗證自己的規劃是否適合自己,才有充足的時間調整自己的未來規劃吧,

參考博客

博客I 博客N 博客B 博客C 博客G Scalers:大學生上課為什么一定要認真聽講?

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/270913.html

標籤:其他

上一篇:那些在GitHub能提高你的編程技能的專案

下一篇:Mark一個代碼量統計工具-Statistic

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • Git本地庫既關聯GitHub又關聯Gitee

    創建代碼倉庫 使用gitee舉例(github和gitee差不多) 1.在gitee右上角點擊+,選擇新建倉庫 ? 2.選擇填寫倉庫資訊,然后進行創建 ? 3.服務端已經準備好了,本地開始作準備 (1)Git 全域設定 git config --global user.name "成鈺" git c ......

    uj5u.com 2020-09-10 05:04:14 more
  • CODING DevOps 代碼質量實戰系列第二課,相約周三

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。**《DevOps 代碼質量實戰(PHP 版)》**為 CODING DevOps 代碼質量實戰系列的第二課,同時也是本系列的 PHP ......

    uj5u.com 2020-09-10 05:07:43 more
  • 推薦Scrum書籍

    推薦Scrum書籍 直接上干貨,推薦書籍清單如下(推薦有順序的哦) Scrum指南 Scrum精髓 Scrum敏捷軟體開發 Scrum捷徑 硝煙中的Scrum和XP : 我們如何實施Scrum 敏捷軟體開發:Scrum實戰指南 Scrum要素 大規模Scrum:大規模敏捷組織的設計 用戶故事地圖 用 ......

    uj5u.com 2020-09-10 05:07:45 more
  • CODING DevOps 代碼質量實戰系列最后一課,周四發車

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。 **《DevOps 代碼質量實戰(Java 版)》**為 CODING DevOps 代碼質量實戰系列的最后一課,同時也是本系列的 ......

    uj5u.com 2020-09-10 05:07:52 more
  • 敏捷軟體工程實踐書籍

    Scrum轉型想要做好,第一步先了解并真正落實Scrum,那么我推薦的Scrum書籍是要看懂并實踐的。第二步是團隊的工程實踐要做扎實。 下面推薦工程實踐書單: 重構:改善既有代碼的設計 決議極限編程 : 擁抱變化 代碼整潔代碼 程式員的職業素養 修改代碼的藝術 撰寫可讀代碼的藝術 測驗驅動開發 : ......

    uj5u.com 2020-09-10 05:07:55 more
  • Jenkins+svn+nginx實作windows環境自動部署vue前端專案

    前面文章介紹了Jenkins+svn+tomcat實作自動化部署,現在終于有空抽時間出來寫下Jenkins+svn+nginx實作自動部署vue前端專案。 jenkins的安裝和配置已經在前面文章進行介紹,下面介紹實作vue前端專案需要進行的哪些額外的步驟。 注意:在安裝jenkins和nginx的 ......

    uj5u.com 2020-09-10 05:08:49 more
  • CODING DevOps 微服務專案實戰系列第一課,明天等你

    CODING DevOps 微服務專案實戰系列第一課**《DevOps 微服務專案實戰:DevOps 初體驗》**將由 CODING DevOps 開發工程師 王寬老師 向大家介紹 DevOps 的基本理念,并探討為什么現代開發活動需要 DevOps,同時將以 eShopOnContainers 項 ......

    uj5u.com 2020-09-10 05:09:14 more
  • CODING DevOps 微服務專案實戰系列第二課來啦!

    近年來,工程專案的結構越來越復雜,需要接入合適的持續集成流水線形式,才能滿足更多變的需求,那么如何優雅地使用 CI 能力提升生產效率呢?CODING DevOps 微服務專案實戰系列第二課 《DevOps 微服務專案實戰:CI 進階用法》 將由 CODING DevOps 全堆疊工程師 何晨哲老師 向 ......

    uj5u.com 2020-09-10 05:09:33 more
  • CODING DevOps 微服務專案實戰系列最后一課,周四開講!

    隨著軟體工程越來越復雜化,如何在 Kubernetes 集群進行灰度發布成為了生產部署的”必修課“,而如何實作安全可控、自動化的灰度發布也成為了持續部署重點關注的問題。CODING DevOps 微服務專案實戰系列最后一課:**《DevOps 微服務專案實戰:基于 Nginx-ingress 的自動 ......

    uj5u.com 2020-09-10 05:10:00 more
  • CODING 儀表盤功能正式推出,實作作業資料可視化!

    CODING 儀表盤功能現已正式推出!該功能旨在用一張張統計卡片的形式,統計并展示使用 CODING 中所產生的資料。這意味著無需額外的設定,就可以收集歸納寶貴的作業資料并予之量化分析。這些海量的資料皆會以圖表或串列的方式躍然紙上,方便團隊成員隨時查看各專案的進度、狀態和指標,云端協作迎來真正意義上 ......

    uj5u.com 2020-09-10 05:11:01 more
最新发布
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:41:12 more
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:35:34 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:05:44 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:00:18 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:20:31 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:55 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:18:51 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:00 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:17:55 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:12:06 more