軟件工程專業對算法的要求有多高?要達到什麼水平?

熱點快遞員


本專業是計算機硬件與軟件相結合、面向系統、側重應用的寬口徑專業。通過基礎教學與專業訓練,培養基礎知識紮實、知識面寬、工程實踐能力強,具有開拓創新意識,在計算機科學與技術領域從事科學研究、教育、開發和應用的高級人才。本專業開設的主要課程有:電子技術、離散數學、程序設計、數據結構、操作系統、計算機組成原理、微機系統、計算機系統結構、編譯原理、計算機網絡、數據庫系統、軟件工程、人工智能、計算機圖形學、數字圖像處理、計算機通訊原理、多媒體信息處理技術、數字信號處理、計算機控制、網絡計算、算法設計與分析、信息安全、應用密碼學基礎、信息對抗、移動計算、數論與有限域基礎、人機界面設計、面向對象程序設計等。

一般來說,學習軟工的人都需要很好的數學基礎,軟件是幫助人們簡化生活的,系統化的工作就需要算法來實現,而實現算法就要計算機學科的數學:離散和線代。畢竟計算機是高速運轉的工具,它內部需要很多算法來支撐,如果你數學不好,但是腦子足夠靈活,那你也可以試試軟工,因為其中的軟件測試對學習者要求並不是很高,除非你想做自動化測試或者有更高的成就,可能需要比編程人員更高的編寫水平,這時就需要數學了,換個角度想,還有很多專科畢業的人也可以找到一個不錯的工作,不過我覺得如果你想有一個很不錯的發展,比如進入大公司,你會在學習的過程中發現數學的重要性。

掌握 :數理邏輯 集合論 抽象代數 圖論 數論 自動機理論 熟悉 函數式編程(如Haskell) 邏輯式編程(如Prolog) 形式驗證(如Coq) 模型檢測 模型驅動開發 瞭解一點 類型論 範疇論 證明論 編譯器構造 領域特定語言 形式語義學


中公考研


作為一名IT行業的從業者,同時也是一名教育工作者,我來回答一下這個問題。

軟件工程專業是最近幾年比較熱門的專業(就業也比較好),雖然軟件工程是比較傳統的計算機相關專業,但是隨著雲計算、大數據以及人工智能等領域的快速發展,軟件工程專業也受到了很多關注。

軟件工程專業比較注重學生動手能力的培養,但是軟件工程專業同樣重視學生基礎知識的掌握,尤其是數學知識的培養,因為在軟件領域,基礎知識的掌握程度往往決定了一個人的成長高度。在軟件工程專業中算法設計與實現同樣是一門比較重要的課程,但是與計算機科學與技術專業更注重算法本身不同,軟件工程專業更注重算法的設計與實際應用的結合,這是一個比較明顯的區別。

對於軟件工程本科階段的學生來說,對算法的要求並不是特別高,能掌握常見的算法並通過編程語言實現出來就可以。如果跟專業的算法工程師應該具備的知識結構對比來說,本科階段的算法知識算是入門水平。

本科軟件工程專業的算法設計內容通常包括合併排序、快速排序、二叉搜索、貪心算法(最小生成樹)、回溯法、分支界限法、舍伍德算法、拉斯維加斯算法、蒙特卡洛算法、近似算法等,這些算法是算法設計的基礎,所以並不太複雜。

算法設計與數據結構的結合構成了程序設計,所以對計算機相關專業的學生來說,尤其是軟件開發類的學生來說,一定要學好這兩門課程。

我的研究方向是大數據和人工智能,目前我也在帶相關方向的研究生,我會陸續在頭條上寫一些關於大數據方面的文章,感興趣的朋友可以關注我的頭條號,相信一定會有所收穫。

如果有算法方面的問題,也可以諮詢我,謝謝!


IT人劉俊明


小公司和外包公司的初級程序員崗位,對算法水平的要求是零!因為這樣的程序員,負責做的功能都非常簡單,數據量也小到可以忽略程序執行效率。所以這樣的程序員根本不用關心算法。但,如果數據量大了,不管程序執行效率就卡死。所以呢,對算法要求高不高,要看你自己的職業理想。


分享到:


相關文章: