> For the complete documentation index, see [llms.txt](https://survivesjtu.gitbook.io/survivesjtumanual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://survivesjtu.gitbook.io/survivesjtumanual/fu-lu/ben-ke-sheng-zhuan-ye-jie-shao-todo/ruan-jian-xue-yuan-jie-shao.md).

# 软件学院介绍

软院因为起步晚所以全职教师比CS那边少了很多，但培养计划上历史包袱也相对少一些，曾经由于大三大四16k的高学费等原因，本来是交大本部里录取分数线偏底的专业，后来赶上了这波热潮分流分数线上成了仅次于CS的专业，一个专业的命运就是不可预料。软院的问题也是国内很多高校的问题是培养计划改革阻力较大，在新研究领域很难开课出来（18级开出机器学习课，主要是因为系里缺搞AI的老师），比如最近很火的ML-SYS，这也反映了**国内外计算机以及其他学科本科教学水平仍存在一定差距**。软件学院大四没有专业课程只剩下16学分的毕业设计和16学分的生产实习，从大三暑假实习到大四寒假后想要直接工作的同学一般都能找到很好的工作，这也导致软件学院相比计算机系出国率较低，本科毕业后直接工作较高。

### 专业必修课程三个方向选修课程的介绍

软院的课程开设原则感觉是：

* 保证计算机基础知识的覆盖：程序开发， 数据结构，算法，web，软件工程，软件测试
* 专注于系统软件方面的教学：ipads 实验室系列课程(ICS，CSE，编译原理，OS)
* 给学生自己选择的方向：系统软件，数字媒体，信息系统

第一类的基础课程的质量整体来说还是有一定保障的，部分缺点放在第三部分说。系统软件相关的课程质量贼高，难度也很大，但是能学到的东西也是真的多。ICS 和 CSE 是所有人都要上的公共课，ICS 主要讲系统的一些基础的知识，CSE 相对来说涵盖的面会广很多，学好了会有更多的理解，对暑期实习的面试也非常有帮助。Lab 和课程本身都很硬核，但是收获也很大(但是 Lab 实在是太难了疯狂借鉴)。然后就是三个方向自己的专业课了，这里我着重说一下我了解的数字媒体方向和还算了解的系统软件。

#### **数字媒体**

数字媒体方向的专业课包含计算机图形学、计算机视觉、人机交互、游戏开发。专业课优点是涉猎范围广，基本囊括了视觉计算领域的所有研究方向；缺点则是不够深入，许多知识需要自己自学。但是每门课最后的大作业还是很hardcore的。我们这一届图形学的大作业是用OpenGL写一个物理模拟的粒子系统；视觉大作业是写一个带GUI的小软件，软件内实现大概十来个图像处理算法；人机交互是自己从零做一个HCI的项目；游戏开发则要做VR/AR相关的内容。这些大作业与系统方向的Lab相比更加自由发散，更加考验从零开发项目的能力。

本方向的实验室为[数字艺术实验室](https://link.zhihu.com/?target=http%3A//dalab.se.sjtu.edu.cn/www/home/)（Dalab），研究方向也很广，CG/CV/HCI/VR/AR应有尽有，实验室一共有三位老师，每位老师的研究方向都有一些差异。Dalab的科研资源是很丰富的，加入实验室的每位本科生都会参与实际的学术项目/工业界项目，甚至还有几位CS的同学来我们实验室做研究（听说CS做数媒的实验室都在炼丹XD）。

毕业去向方面，就业我不太了解主要聊聊出国吧。我们方向的出国去向还是很不错的。PhD方面，在我这届之前Dalab就已诞生了2位Stanford PhD，2位Gatech PhD，2位NYU PhD（仅列出了我认识的）。MS方面，除了大家耳熟能详的各种General CS项目之外，我们方向还可以去一些更加对口的MS项目比如CMU ETC，UPenn CGGT等。

#### **系统软件**

系统软件的专业课有：编译原理(硬核)、数字部件开发、操作系统、分布式系统、计算机组成原理。只上过操作系统，课程一如既往的硬核，中间真的很多次都会有跟不上的情况。但是完整上完之后好好复习，再有鑫伟大佬 OSAWP的加持，即使学得很菜的我也感觉收获颇丰。中间延续了上学期 CSE 的文件系统部分，介绍了多种文件系统，感受到了解决同一个问题的不同思路以及根据问题的变化需要作出的新的改变。

软院在这个方向以院长的[IPADS实验室](https://link.zhihu.com/?target=https%3A//ipads.se.sjtu.edu.cn/zh/)为代表，科研实力非常强，而且很多本科生的专业课都是IPADS的老师们来上，从大家都要上的ICS(CSAPP)，CSE到系统方向的专业课OS(MIT 6.828的进阶版)、Compiler(虎书)等等。ICS->CSE->OS的一系列计算机系统的课程和相关的二三十个Lab可以让人比较扎实地掌握System领域的一些最重要的知识，从比较底层开始理解单机的计算机系统架构到大型的分布式系统。我觉得选择上述三个方向中的任何一个，跟着培养方案**比较认真**学一遍就可以达到绝大多数工业界岗位的招聘条件了，所以软院本科生如果毕业就直接就业的话还是有竞争力的。毕竟是软件学院，跟CS相比更加偏重工程教育。如果说软院本科生培养有什么遗憾的话，可能就是在我们这一届(2015级)没有开设机器学习相关课程，不过听说后面几届就有了。软院的每个学生都会学系统底层的相关知识，尽管大多人毕业后会从事应用层的开发，但是这些知识很有帮助，求职面试时候也会问。（相比之下我的CS室友面试的时候被问到操作系统和体系结构的东西一脸懵逼）

### 就业情况

由于校方放出的毕业生出路统计数据是很粗粒度的，不会放出每个系具体的平均起薪，电院曾放出了2017届八个系毕业生详细的出路情况，请参考<http://xsb.seiee.sjtu.edu.cn/xsb/info/13906.htm>。本科毕业生近两年情况为去热门AI startup公司可以拿到40-50万年薪的package，去一二线大厂平均在30万年薪package，大部分都能达到20万年薪以上。

### 出国申请情况

由于生源比计算机系差一些加上专业课给分稍低一些，以及出国率相对低一些，以2015级本科生为例，软院出国率在15-20%波动，计算机系出国率在35-40%波动，但由于当下国内高校教育水平稳步提升+国内一线互联网企业的薪酬待遇购买力逐渐跟上Google Facebook Microsoft Amazon等美国一线大公司+中美关系的不确定性，大家的出国意向有缓慢下滑的趋势。近几年数据是每年稳定3-5个top30 CS PhD录取，申请美国MS项目的同学基本能去top20的学校就读。

### 考研情况

由于计算机系吸引了大量考研火力，软件学院专硕考研难度不高，每年进入复试的线一般与校级工科大类复试线持平，本系同学考研本系的一半以上可以上岸，在复试中相比外校同学也有较大优势。
