美国的cs本科能学到东西吗?
我们学校(UCI)的CS专业是General CS,也就是不是以培养research方向的phd为主的,所以我认为我们有资格来回答这个问题。 我的结论是,如果你是为了工作,那么不要来美国读CS本科;但如果你是为了继续深造,在美国学CS是一个不错的选择。 为什么这么说呢?因为CS作为就业需求旺盛的专业之一,其毕业生在找工作的时候面临着很大的竞争压力。据我所知,除了像MIT这样的理工强校以外,其他学校CS专业的本科生的基础课(数电模电计算机组织与系统等等)都是围绕就业做的,非常实用,也很容易拿到高分。但是这样就会面临一个问题——没有扎实的算法功底和理论分析能力。因此这种CS专业毕业的人去应聘软件开发或者算法相关的岗位是绝对不占据优势的。另外一方面,为了追求高GPA而选择的软工或者DS方向虽然有利于留在美国找工作,但是回国之后这些成绩又真的没啥用。
总之,CS这个专业在美国真的是很折磨人的存在…… 不过说到CS的PhD,情况就又是另一个故事了。以我们学校的CS department为例,无论是MSRA还是UI,CS的PhD学生都是跟AI,机器人等偏algorithmic的研究方向。
虽然从本科的基础课来看,CS专业的知识体系是很完备的。而且除了需要强大的数学和编程背景之外,也需要对某一个领域有深入的研究。但是在博士期间,如果找到了感兴趣的方向,导师会非常支持学生们去搞科研做项目的,资金方面也不用担心。所以说只要能在美国找到实习,并且找到愿意sponsor的学生工作,Phd其实比master更容易留下来。如果最后走不通,也可以先以F1的学生身份留美工作,积累工作经验后再换H1B。 所以回到问题,如果是为了读CS Phd而申请美国研究生的话,美国是个不错的选择。因为美国有非常多好的学校和很好的资源,以及非常有竞争力的生活费补助。 但是如果要是为了找工作而读CS master的话,建议就不要来美国了。
因为美国CS的master项目虽然也是培养业界需要的实用型人才,但是偏码农的训练会让你的技术无法站在学术的前沿,且很难适应国内的工作环境。 以上。希望有帮助。