软件工程是学什么专业课程?
软件工程专业学习的主要课程: 必修课包括: C语言程序设计、C++程序设计、数据结构、离散数学、操作系统原理、计算机网络、数据库系统、算法与设计(算法分析)、软件测试与质量保证等; 选修课包括: UML建模语言、统一进程通信UPC、分布式对象模型与编程、软件开发质量管理、多媒体技术基础、多媒体数据处理及编码、面向对象的程序设计(Java)、人工智能初步、智能软件系统、软件工程管理、嵌入式系统开发等。
以上只是部分主干课程,不同学校开设的课程会有所区别。 上述内容涉及软件工程的各个主要方面的知识,如果把这些内容学会,学好,就可以说是掌握了软件工程的精髓了。 但是,请注意,我这里用到的词是“掌握”而不是“学会”,因为真正的软件工程并不是把书本上提到的各种概念和理论都学了之后就能掌握的。 比如算法,数据结构,编译原理这些课程里面会学到很多的理论知识,但是能不能真正找到感觉(所谓“悟道”),能不能真正应用这些知识去做一些事情,只有你自己去实践才能知道。我在教学中会把很多的内容放在实践课上,希望学生能动手去做一做,只有在做了之后你才知道哪些内容真的是有用的,哪些内容真的就是纸上谈兵。所以我说掌握了软件工程的精髓可能有点言过其实了,应该说了解了软件工程的骨架或许更恰当些。
对于题主说的想自学一些其它的专业知识,我想说的虽然是多学点没坏处,但是也要有自己的判断力。比如说你现在在学软件工程,那你就可以考虑一下这个课程跟你现在学的或者日后要学的专业有没有什么交叉点,如果有的话,那么这个课程对你来说就值得学习了。反之,则不需要花那么多的时间去学习。 我建议,在本科阶段还是以学习的课程为主,可以多学些跟计算有关的知识,可以多打点代码,这样日后工作起来会容易许多。至于其它专业知识,有时间可以去了解,可以去接触,但没必要花时间深入钻研。