軟體工程專業有哪些核心課是必不可少的?

姜胃志


大學專業本質上其實也是一個系統工程,學好軟件工程,自然也有一些重要的課程需要學好,這裡做以下簡單的介紹。

基礎課程必須學好

這裡的基礎課程,指的是作為一個理工科學生,必須要學好的一些課程,學好這些課程對你以後的學習、工作將起到很好的輔助作用。

我認為比較重要的一些課程,這裡我覺得比較基本的要學好數學、英語這兩門課程,而且非常重要。雖然說對於絕大多數程序員來說,可能對於數學的要求並不是很高,不用英語成績特別好也能做好一個好的程序員,但是如果你想在技術上有很大的突破,我覺得學好數學就非常重要了,要想成為一個頂級的程序員,那麼良好的數學基礎會讓你事半功倍,畢竟編程的本質就是數學,越往上走越明顯。建議大家都能學好高等數學,甚至有基礎的話直接學習數學分析,而比較著名的一些書籍具體數學也都是非常不錯的書籍,有時間一定要多看。

至於英語,學好英語你能夠獲得第一手的技術資源,你能夠熟練的閱讀最新的例如Google、Microsoft、Apple、Facebook、Amazon等等大企業的第一手官方資料,不用等待中文版本。同時你要是英語好了,你會發現閱讀英文原版書比中文譯版要好。

專業課程必須學好

當然重中之重還是專業課,這裡面的我認為比較重要的一些專業課。

你必須精通至少一門主流編程語言,不管是C/C++,Java,Python,PHP,C#還是JavaScript,作為一個程序員你必須學好至少一門編程語言。

網絡通信、數據結構、算法、工程導論、離散數學等等這些課程一定要認真學好,這都是非常重要、非常重要的課程,相信走過大企業校招流程的就知道,也許你工作永遠用不到,但是面試官會問,而且學好這些對你以後的工作也非常有幫助。

必要的拓展、大量的實踐

天賦是生而有之的,但是好的習慣,好的業務能力確是不斷訓練得到的,編程是一門非常注重實踐的課程,你必須要多實踐才行,我們通常說一萬小時定律,就是這個道理。舉個例子算法這種東西天賦因素比較多,但是例如好的代碼習慣卻是訓練而來。

除此之外,你還應該多逛論壇多逛社區,多看開源項目,比如StackeOverflow、GitHub、Google等都是你學習最好的資源。

所以我覺得總結起來就是這三點,學好基礎課程,學好專業課,最重要還是多實踐多逛論壇,多研究開源項目。


EmacserVimer


1,問題求解模塊

程序設計(尤其是面向對象程序設計/抽象編程)

算法與數據結構(重點是設計算法。在算法中應用數據結構,解決問題)

2,計算機數學、算法模塊

離散數學

算法設計與分析(重點是分析算法)

3,系統模塊

計算機系統(不是原來的組成原理,需要從程序員視角學習計算機系統而不是硬件工程師視角)

操作系統(系統編程)

數據庫系統

計算機網絡(重點是上層程序員可見部分,而不是物理層、數據鏈路層等通信問題)

分佈式系統,編譯原理,計算機安全等(選修)

4,軟件開發模塊

軟件構造(可以理解為適用於所有語言開發中的詳細設計、編碼、單元測試等方面)

軟件工程

軟件工程的細分課程,如需求工程,軟件體系結構,設計模式,軟件測試,軟件過程,工程經濟學,軟件質量保證等等作為高年級必修/選修課

有條件的話可以學習敏捷開發,devops等


KaiSeRBurNInG


那我也是學校軟件工程畢業的,一般學校會從最基礎的C語言講起,然後數據結構、算法編程、計算機原理、操作系統,這些都是核心課程,然後就開始分方向,有java後臺開發,PHP開發,前端開發,C++開發,Python開發等等,這些要看學校的教育了,反正如果要走本專業的路線,那麼算法編程這些能力是最重要的。


分享到:


相關文章: