EE学生能转CS,CS学生很少转EE,但是真有CS学生想转EE,我还得担心学生毕不了业。EE在本科学的比较稳扎稳打偏基础,学好了后劲非常猛,之所以这么多学生转CS说白了就是现在CS大热,在美国就业极其容易且高薪且低门槛,但是学EE的硬货学生就业也不难,EE棒棒哒~

再说到EE和CS的就业,首先我们要得搞清楚EE和CS在就业上代表着什么不同的方向。 宏观上说,EE是属于物理层面偏硬件,CS是物理层偏软件。举例来说,凡是跟芯片有关系的,Intel,AMD,德州仪器,都是偏硬件;凡是跟软件关系大的,从微软到甲骨文到金山,都是偏软件的。还有一些是做产品和集成的,比如说NOKIA,华为,BYD之类,是典型的软硬兼修,并不偏向哪一个,因为他们的产品离开了硬件软件都不行。EE几个比较有代表性的方向是电磁学、电路设计相关、控制电路相关、微机电系统、强电系统、通信系统相关。在美国所有相关的专业都有比较好的工作形势。

那么转申Computer Science需要做哪些准备工作呢?

怎么提高自己的竞争力去跟本科CS的同学竞争少量的录取名额呢?

今天和大家分享一下我的建议。

这里我们需要明确一个概念:提高竞争力,是指如何增加你手中的干货,也就是在申请工作开始的时候,你积攒了多少有说服力的东西。而如何把这些东西呈现出来、呈现的效果如何,则是另外的问题,不在我们今天的讨论范围之内。

同学们都知道,以下因素对提升自身竞争力起着重要作用:GPA、学校背景/档次、GRE、TOEFL、竞赛、实习、科研背景等。但究竟哪一项更重要,不同的人有不同的看法。

在转专业申请CS硕士时,这些因素的重要程度,我的看法是:

CS专业先修课程(及其GPA)>本专业的GPA> CS相关的实习经历> TOEFL >GRE > CS相关的竞赛>CS相关的科研经历

先修课程来举例。假设有这样两个申请者,他们的条件非常相似:交大,大学期间成绩85左右,GT成绩全部一样,大学期间别的没干,就好好学习了。但他们一个是学中文的,一个是学CS 的。要说优秀,学CS 的真不一定比学中文的优秀。但在申请某CS 名校时,招生官更愿意要哪个呢?当然是CS 专业的。这就是先修课程的作用。美国许多CS 硕士项目都规定了先修课程,没有修满是非常吃亏的,获得录取的难度会增加不少。这个例子希望可以让各位体会到先修课程的巨大作用。那么为了在这方面做好,我们要做的是什么呢?仅仅是需要在本科时多选一些CS 先修课程就好了。

先修课程,英文叫做prerequisite,指的是你在修某一个课程前必须先修的课程。比如,你想学算法基础,你至少要先学一门计算机语言吧。所以,C、C++、Python等都可以是算法基础这门课的先修课程。有的课程列出一堆先修课程,告诉你只要修过一门就可以了,有的课程则要求必须修过哪几门,一门都不能缺。很多学校的硕士申请页面都有明确的列出要申请这个硕士项目的先修课程,各位可以自行去官网查看。

Cornell:

Abachelor's degree (BA / BS / BE) in computer science or a related technical field (e.g., electrical and computer engineering, information science, operations research) typically suffices. Applicants who have majored in other fields are absolutely encouraged to apply provided they have demonstrated knowledge of the following subjects:

·Object-Oriented Programming and Data Structures (e.g.,CS 2110)Intermediate programming in a high-level language and introduction to computer science. Topics include program structure and organization, object-oriented programming (classes, objects, types, sub-typing), graphical user interfaces, algorithm analysis (asymptotic complexity, big “O” notation), recursion, data structures (lists, trees, stacks, queues, heaps, search trees, hash tables, graphs), simple graph algorithms. Java is the principal programming language.

·Data Structures and Functional Programming (e.g.,CS 3110)Advanced programming course that emphasizes functional programming techniques and data structures. Programming topics include recursive and higher-order procedures, models of programming language evaluation and compilation, type systems, and polymorphism. Data structures and algorithms covered include graph algorithms, balanced trees, memory heaps, and garbage collection. Also covers techniques for analyzing program performance and correctness. NOTE: Although knowledge of functional programming is not essential, advanced knowledge of data structures is.

·Computer System Organization and Programming (e.g.,CS 3410)An introduction to the design of embedded systems, with an emphasis on understanding the interaction between hardware, software, and the physical world. Topics covered include assembly language programming, interrupts, I/O, concurrency management, scheduling, resource management, and real-time constraints.

·Discrete Structures (e.g.,CS 2800) Covers the mathematics that underlies most of computer science. Topics include mathematical induction; logical proof; propositional and predicate calculus; combinatorics and discrete mathematics; some basic elements of basic probability theory; basic number theory; sets, functions, and relations; graphs; and finite-state machines. These topics are discussed in the context of applications to many areas of computer science, such as the RSA cryptosystem and web searching.

·Basic Calculus and Linear AlgebraFunctions and graphs, limits and continuity, differentiation and integration, volume and arc length, infinite sequences and power series, parametric equations, partial derivatives, double and triple integrals, line and surface integrals, vector fields, gradients and Jacobians, matrices, determinants, vector spaces, linear systems, least squares, eigenvalues and eigenvectors, orthogonality and inner product spaces.

The courses listed above will best prepare you for the courses required to meet the CS M.Eng degree requirements. It is essential that the material covered in these courses be familiar to you in order for you to be successful. We suggest that when taking the equivalent of the Cornell CS courses listed as pre-requisites, you insure the courses you take cover the same material and the school where you take them is of comparable to Cornell.

U of Southern California:

(南加大的先修课要这么理解,你要学习A这门课,那你应该掌握以下几项技能,这几项技能一般是本科阶段的BCD几门课教的。)

MS in Computer Science

About the CSCI 402 - Operating Systems Prerequisite:

ALL Computer Science (CSCI) Majors:For CSCI students that are interested in the following courses: CSCI 530, CSCI 551, CSCI 555, and CSCI 588L, the department will waive the CSCI 402 prerequisite if the student has completed an operating systems course during his/her undergraduate degree.  If he/she has not completed an OS course during the bachelor's degree, then the student is required to complete CSCI 402 here at USC and earn a grade of "C" or better.  Students in Scientists & Engineers are required to take CSCI 402 and cannot have it waived off.

NON-Computer Science Majors:

For Non-Computer Science Majors who are interested in the following courses: CSCI 530, CSCI 551, CSCI 555, and CSCI 558L, you must complete CSCI 402 here at USC and earn a grade of "C" or better.  We will not grant any waivers.  There is no placement examination.

About the EE 450 - Computer Networks Prerequisite:

The department will not waive the EE 450 prerequisite for CSCI 551 or CSCI 558L.  All students (CS and non-CS) are still required to either pass the EE 450 placement examination or complete EE 450 here at USC and earn a grade of "C" or better

UCSD:

需要满足的先修课要求有:

Basic programming: JAVA, C, C++等

Discrete math

Data structures and algorithms

Background in some or all of the following is also recommended:

Hardware and architecture

Systems and Software

Theory

Columbia University

本科为CS相关方向背景,如果不是本专业需要至少完成4门CS课程covering foundations of the field and basic programming和两门数学课程。

For example, Intro to Computer Science (COMS W1004 or COMS W1007), Advanced Programming (COMS W3157), Data Structures and Algorithms (COMS W3134 or W3137), which is a prerequisite for most of our graduate-level courses, or/and Discrete Math (COMS W3202).

仔细分析一下你会发现他们要求其实很低,通常是要求一门数学课程(比如《高等数学》。《离散数学》)+一门计算机基础课程(比如《计算机基础》)+一门语言课程(比如《C语言》)+一门算法课程(比如《数据结构与算法》)+一门高级语言课程(比如《C++语言》)。但是请你想想,如果你仅仅是修了这么几门课,怎么和计算机专业的学生竞争呢?所以,我的建议是:尽量多修。

附上中文翻译,来源于匿名知友的最重要,次重要,一般重要整理:

最重要:高等数学离散数学计算方法计算机基础数据结构计算机算法C语言C++操作系统基础次重要:线性代数概率论与统计自动机理论计算机组成结构计算机网络数据库

EE学生能转CS,CS学生很少转EE,但是真有CS学生想转EE,我还得担心学生毕不了业。EE在本科学的比较稳扎稳打偏基础,学好了后劲非常猛,之所以这么多学生转CS说白了就是现在CS大热,在美国就业极其容易且高薪且低门槛,但是学EE的硬货学生就业也不难,EE棒棒哒~再说到EE和CS的就业,首先我们要得搞清楚EE和CS在就业上代表着什么不同的方向。 宏观上说,EE是属于物理层面偏硬件,CS是物理层偏软...
2018/9/03 刚毕业就辞了单位试着 CS 了,为什么 就不说了,都是泪和雷还有累。还是直接开始记述自己的java学习之路吧。顺带一提,up主之前完全没有接触过 cs ,丝毫不了解对象,框架,Oracle都没听说过……唯一的基础是大一的c语言,不过基本也快忘光了。java'的学习是从纯小白开始的。 也算是给其他的 准备 入行的小白们一点参考,我不是什么大佬,但是我会详细记录下每部分的学习经历和学的内...
电子工程( EE )就业最好的方向居然是 计算机 ,也许让有的人觉得很不公平, EE 也是很重要的学科,我们学习也很努力,为什么就业会不如 CS ?也有的人好奇, EE /硬件也是信息技术行业不可缺少的一部分,为啥 CS 软件工作机会这么多而 EE 硬件不行? 最主要的原因就是一个字:钱。 一个行业要发展要兴旺,要有资金投入。信息技术行业的发展,并不是靠政府资金驱动的,而是私人投资。投资人当然希望风险尽可能的少
全国大学生电子设计竞赛(National Undergraduate Electroni cs Design Contest),试题,解决方案及源码。计划或参加电赛的同学可以用来学习提升和参考。程序均是实战案例,经过测试可直接运行。 全国大学生电子设计竞赛(National Undergraduate Electroni cs Design Contest),试题,解决方案及源码。计划或参加电赛的同学可以用来学习提升和参考。程序均是实战案例,经过测试可直接运行。
### 回答1: 《数字集成电路:设计视角( EE CS 2022)》是一门关于数字电路设计的课程。该课程主要旨在教授学生如何设计和实现数字集成电路。数字集成电路是现代电子设备的基础,它们在 计算机 、通信和其他数字系统中起着重要作用。 该课程将从设计的角度介绍数字集成电路的基本概念和原理。学生将学习数字逻辑门的设计和实现,如与门、或门、非门、异或门等。此外,课程还会涉及更复杂的数字电路,如多路选择器、计数器和时序电路等。 在课程中,学生将学习使用现代设计工具和软件来进行数字电路的设计。他们将学习如何使用Verilog HDL这样的硬件描述语言来描述和仿真电路。此外,他们还将学习使用EDA工具和布局软件来进行电路布局和布线。 该课程还将强调实践,学生将参与一些实际的数字电路设计项目。通过这些项目,学生将能够将所学的理论知识应用到实际中,并提高他们的设计和问题解决能力。 总而言之,《数字集成电路:设计视角( EE CS 2022)》是一门综合性的课程,旨在教授学生数字集成电路的设计和实现。通过学习这门课程,学生将能够掌握数字电路设计的基本原理和技能,并为今后从事相关领域的工作打下坚实基础。 ### 回答2: “数字集成电路设计视角”这本教材是针对2022年的电子工程和 计算机 科学专业的学生编写的。该教材着重介绍了数字集成电路设计方面的知识和技术。 首先,该教材会详细讲解数字集成电路的基本概念和原理。学生将了解到数字集成电路是由数百万个晶体管组成的复杂电路,能够实现各种数字逻辑功能。他们将学习到数字电路设计的基本原理,包括布尔代数、逻辑门的实现以及时序与组合电路的设计等。 其次,教材还将深入介绍数字集成电路设计的各种技术和方法。学生将学习到如何使用硬件描述语言(HDL)来描述和设计数字电路。他们将学习到编写HDL代码、仿真和验证电路功能的技巧。此外,他们还将学习到如何使用现代的EDA工具来辅助电路设计和优化。 在教材的后半部分,学生将进一步探讨数字集成电路的高级设计技术。他们将学习到如何设计高速、低功耗的电路,并且会探索到如何优化电路的性能和可靠性。同时,他们还会学习到如何进行电路布局和布线,以及如何进行电路的可测试性设计。 总的来说,“数字集成电路设计视角”这本教材将为2022年的电子工程和 计算机 科学专业学生提供一个全面而深入的学习资源,帮助他们掌握数字集成电路设计的基本原理和技术,培养他们的设计思维和创新能力。 ### 回答3: 《数字集成电路设计》从设计的角度来看,李杨及其合著者的这本书是为了介绍数字集成电路设计的基本原理和技术方法。它旨在帮助读者建立关于数字电路设计的核心概念和技巧,以便能够设计和实现高性能、低功耗的数字集成电路。 该书主要分为四个部分。第一部分介绍了数字集成电路的基本概念和设计原理,包括数字系统的基础知识、CMOS逻辑门电路、时序逻辑和存储元件等。第二部分重点讲解了数字电路的设计方法和工具,包括面向无状态逻辑电路设计的综合技术、时钟和时序设计以及时序关系的验证等。第三部分深入探讨了数字集成电路设计中的电源和时钟管理、功耗优化和信号完整性等方面的关键问题。最后一部分则介绍了现代数字集成电路设计中的一些前沿技术和研究方向,如低功耗设计、嵌入式处理器和异构系统等。 通过该书的学习,读者可以了解到数字集成电路设计的基本原理和方法,并且能够运用所学的知识进行实际设计。书中还包含了丰富的实例和设计案例,帮助读者更好地理解和应用所学的知识。此外,该书还介绍了一些实际应用中的常见问题和解决方案,对读者在实践中的设计和调试工作也具有很大的指导作用。 综上所述,《数字集成电路设计》是一本面向读者的电路设计教材,通过阐述与数字集成电路设计相关的各种知识和技术,帮助读者全面掌握数字集成电路设计的核心思想和方法,提高其在实际工程中的设计能力。