在美国,要拿到H-1B签证,用人单位需要向劳工部提交相关申请,有一定的配额。根据最新数据统计,以下是获得H-1B比率排名前10的职位,其中计算机相关领域占据了超过70%,而剩下30%的涉及专业有Management analysts 管理分析, accountants 会计, and electronics engineers 电子工程师,或多或少也跟计算机或理工科沾边。所以总体上来讲,美国留学的理工科专业依然是最有望留美、也最容易找到工作的专业。
&
在对留学的专业领域选择上,跟美国的就业趋向也是息息相关的,不少学生留学的目的也是跟就业需求有着极大关联,尤其是理工科的学生。而计算机专业无疑一直是很多留学生的选择。
&
首先要区分一下的是,计算机科学(Computer Science)和软件工程(Software Engineering)以及电脑电子工程(Electrical Computer Engineering)还是有一些区别的。计算机科学更偏向理科,学习内容相对广泛,从理论基础,语言表达,到硬件组成,甚至软件开发都有涉及;软件工程是一门工科,学习如何设计、实现、和测试软件,内容更加注重实用性;而电脑电子工程则注重硬件的学习,例如设计数字电路(Digital Circuit),信号和系统处理(Signal and System)等等。不过如今很多大学的课程设计也有很大的弹性,学生对于课程的选择性大,以下就从CS专业的视角来给大家分析一下CS的特点。
&
专业内容:
经过小编研究调查,本科CS专业的学习目标大体分为以下几个层次:
1.&&&&& 熟练掌握常用的数据结构和算法,能够写出清晰简洁可读性高的程序
2.&&&&& 理解更高层次的网络(Network),操作系统(Operating System),数据库(Database)等等,能够从宏观上认识信息的处理和传递
3.&&&&& 结合编程能力和专业知识,能够独立设计并实现小规模产品/项目(project)
尤其强调的是,计算机科学不等于编程,写代码,或码程序。大家经常听说的& 码农&一词实际上只停留在了& 会写程序&的层面,也就是上述提到的第一个目标。真正的计算机科学是一门十分深奥的学科,程序只是实现的一种形式,是计算机的语言。
&
课程结构:
对于本科的CS专业学生来说,大体的课程结构可以总结为:
基础课程(必修):编程入门(Intro to Programming),离散数学(Discrete Math),数据结构(Data Structure),高等数学(Calculus + Linear Algebra + Differential Equation),可计算性理论与逻辑(Computabilityand Logic)
核心课程(必修):计算机系统(Computer System),编程语言(Programming Languages),算法(Algorithm),操作系统(Operating System),软件开发(Software Development)
高级课程(选修):数据库(Database),计算机网络(Computer Network),编译器(Compiler Design),复杂度理论(ComplexityTheory),人工智能(Artificial Intelligence),机器学习(Machine Learning),神经网络(Neural Network),数据挖掘(Data Mining),电脑视觉(Computer Vision),电脑动画(Computer Animation),机器人(Robotics)等等。
&
编程入门(Intro to Programming)作为CS专业的第一门课,主要学习如何写程序。近年很多大学都选择用简单易学的脚本语言,如Python来教学。小编也了解到有些学校选择用Java甚至C++来入门,不过个人觉得区别不大,因为这节课的主要目的是让学生初步了解到如何实现代码。
数据结构(Data Structure)是& 会写程序&中最为重要的一门课,主要学习编程中经典的数据结构(存储数据的形式),例如数组(array),链表(linkedlist),栈(stack),队列(queue),树(tree),图(graph),堆(heap),哈希表(hash table)等等。同时在这节课中,学生也会了解到& 面向对象编程&(Object-Oriented Programming, OOP)这一重要概念。OOP是如今软件设计中最为流行且实用的程序设计范型。
可计算性理论与逻辑(Computability and Logic)这门课从一个更高的层级学习计算机这门学科,研究的问题相对抽象,比如哪些问题是可以被计算机计算的等等。这节课比较偏理论,是理论计算机方向中非常重要的一节课。
离散数学(Discrete Math)和高等数学(Calculus + Linear Algebra + Differential Equation)两门数学课也是CS专业的重中之重。基础的离散数学学习组合数学(Combinatorics),数论(Number Theory),以及图论(Graph Theory)。这三门学科对CS的学习和深层次理解非常重要。尤其图(graph),作为一种经典的数据结构,图论的学习也对算法有巨大的帮助。其次,高等数学作为所有理科生的必修课,对培养理科学习的基本素养以及对数字,方程,和等式的敏感度奠定了基础。
&
另外值得一提的是,数学和CS其实是不分家的,数学的发展对于CS起着引领性作用,很多数学课程对于CS专业的学生来说其实是一种& 软性必修课&。在很多大学,复杂度理论和算法以及一些其他CS课也是同时列在数学专业名下的。数据挖掘(Data Mining),作为近年& 大数据(Big Data)&风潮下尤为流行的学科,就是研究如何在大批的数据中用计算机进行统计,挖掘出有用的信息;电脑动画(Computer Animation)利用计算机来实现动画形象,其理论基础就是线性代数(Linear Algebra),微分方程(Differential Equation),几何(Geometry),和拓扑(Topology)等等。
&
因此,建议希望去美国就读CS专业同学来说,尽可能在本科期间把数学课的分数提高上去,有能力的可以多修一些数学相关的课程,这对于申请是极有帮助的。
&
版权声明