跳转到帖子

全攻略 |ECE undergrad 学习/Co-op 流程+攻略+注意事项


KWCSSA

推荐的帖子

本帖文转自http://bbs.uwcssa.com/forum.php?mod=viewthread&tid=372920&highlight=ECE By Evitceted

 

 非常重要:以下内容有时效性,仅供参考!!!

(学校政策,课程设计,industry风向会经常变,建议自己在下面两个网站查)

 

ECE网站:https://uwaterloo.ca/electrical-computer-engineering/

ECE undergrad course calendar: https://ugradcalendar.uwaterloo.ca/page/ENG-Computer-Engineering-Electrical-Engineering

几乎所有和ECE相关的东西都能在这两个地址找到

 

首先自我介绍下:本人是16届EE毕业生(11年入学),Co-op是以Semiconductor方向为目标(前期找Semiconductor Co-op有些不如意绕了点弯路,还好后期成功回到了这条路上),CE的内容也了解一些(因为EE和CE直到2A结束所有课程都是一样的,2B-3B每学期也有2门课一起上)。下面内容关于EE的会更详细一些,CE的我也会尽我所能介绍到。

 

Academic

我会尽可能多的介绍每门课的内容和教授,不过因为我自己也有喜欢/不喜欢,擅长/不擅长的课和教授所以免不了有bias,先在这里致歉了。这里推荐上面那两个ECE网站 + rate my professor + uw flow,可以了解到course description,prof评价。

 

ECE课程代码

ECE的课一般代码都是:ECE XYZ。 其中:X代表年级,Y代表课程Area,Z代表课程号码。其中最重要的是Y。你对一门课的喜好很可能直接决定了你对这门课所在Area的喜好,有助于选择自己[想/不想]走的Area。

Undergrad的X是1-4;grad level是6和7。其中6代表比较general的ECE course;7代表course of a specific field

 

课程Area(上文所说的Y)

0:General Engineering Courses

1:Communication/Information Systems

2:Computer Hardware,Digital/Logic Level Hardware (ASIC, FPGA)

3:Semiconductor Devices/Fabrication

4:Circuits,IC

5:Computer Software/Software Engineering

6:Power

7:Microwave,RF,Photonics

8:Control

9:Design Project and misc.

 

毕业课程要求

毕业需要5门technical elective (TE),4门complementary studies elective (CSE),2门natural science elective (NSE)

 

TE的要求在这里可以查到:https://uwaterloo.ca/electrical-computer-engineering/current-undergraduate-students/academic-planning-and-support-0/technical-electives-tes

其中CSE分List A,List C,List D。4门里需要2门List C,剩下2门可以从ACD中选,选之前要看好。我选了econ和clas。

NSE分List 1,List 2。2门里List 1至少要选一门,List 2最多选一门。我选了ECE405和SCI238。听说ENVS200也挺有趣,带field trip。另外ECE209可以被CE拿来做List 2 (这门课政策经常变,推荐选之前查一下)

 

 

下面介绍每学期的课程安排(Note:时效性!另外低年级实在有些基础课记不清楚了,抱歉。。)

 

1A

CHE 102:Chemistry for Engineers

基本就是加拿大Grade12的Chemistry,依稀记得后期计算量不小。Prof名字忘记了(一般低年级的基础课教授流动性很大) 这课实在记不清了。。

 

ECE105:Physics for Electrical Engineering 1

类似国内大学物理。105只讲力学,106是电磁学部分。开始部分和Grade12 Physics差不多,只记得之后有个Moment of inertia的概念当时很迷。教授是Mansour(他是物理系的Mansour,不是ECE的),很萌很nice的一个Prof,举例子都是画猴子。期中考试之前说会把题出的很难然后之后让我们体验一下什么叫做大学的curve,记得avg是55,final之后果然curve了不少。他比较喜欢的avg是68。经常出没在学校旁边的Second Cup。。

 

ECE140:Linear Circuits

Area4第一门课,电路分析的基础课。从Ohm’s Law讲起,之后讲KCL,KVL。这门课会讲最基本的电路分析:Nodal Analysis和Mesh Analysis。这些电路分析会伴随你之后所有的电路课程,建议学会,学好,练熟。尤其是前者,到4年级电路分析还要用到Nodal Analysis。会介绍Operational Amplifier (OpAmp),不过只是当成black box来做电路分析,不会讲OpAmp内部。Prof当时是Dabbagh,挺严肃的一个人(曾经把捣乱学生赶出去不过后来道歉了) 但也很nice。讲课很细,好好听课肯定没问题的。

 

ECE150:Fundamental of Programming

第一门编程课,用的是C#和Visual Studio(想在家练习需要Windows)。会在一个学期内讲很多知识点,包括oop的三大特性,Recursion,基本的data structure,algorithm,连pointer也会讲。个人感觉挺大杂烩的一门课,什么都讲,什么都不够深入。而且一个学期讲太多东西容易让人很迷。建议这门课买书自己看(我当时买了illustrated C#,还不错的一本书),会比lecture好懂一些(也因为当时Prof讲课很无聊,不如自己看书来得快)。

 

Math117:Calculus 1

第一门Calculus,内容基本等于Grade12的Calculus,只讲微分。Prof当时是David Hamsworth,只记得他五颜六色的衬衣换着穿lol。很基础的一门课,没什么好说的。

 

1A还有两个milestone

ELPE:全程English Language Proficiency Exam,要求写篇作文,pass就行。只要语法没问题就能过,建议用simple English,不要装逼写从句套从句。。2A结束前要过,每个term有一次考试机会。

WHMIS:这个是做140实验之前要先做的一些很基本的问答题之类的,类似于安全教育。

 

1B

ECE103:Discrete Mathematics

离散数学。从基本的logic开始讲起,最后貌似会讲到graph,当时在graph上迷了一点。Prof是Patrick Roh,当时班里有些人不喜欢他,我倒觉得他还好,没什么特别的。可能是因为课是基础课吧,Exam也很fair。

 

ECE106:Physics for Electrical Engineering 2

大学物理的电磁学部分,会介绍到每个Maxwell Equations和他们的推导(这里应该是time independent的)。当时的Prof叫John Saad,讲的非常细非常耐心。记得会用到119里学到的integral。对应后面的375。

 

ECE124:Digital Circuit and Systems

第一门Area2的课。从最基本的Boolean Logic讲起,到Sequential circuits最后记得会讲完State Machine。Lab需要用到VHDL,这是大学阶段第一次接触到Hardware Description Language (HDL),建议学会学好练熟。如果对的上电波,恭喜你可以考虑将来上327。327算是124的进化版,然后到grad level是627。这条路对应的工作title一般被称为Hardware Engineering, Digital Circuit Design,Logic Design。对应的Area是ASIC和FPGA。当时的Prof是Catherine Gebotys。她给我的感觉是不是很care学生,可能是这门课太基础了。课堂上一直都很乱,她也不会维持纪律,导致我对这门课印象不是很好。不过内容上是没问题的,Lab也很有意思。

 

ECE155:Engineering Design with Embedded Systems

(16届的时候) 这课内容非常之无聊,记得是为数不多需要用iclicker的课之一。讲的内容是software engineering那一套software design life cycle的东西。内容包括UML,project management,Gantt Chart什么的。不能说这些内容不重要,个人感觉这些内容只有在有了一定编程和project/Co-op经验之后才会显得格外重要,放在1年级上有点不知所云,很难在课上保持清醒。。Prof是Edgar(如果没拼错的话),协助催眠。。值得一提的是这课的Lab,我们当年是做Robot Maze Traverse。现在改成了做Android App,应该是为了顺应潮流帮助找Co-op,感觉还是不错的。

 

Math119:Calculus 2

我记得这门课主要是讲积分的,包括一些微积分的应用。现在看Course Description貌似内容改了,感觉现在更偏向微分的应用了。Anyway还是基础课。不过说到微积分,我直到后面的212(现在改成了206)才体会到微积分这个思维的伟大(类似divide and conquer,更喜欢把它叫做切-嗣lol)

 

2A

经常会把课表拿出来秀的一个学期lol 讲道理的话,这学期的课算不得难,但是做的东西多,一天坐在同一个教室里8个小时的感觉可不好受。

 

ECE204A & 205:Numerical Method 1 & Advanced Calculus 1

这两门课在我那一届是一门课,叫Math211,现在把Lecture和Lab分开成两门课了。从这门课开始,包括后面的206(以前的Math212),学习的是工科数学而不再是传统数学了。这门课会讲Fourier Series,ODE,Laplace Transform,Fourier Transform。这些概念(除了ODE)到后面207和一些communication课的时候还会被提到,这门课里面更偏数学推导。Prof是Martin Martinez,一个在QIC搞物理的西班牙人,讲课很激情,但是我对他没什么好感。。感觉他会经常很耐心地重复但是讲不到点子上。。Lab应该是用Matlab做一些基本的运算之类的。第一门使用Matlab的课,建议学会,学好,练熟。

 

ECE222:Digital Computers

注意:虽然这门课也被划在Area2下面,但是他和之前学的124并没有直接联系。这门课有个更好的叫法叫Computer Organization/architecture。讲的是计算机是怎么工作的,Lab会用到Assembly Language。从我们这届开始改用ARM而不再是x86了。以后对应的课程是429,computer architecture。把这门课的instruction set相关点学好,加上熟练应用Assembly,就可以申请IBM的Compiler Optimization了(笑)。还有就是去做真正的Computer Architecture,不过undergraduate基本是没希望的。记得Apple会有一个position需要222,327,429的知识去写一些和instruction set相关test case的Co-op。Prof是Hiren Patel。这个教授人很nice,但是感觉当年教我们222的时候出题还没有那么有经验,会出一些很直接的无聊的:What is TLB 这种问题。。(Translation Lookaside Buffer) 完全就是考记忆力,导致考试直接蒙逼。。有个同学不知道TLB直接在Final考卷上画了个BLT lol (Bacon Lettuce Tomato) 不过之后再上他429的时候感觉好多了,出题也很正常。他喜欢考学生对基本computer organization concept的理解,加上很多Assembly,instruction set的理解。比较fair的exam。

 

ECE240:Electronic Circuits 1

终于到了这门课,这是我整个EE undergrad最喜欢的课没有之一。可以说对这门课和后面242的兴趣决定了你对未来Area4课程的喜欢程度。应该会先review一下140的一些东西,然后从基本的MOSFET结构讲起,到BJT,biasing,small signal analysis,最后应该是到common source amplifier (记不太清楚了)。这门课会有大量的circuit analysis(要用到140里学到的linear analysis方法),如果能对上电波,那之后的242,445,444,432都会变得轻松。如果这门课和之后的242觉得理解起来很困难,不推荐将来深入Area4。Prof是David Nairn。可以说是他把我带进了IC这个大坑。人nice,幽默,上课从来不带Notes,直接抓根粉笔开始写(貌似所有搞Analog的Prof都是这样。。),裤兜里会带个计算器。。据前辈称他当年在工业界是做ADC/DAC响当当的人物,只是发表paper能力不是那么强显得他不出名。这门课会用到Sedra & Smith的Microelectronic Circuits,是一本不错的textbook,不缺钱的话可以考虑入手,将来242,444,445,乃至432,473,474的一些概念都会介绍到(这书刚出了第七版,也挺贵的,我可不是在帮Sedra卖书lol) 网上可以找到第七版的pdf。Nairn是当年在UT工作的Sedra的学生。

 

ECE250:Algorithms and Data Structures

250可以说是ECE前期最重要的一门Area5的课。这门课会第一次比较系统地介绍Algorithm和各种常见的Data Structure,是software interview中不可或缺的内容。如果想走software方向建议这门课一定要学会,学好,练熟。Prof当时是Ladan。人很nice也很耐心,像是一个高中老师一样。美中不足的是她教的250内容没有Harder讲的多(像Red-Black Tree就不讲)。另外她讲话音调高高低低有种sine wave的感觉,我不觉得有什么但是班上有很多人因为她的声音而听不下去课的。。Lab要用C++。

 

ECE290:Engineering Profession,Ethics and Law

很无聊的一门课。要背+写essay。当时是Harder教这门课,连他都没法把这门课讲的更有意思点。。对这课剩下的唯一印象是,在拿到正式的Engineering License(比如PEO)之前,凡是自称X Engineer都是违法的。。感觉也没人在意这东西。。

 

Math215:Linear Algebra for Engineering

没什么好说的,基本的线性代数。感觉ECE是因为第一年的课程塞不进这门课才把这门课留到2A来上。有个从Mechatronics转过来的同学就直接用Math115顶了这门课。当时碰到了一个中国人TA,每次tutorial用15分钟把整个星期的内容讲一遍,感觉讲课水平比Prof不知道高到哪里去了。。

 

2B

从2B开始EE和CE就开始分开了。一学期有两门课一起上,另外两门是和自己系的人上。如果之前的Lab partner不是自己系的那就要在自己系的两门课里再找个partner了。2B开始之前EE和CE可以互转。对于ECE来说,如果感觉对Area5特别感兴趣又对其他Area没什么兴趣,可以考虑转到SE,毕竟SE学software比ECE更深。对于EE来说还有个Computer Option,详情在undergrad calendar里可以查到。

 

EE/CE Common Courses

ECE207:Signal and Systems

这门课算是System的入门课,主要介绍Frequency Response,Laplace Transform,Fourier Transform。记不清细节了,但是和前面的ECE205有共同之处。Pole和Zero会贯穿剩下的EE学习,一定要把Frequency Response学透。Prof当时是Dabbagh。很多计算,考试有Formula Sheet,多练总归是没问题的。

 

ECE242:Electronic Circuits 2

如果说之前的240是介绍基本的MOSFET和BJT的话,这门课就是讲怎么用MOSFET和BJT来build各种各样的amplifier circuits。包括cascode,double cascode,current mirror,differential pair,multistage amplifier,OpAmp的内部构造。在OpAmp Circuit结束之后还会围绕OpAmp讲一些重要的概念,包括Gain-Bandwidth Tradeoff,Frequency Response,Feedback,Stability,Frequency Compensation。最后两周会留下来介绍Digital CMOS IC,主要是CMOS inverter的工作细节。前面analog的内容,对应的4年级课程是444。最后两周的CMOS对应的是445。当时的Prof还是David Nairn。这门课从内容上讲比240要难,算是2B的一个相对难点,而且会涵盖Microelectronic Circuits这本书里多数重要章节。有前辈曾经说过:学通了242,你就会发现analog翻来覆去就这么点东西。这话很在理,在444你会发现其实444基本就是把242的内容重复一遍再加上一些不知道在什么年代被发明的fancy circuits,即使到了636也是一样。OpAmp是analog IC的灵魂,学好了有关OpAmp的一切,剩下的都好说。如果感觉和这门课的内容很来电,那么恭喜你,IC这个大坑在向你招手:) Lab的话最后会用discrete component design一个multistage amplifier,也会用到Multisim。

这门课有着被人诟病的一点在于这门课不算简单,而且对CE未来发展也没什么用,有很多CE的学生在毕业时候给学校提建议说想把242调成选修或者EE的课。目前还没看到Calendar上有改动,看未来department怎么设计课程吧。

 

EE 2B Courses

ECE204B & ECE206:Numerical Method 2 & Advanced Calculus 2 for Electrical Engineering

这门课会涵盖Cylindrical,Spherical polar coordinate,divergence,curl,surface integral各种乱七八糟的theorem。说实话这课在学期一结束我就把内容还给教授了。。不过这门课的内容在将来375 EM会用到。当时的Prof是Andrew Heunis。印象最深的是他和当时我们教室的黑板有仇,天天吐槽粉笔和黑板,学期过了之后学校直接把教室重新装修把黑板换成了白板。。他最好的一点在于他在这门课里把Maxwell Equation从头到尾推导了一遍,嗯,权当提前体验一下375。。Lab还是Matlab。

 

ECE209:Electronic and Electrical Properties of Material

这门课是挺有意思的一门课,算是device physics方向的第一门课(Area3)。会介绍energy band,electron & hole,从更物理的角度去分析semiconductor。细节方面挤不太清楚了。Prof是Andrei Sazonov。他出题基本都是计算题,会有formula sheet所以不需要背公式,但是一定要知道怎么用每一个公式还有熟练使用计算器。因为牵扯到device physics的东西基本上数字都会跟10的n次方,敲计算器的速度和准确率其实是很重要的。。这门课会对应将来的331。

 

CE 2B Courses

ECE224:Embedded Microprocessor Systems

这门课主要讲的是System level的一些东西,比如bus,peripheral,interrupt,parallel interface,serial interface,synchronization的一些东西,最后会介绍ADC,DAC的工作原理,对analog还算有些帮助。个人感觉这门课不管谁来讲用的可能都是Bishop的slides。他的slide内容非常的多,一定要理解concept,死记硬背太累。个人觉得这门课对应4年级的课是423,SoC方面的一些东西。注意:224和124,222的内容都不相同,算是一个独立的方向,主要是peripheral和CPU之间的interaction。到423里会更注重Bus以及各个block之间的interaction(我没有上过423,这点只是个人的理解,如有误还请指正)。Prof是Bishop的学生,叫Allyson,给分还可以。

 

ECE254:Operating Systems and System Programming

约等于CS,SE的350,不过应该没有那么深/难。因为完全不了解,无法评价。对software有兴趣的EE同学可以考虑在2B选这门课,可以当做一门Technical Elective (TE),在2B上的好处是不会有timetable conflict+可以和CE的同学一起组队。

 

2B有一个milestone

Technical Presentation Milestone:要做一个technical presentation,两个评委给分,没什么特别的。有两次机会,这次没过在3A还有次机会,还不过要上课才能有credit。

 

3A

EE/CE Common Courses

ECE316:Probability Theory and Random Processes

从基础的probability讲起,类似Grade12的Data Management。之后讲Bayes theorem,probability distribution和一些random process etc。教授是Pin-Han Ho,内容已经忘光了。。只记得final考完curve了好多。

 

ECE380:Analog Control Systems

第一门Area8的课。Prof是John Thistle。他是为数不多在undergrad让我感到negative的教授之一。感觉他讲课完全就是完成任务,不care学生,出题有时候难得要死,有时候考卷长得要命。但是这门课里有些concept很重要,比如Feedback!Pole,Zero,Stability之类的。建议把concept学懂。

 

EE 3A Courses

ECE331:Electronic Devices

第一门正式的Area3的课。和209会有不少重复的地方(前半学期都差不多)。后面会着重讲pn junction,MOSFET的physics property。Prof还是Andrei Sazonov。Exam还是考察对公式+计算器的熟练程度。很多人觉得无聊,个人觉得很有意思的一门课(可能是因为我看MOSFET莫名很萌。。) 另外这门课可以被CE当做TE。

 

ECE375:Electromagnetic Fields and Waves

简称EM,第一门Area7的课。这门课分为三部分,分别对应之后Area7的不同分支。前期讲transmission line,impedance,reflection coefficient,Smith Chart,Scattering parameter,对应473;中期讲wave propagation,plane wave,TEM mode,time dependent Maxwell Equations,对应475;后期讲Snell’s Law,light propagation,full reflection,对应477。这门课想难可以难上天,因为计算的复杂程度完全取决于prof心情,但理解concept更重要。我当时的Prof是Hamed Majedi。这个教授让我又爱又恨。好的地方在于他讲课自带激情,能感受到他对这个field强烈的热爱,并且他的research做的非常棒而且内容也很有意思(尤其是quantum dot)。不好的地方在于他每节课花20分钟扯课外的有的没的,不停地安利他的477,导致到学期末课程只讲到Snell’s Law,之后的photonics的内容完全没讲。并且当时我们连Smith Chart都没有讲,原因是他说Smith Chart的版权在Mrs Smith手里,想让他讲可以让学生联系Mrs Smith要版权。。(据说15年Mrs Smith把版权捐了) Smith Chart是个对RF来说很基础也很重要的工具,375不讲直接导致Slim Boumaiza要在473里重讲这些东西。我对他的评价是:很棒的researcher,很nice的人,但是不怎么好的讲师。Exam会有一题特别难。据他本人说曾经有一个他教过的grad student,考完他的final直接当场哭着向他complain说为什么你的考试这么难。。不过感觉他的375还没有到这种地步。推荐Raafat Mansour,他是个比较靠谱的375教授。另外这门课可以被CE当做TE。

 

CE 3A Courses

ECE327:Digital Hardware Systems

一门涵盖了digital design所有的课程,讲得非常细。如果想走digital/logic development,这门课要学会,学好,练熟。还是使用VHDL。是124的后续,之后对应627。Project是用FPGA在做。我也推荐EE想走digital/logic development方向的同学在3A override这门课,好处同254:可以算作一门TE+不会有timetable conflict+可以和CE的同学一起组队。Prof是Mark Aagard,他的Notes非常详细。另外这门课可以被EE当做TE。

 

ECE351:Compilers

类似CS,SE的compiler,因为不了解,无法评价。另外这门课可以被EE当做TE。

 

 

3B

ECE Common Courses

ECE318:Analog and Digital Communication

这门课算是真正意义上第一门Area1的课,也是所有communication的基础。会非常细的介绍amplitude modulation,之后是angular,frequency modulation。最后会介绍noise,以及一些digital的内容。Prof是Patrick Mitran。这门课也是理解大于记忆(好像所有课都是这样。。),如果对上了电波,那这门课在你眼里大概就是各种shifting triangle一样萌萌哒。如果没对上,理论方面可能会觉得很迷,不过纯靠计算应该结果也不会差。有微博通信大神曾经说过:通信的发展其实就是数学的发展。如果数学停滞了,那么通信理论也就到头了。可见数学在通信理论中的分量。Mitran虽然开始给我一种很难接近+‘为什么你连这都不懂’的感觉,但是后来跟他聊多了之后发现他也很nice。天天骑自行车来EIT上班,经常出没在Slim Boumaiza在E5的办公室(他们应该是有合作关系的,Mitran主理论,Slim搞RF实践),出题也很fair,基本所有点都会考察到。后面对应414。

 

ECE390:Engineering Design,Economics,and Impact on Society

也是Eng program要求的必修课。前半貌似会讲一些和利率相关的东西,然后通过earning和cost算各种各样的东西。后半会有一个group presentation。当时的Prof是Magdy Salama,只要考前多算多练就没问题。不知道为什么rate my professor上对他的评价不高,上过之后觉得他人不错,没什么不好的地方。

 

 

EE 3B Courses

ECE224:同CE的224,只不过EE是在3B上

 

ECE361:Power Systems and Components

第一门Area6的课。Prof当时是El-Shatshat。这教授是整个undergrad最nice的教授之一,各种考前review session。讲课非常细。Power这个Area分三部分,generation,transmission和distribution,这门课都会介绍到,内容包括generator modeling,transformer,magnetic circuit,transmission line,power flow analysis。之后462会主要讲distribution。考试计算量很大,牵扯到complex number,一定要买个可以直接算complex number的计算器。另外这门课可以被CE当做TE。

 

CE 3B Courses

ECE356:Database Systems

ECE358:Computer Networks

这两门和CS,SE的都差不多,我不是很了解,就不评价了。另外这两门课可以被EE当做TE。

 

400 Level (我只能评价我上过的和了解过的,剩下的就靠别的大神来补充吧)
4A


413:Digital Signal and Image Processing (DSP)
这门课在我这届之前是两门课,413 DSP + 419 Image Processing。后来因为419选课人数不够开不了课就合并成了一门课。其实这两门课都是可以独立拿出来成一个Area的,学校这么做可能也是无奈。这里着重讲DSP。DSP对Analog IC和RFIC都挺重要。主要是一些Concept要知道:DTFT,FFT,Fourier Analysis,FIR Filter,IIR Filter。Coursera上也有一门DSP的课。Damen在rate my professor评价不高,不过和他聊过感觉他挺nice的。不过我并没有上过这门课,所以可能有Bias。

429:Computer Architecture
222的进化版。Prof还是Hiren Patel。这门课着重讲CPU。核心还是对Assembly,instruction set还有CPU work flow的理解。对应621。Project是用Verilog写一个Pipelined CPU Core然后用Modelsim run testbench。总工作量很大,如果对VHDL/Verilog不够熟悉会很苦。不过Prof会把整个Project分成几份,分开deliver。需要对CPU concept理解很透彻。选择一个好队友可以事半功倍。

432:Radio Frequency Integrated Circuit
简称RFIC。这里有很重要的一点:ECE calendar上432的course description是错的!!!(15年换了Professor) 现在的Prof是John Long,以前是Sedra在UT的同事,之后去了欧洲,然后被Sedra邀请回了UW。以前的432是讲devices的,现在讲的是RFIC (主要是analysis,后面对应的642是design)。虽然这门课被划在Area3,但实际上和analog IC类似而不是device,是一门纯正的Area4的课。Prof之前把新的course description发给了department让他们update,然后管这事的人貌似离职还是vacation,之后就不了了之了。。
这门课会从基本的RF system specification讲起。包括harmonic distortion,intermodulation distortion,IP2,IP3,thermal noise,flicker noise,noise factor,noise figure,SNR,Friis Equation。之后会讲LNA design and analysis,feedback,Mason’s Rule,frequency up/down converter analysis,VCO analysis,inductor design,是一门内容非常广的课。个人推荐喜欢Analog IC+RF的同学考虑选这门课。不好的一点在于前面那些基础的RF definition是在ECE474里(4B)才接触到的,这门课开始的两个星期可能会非常懵逼。。不过上完这门再看473和474就很easy了
Note:这门课很难,可以说是我上过所有undergrad课里最难的之一。原因是他需要你有很好的circuit analysis基础加上对242里concept的记忆(242是在2B上的,432是在4A),再加上对新的各种RF specification的接受能力。慎选。会有5个Assignment,包括analysis和design。Assignment里会用到Agilent ADS,是个搞RFIC总会用到的EDA Tool。如果选了这门课,建议玩熟这个软件,之后可以自己没事读些paper,design LNA玩。上这门课之前Prof会expect你知道242里的concept(CS amplifier,CS-CG cascode,frequency response,gain-bandwidth tradeoff,feedback),能熟练做circuit analysis。

445:Digital IC
这又是一门所有教授都用一套notes的课。不同教授之间讲课顺序可能不同,但是内容应该是一样的。先review 242 最后两星期的CMOS内容,之后讲basic CMOS cell,transistor sizing,second order effect,timing,delay,power consumption,logic effort,dynamic logic,PVT,sequential logic,memory cell,IC testing,clocking。我的Prof是Vincent Gaudet。这课本身没什么难的,concept也都很简单。Gaudet把旧的project(貌似是X bits adder with layout)改成了一个logic gate design+一个sequential logic analysis without layout导致Project难度下降了一个档次。EDA用的是Cadence。建议用熟这个软件,之后444还会用到。这门课的内容在industry里有这么几个方向:physical design engineering,做layout,transistor sizing;memory IC design;PVT testing,做silicon validation;basic logic gate IC design。

463:Design and Applications of Power Electronic Converters
没上过这门课。Power converter分四类,DC-DC,DC-AC,AC-DC,AC-AC。这门课在industry里可以应用在PCB的power block上,挺受欢迎的一门课。

473:RF and Microwave Circuits
这门课承接375的第一部分,是整个RF的基础课,也被称为Microwave 101。如果想走Area7,这门课一定要上。前半学期主要讲transmission line,reflection coefficient,S-parameter,Smith Chart,impedance matching,后半学期开始讲signal transistor, LNA,filter,coupler,divider,power combiner。Prof是Slim Boumaiza。他一般在学期开始的时候会了解一下学生对375基础的理解,会把不清楚的地方重新讲一遍。讲课非常慢,对待学生问题也很耐心。考试前一定会有question session,extra office hour。Exam一般是open book,或者会给formula sheet,属于fair偏基础的那种,唯一美中不足的是有些时候会默认学生有RF common sense导致有些问题的描述上会比较confusing。对应671。

475:Radio Wave Systems
这门课很迷。。在我们这一届之前连续4-5年都没有被offer过因为凑不够20个学生,后来department把pre-enroll下限改成3个人这门课才被offer。这门课前半段主要讲375中间wave propagation的部分,Maxwell Equation。后面会讲radiation和不同type的antenna的radiation pattern。当时Prof是Omar。Notes是他手写的花体,不懂花体看note会很累。Project会用到HFSS,一个做EM simulation的软件,industry也通用。Project是HFSS simulation+用cooper tape和板子做个Antenna。如果想做Antenna或者搞EM,这门课建议选。


4B


405:Quantum Mechanics
这门课不是TE,是list1的NSE。如果前三年没有take list1的NSE,这门课是个挺有意思的选择。会从头开始讲Quantum的基础,Stern-Gerlach experiment,bra,ket,quantum measurement,time independent schrodinger equation,wave function,infinite well,finite well,harmonic oscillator,最后会介绍一些有关quantum computing的东西。Prof是Michael Reimer,有6-7个Assignment,考试fair。

414:Wireless Communication
没上过。这门课算是318的后续。讲一些更新的communication theory,据说最后会讲到CDMA。 Damen和Mitran都会教这门课。

444:Analog IC
这门课算是242的后续。内容很看Prof是谁。当时Prof是Sedra。前半学期内容包括cascode,current mirror,different amp,High frequency response,wideband amp,feedback,stability,frequency compensation,two stage OpAmp,folded cascode。后半学期主要讲各式各样的filter,最后会花一点时间讲oscillator。Project是一个OpAmp design,用Cadence。

474:Radio and Wireless Systems
Prof还是Slim Boumaiza,不过这门课不是473的后续。这门课注重的是system level的specification (432前两星期讲的东西),transmitter (重点在Class A,Class AB,Class B,Class C PA),receiver (LNA,mixer) chain的介绍,tx/rx architecture,最后会讲一些antenna theory。内容上会和432有一些重复,但难度相比432低很多,因为Slim讲的比较慢。Lab最近改成了用System Vue,Project是tx/rx architecture design。上完375,473,474并且成绩/lab做的不错的话Slim最后会给一个Keysight RF/MW Industry-Ready Certified Student (Level 1)。Slim会在这门课里一直安利让搞RF的学生读研 lol,他是做PA的。考试会给formula sheet。

477:Photonic Devices and Systems
这门课undergrad和grad学生一起上。Prof是Saini。这里不得不提一下这个教授。。第一节课就和我们说:我希望你们理解我讲的concept而不是为了混个高分。如果你们想要高分,期末结束来找我,可以给你们加50%。。感觉他真的是为了引出学生对photonics的兴趣而讲这门课。不幸的是photonics这个field内容实在是太多了,477根本就不能深入细节讲每个点。Photonics最基本的几大块包括:Laser,Optical Fiber,Optical link (Amplifier/tx/rx)。这门课都会介绍到,但都不会很深入。考试开卷,基本都是past exam和tutorial question改个数字,因此不希望学生把tutorial question带进考场。Final考前和undergrad学生说如果想要bonus可以去写grad assignment,交一个给5%。。(Saini真的不care给学生多少分,因为他觉得为分学习没意义) 值得一提的是Saini在photonics方面的research很强,不过现在转去做device level (有很多nano的东西)而不是circuit/system level了。另外他不搞photonics-on-a-chip。

另外4A4B还要做Final Year Design Project (FYDP,498A/B),管理这两门课的Prof是Dan Davison。4A有很多report要写,至少要完成prototype的50%。4B基本上只需要完成Final report和demo。另外值得一提的还有499这门课。这门课算是个为期一个学期的research project,学期末要交report,评分。要自己联系好offer research project的教授。管理的Prof是Lan Wei。

附送一张灵魂艺术:(个人愚见,结合了一些前辈的总结,如有错误请指正)



4年级选课的一些建议(仅供参考!!!):


1. 选择自己喜欢的Area/课 (个人标准:必须做的 > 所希望的 > 能做到的)
2. 上TE水课刷分不是很推荐,CSE/NSE无所谓
3. 选课量力而行,因人而异。数量不是问题,能学会多少东西更重要
4. 以找工作来看的话:现在是software的天下所以Area 5找工作会很容易,position也最多。Area 1里纯理论方面的communication theory,基本都是做research。DSP 在industry有一些position。Area 2里面分几类:ASIC/FPGA,这个方向有position (至于多还是少,我只能整个EE加起来恐怕都没Software多);computer architecture,SoC,这些学历要求不会低。Area 3,如果是纯device level那就基本上都是research。331的TA曾经告诉我说没有phd去industry基本上什么都干不了。。Area 4 industry有工作,不过一是学历要求高,二是难(这个难体现在需要的知识面非常广。Analog IC designer需要知道semiconductor modeling,analog IC,一些digital circuit,feedback,stability,system/software。RFIC designer在analog的基础上还需要知道RF和一些EM theory) Area 6,Power现在industry比较常见的都是做distribution,或者是PCB上的power module。如果想走power的话建议4年级4门Area 6的课都要上。Area 7,主要包括几块:传统的EM theory,antenna这块,是个深坑;RF theory & circuit,这方面经常和IC交叉形成RFIC。根据frequency和communication standard的发展逐渐演进。在美国比较流行纯CMOS的电路,加拿大会用到Bi-CMOS,frequency也更高,现在一般是在K band – 60 GHz;Photonics在IO方面已经应用得很广了(主要在data center),Research也有很多。Area 8 control不太了解。


Co-op

Stream
ECE有两个stream:4S和8
Stream 4S:1A [Co-op 1] 1B [Co-op 2] 2A [Co-op 3] 2B [Co-op 4] 3A [Co-op 5] 3B 4A [Co-op 6] 4B
Stream 8:1A 1B [Co-op 1] 2A [Co-op 2] 2B [Co-op 3] 3A [Co-op 4] 3B [Co-op 5] 4A [Co-op 6] 4B
毕业需要至少完成5个Co-op

个人推荐Stream 8:找第一个Co-op会相对简单些,因为已经在1A上完了150,有了些oop基础。高年级(3A+)实习机会比4S多一个,一般来说高年级的Co-op比低年级更有意义,尤其是走hardware related的方向(很多硬件公司只招3年级以上的学生)

实习内容
重要:Co-op是一个滚雪球的过程!i.e. 一旦做过一个方向的Co-op之后,再找同类型的工作会简单,而想找完全不同field的Co-op约等于从零开始

第一个Co-op
如果第一个Co-op之前没有自己做过project,很大概率会找到编程相关的Co-op(因为只有150对实习还有点用)
Note:如果想走software方向(比如软件方向的CE),这当然是件好事。而EE,如果在2A结束前发现自己只对编程更感兴趣,而对EE其他物理方向的课程没什么兴趣的话可以考虑转成CE(在2B开始前EE,CE之间可以互转;ECE也可以考虑转成SE,毕竟SE在纯software方向走的更彻底更有深度,不过可能需要重修一些课程)。而纯EE就会面临一个怎么从software Co-op跳回hardware Co-op的一个难题,这个在后面会讲到。

EE Co-op
首先,我个人的建议是:EE一定要具备一定的编程能力。在EE的工作环境中比较常用的程序是用来做software automation的,i.e. 靠script来做testing。加上undergraduate不具备很强的IC level design能力,hardware Co-op的工作内容一般都集中在:
1. Logic level design和testing;
2. PCB level (Board/System Level) design,testing;
3. Chip Level的testing和automation

掌握至少一门scripting language是非常有用的(Perl, Python, Tcl)

怎么从software Co-op跳回hardware Co-op:(最好的解决这个问题的方法就是第一个Co-op找到hardware related的Co-op。。)
答案是:运气,耐心和决心!

我自己也是想在做完三个software Co-op之后想找hardware,拿到一些interview但都是因为没有相关经验被拒绝,最后只好又做了第四个software。在3A时候(我是Stream 4S)下死决心一定要找到hardware,当时没有申请任何一个software position,hardware interview一直拿不到offer,最后撑到final前一星期找到了System level validation的工作。之后再找第6个Co-op的时候就变得非常轻松了(找hardware工作真的是非常非常看重之前的experience,不管你之前做过的hardware related Co-op工作内容多么简单,都好过一个software Co-op)

一些可以更早步入hardware area的方法:
1. Self project:自己动手做一些hardware project会非常有用!个人比较推荐用microcontroller做一些project,比如Arduino,Raspberry Pi。(虽然做microcontroller的development更像是写firmware,但是还是对找hardware Co-op很有用) 有条件的话可以自己做一些更‘硬’的project,我有一个朋友自己做了个speaker,还有个做了个DMM。
2. 做Prof的URA:这条路就非常看Prof的project了,有些project会有很多的动手成分,比如待在实验室的,对找Co-op可能会有帮助;有些就是一些很无聊的内容(MS office之类的),那就没什么用。建议和Prof详细了解Project细节再做决定。
3. 耐心一点等到3A开始之后再开始找hardware Co-op:这点是我在拿到第一份hardware Co-op的时候发现的。当时面试的是PMC-Sierra(现在已被Microsemi收购),在TC做phone interview的时候无意间看到了所有candidate的学期,都是3A以上的。离开Co-op之前又找manager聊了下这个问题,他说他们只招高年级的学生。这也是为什么我比较推荐Stream 8的原因,不过不是很推荐干等到3年级再开始准备找hardware,建议和self project结合。


误区:好高骛远看不起hardware testing的工作
低年级的时候觉得要做就做design不想做testing,后来发现没有敲门砖,连hardware Co-op的interview都拿不到。。如果下定心思准备走hardware,我建议不论第一个hardware Co-op的在多么偏僻的小镇,只要能拿到hardware related experience就去做。再次强调,Co-op是一个滚雪球的过程。

CE Co-op
相对于找hardware Co-op的苦逼,software Co-op就好找多了,毕竟现在是software的时代了。CE找工作和CS,SE类似,很多jobmine上的工作都是CS,SE,CE一起招的。
纯software面试基本都是考察算法和coding的能力,只要冲着这两项提高就行了。算法要靠刷题,Google一下就能找到很多算法+coding的网站,这里就不详谈了。
ECE会在2A接触到250,也就是第一门Data Structure & Algorithm,4B可以选修406,Advanced Algorithm。

一些建议:
1. Software Co-op不推荐去做QA,除非实在是找不到development。还是那句话,Co-op是个滚雪球的过程,如果第一个Co-op做了QA,那就只会对未来找QA有帮助而不会对development有帮助。
2. 为了避免1的情况发生,如果高中没有接触过编程或者对编程水平不自信,建议选择Stream 8(至少找第一个Co-op的时候有150的C#和oop的概念握在手里,同时建议3)
3. 和上面EE的一样,做一些Self Project。Software的self project选择面就很广了,比较好上手的比如web,mobile之类的。这些网上有很多资源,就不详细说了。同样,有好的project可以成为敲门砖,帮你拿到interview。Interview的过程就要看对algorithm的理解和coding的熟练度了。
4. 熟悉Linux environment(或者买台mac也是不错的)
5. ACM。ACM是个算法的竞赛,学校每个term也会举行校内的比赛,可以去尝试一下。ACM拿到名次能给自己的resume增色不少(我并没有参加过校内的ACM,如果需要细节可以请其他大神们详谈)

另外CE新生常见的一个问题是CE vs. CS vs. SE,这个问题详见:
SE vs. CE:https://uwaterloo.ca/software-engineering/future-undergraduate-students/comparing-bse-basc-comp-eng
SE vs. CS:https://uwaterloo.ca/software-engineering/future-undergraduate-students/comparing-bse-bcs
上面的解释非常到位。


在undergrad五年里一些想做但又错过的,不过并不后悔(根据我个人情况,仅供参考!!!)


1. 第一/二个Co-op应该硬着头皮去找hardware co-op。当时思维被‘第一个Co-op随便找到一个工作就可以了’这种思想占据了,导致做了四个software Co-op。Note:不能说做过的四个software Co-op没用,至少我现在coding很熟练,什么language也都用的来。只能说走在Semiconductor方向,并没有general hardware Co-op experience有用。
2. EE选课。当时一二年级都是跟着正常的选课模式走的,现在看来我会这么选课:(这里不考虑X00 A/B算一门课)
1A:正常选,拿到80+ avg,说服advisor在1B用course override选第6门
1B:5必修+1选修(CSE/NSE)
2A:7必修,因为这学期课表满的,不选择overload
2B:5必修+2选修(CSE/NSE)。讲道理的话,这学期EE并没有CE那么忙。242是唯一一个相对难点
3A:4必修+1-2选修(CSE/NSE)
3B:4必修+1-2选修(CSE/NSE)
这样选课的好处是,在前三年可以把所有毕业要求的4门CSE和2门NSE上完(我自己是在4年级之前完成了4门CSE+1门list2的NSE,在4B上了405完成list1 NSE的要求)。灵活运用online course,课表应该不会冲突。这样四年级可以最多选8门TE(因为我走的是RFIC方向,这个方向需要的知识面比较广,我自己上了7门TE。如果RFIC+8门TE,我会在413,432,445,463,473,475,444,474,477,671里选8门/或者旁听一两门)。如果发现自己选不够8门TE也可以靠其他non-technical elective来填,只要选够每学期4门elective就能meet term full load requirement。不过最起码还是要选5门TE去满足毕业要求。


不过这样子说有点马后炮的意思,因为不先上过低年级的课也不知道自己到底喜欢哪个方向。。还是像上面说的,选课要看自己兴趣和能力,一味追求数量没什么意思,把avg拉下来对之后申请grad school反而弊大于利。建议前两年能handle的不错可以试着选一些自己有兴趣的elective,到四年喜欢什么area就选对应的课就好了。(其实是看了前两天UW music那个帖子,感觉好多想上的,都没机会了。。)


一些废话
推荐所有课都好好学,不要抱着求pass的目标去上一门课。将来考虑读研的话,比较稳的成绩是:读研area Avg 90+,Overall avg 85+。不过成绩这东西多多益善,高分是绝对没有坏处的。


另外,以上所有内容仅供参考 。i.e. 你还应该自己下功夫去查,去体会,去为自己的人生做出选择。我不背我不该背的锅:)

意见的链接
分享到其他网站

  • 5个月后...
×
×
  • 创建新的...