软件工程专业有哪些核心课是必不可少的?

姜胃志


大学专业本质上其实也是一个系统工程,学好软件工程,自然也有一些重要的课程需要学好,这里做以下简单的介绍。

基础课程必须学好

这里的基础课程,指的是作为一个理工科学生,必须要学好的一些课程,学好这些课程对你以后的学习、工作将起到很好的辅助作用。

我认为比较重要的一些课程,这里我觉得比较基本的要学好数学、英语这两门课程,而且非常重要。虽然说对于绝大多数程序员来说,可能对于数学的要求并不是很高,不用英语成绩特别好也能做好一个好的程序员,但是如果你想在技术上有很大的突破,我觉得学好数学就非常重要了,要想成为一个顶级的程序员,那么良好的数学基础会让你事半功倍,毕竟编程的本质就是数学,越往上走越明显。建议大家都能学好高等数学,甚至有基础的话直接学习数学分析,而比较著名的一些书籍具体数学也都是非常不错的书籍,有时间一定要多看。

至于英语,学好英语你能够获得第一手的技术资源,你能够熟练的阅读最新的例如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开发等等,这些要看学校的教育了,反正如果要走本专业的路线,那么算法编程这些能力是最重要的。


分享到:


相關文章: