软件工程主要学什么:学校课程角度
数学:高数、线代、离散、概率论
汇编语言、c、c++、数据结构、计算机组成原理、操作系统、编译原理、java、算法设计与分析、软件管理等课程。不同学校开的课程不一样。
软件工程主要学什么:行业角度
首先是一些基本的编程语言。C、C++、Java作为入门,基本上每个人都会的,其中由于趋势,C和C++使用不多,Java更实用一些。
其次是软件工程最基本的理论支持,当然学习语言的时候也接触不少了。这些有:数据结构,数据库,离散数学,算法设计,操作系统,计算机网络,UML,设计模式,面向对象设计。这些是每个软件工程师必备知识,但是很多所谓的工程师都无法熟练掌握。
然后就会根据具体的工作职位有相关的专业技能了。比如项目经理需要熟练掌握一些管理知识,如敏捷开发,人力资源等。移动开发需要掌握iOS或Android或相关。前端需要学习JavaScript,HTML,CSS,后端需要掌握一门或多门后端开发语言工具,Java EE,Python,NodeJS等。当然还有网络安全,系统安全,分布式系统,VoIP,嵌入式开发等等。