軟件工程的學生需要學些什么?
1.軟件工程的學生需要學除了C語言基礎,C++基礎,java語言外,計算機操作系統、計算機網絡、計算機組成原理、編譯原理、數據庫這幾門課也是一定要學的,我著重提一下是因為很多人覺得麻煩,不愿意認真去學。但是學好的好處是非常大的,畢竟我們學習編程語言不能只是為了寫計算器這樣的小程序,更深入的學習和理解,都需要設計、硬件、原理的知識。
2.同時,不要忽略英語,英語不一定要多么優秀,但是一定不能就拋棄它。要知道很多非常好的資料書籍都是用英文寫成的,即使是有翻譯版的,但是看原版的有時候會更加深刻的理解知識。而且,程序都是用英文寫的,相信寫過程序的人都了解,寫程序的過程中會碰到為很多變量、函數、對象等等命名,而命名需要的就是‘望名而知其意’,所以學好英語,能為你帶來很多便利,而且也是幫助你能更加容易的看懂別人的程序。
3.面向對象程序設計(OOP),并會通過具體的編程語言(建議Java和C#二選一)實現。如果要入門,推薦網易云課堂北京大學唐大仕老師的《C#程序設計(上)》。
《C#程序設計(下)》這個課程比較基礎,需要進階的,可以學習北京理工大學 @金旭亮 老師的《面向對象軟件開發實踐之基本技能訓練》和《面向對象軟件開發實踐之專業技能訓練》。不過真的有難度。Java的話可以考慮浙江大學 @翁愷 老師的《程序設計入門—Java語言》與《Java語言程序設計進階》。當然,順帶掌握語言相對應的 IDE,如 Visual Studio 或者 MyEclipse。
4.基本的數據結構與算法。可以看網易云課堂上浙江大學 陳越 老師 和 何欽銘 老師的《數據結構》。也可以看 學堂在線 上清華大學鄧俊輝老師的《數據結構》。數據庫,至少掌握SQL以及一個主流的DBMS(MySQL,SQL Server,Oracle等)的使用,具體種類取決于你打算主要發展的技術路線,如你選擇C#,那么可以考慮SQL Server。如果需要更進一步的提高,如如何設計較好的數據庫,可以學習王珊《數據庫系統概論(第5版)》中關于數據庫設計規范(主要是范式)方面的章節。