UWaterloo ECE MEng两学期课程体验

avatar 550310
orangee
8317
14
ECE650 Methods&Tools for Software Eng (20 fall):
对于我们转码选手来说,这门课还是很值得上的,因为coding assignments设计得很好,对编程能力有提升。
理论内容主要分为:
1. git、python和C++简介,进程线程及相关linux C API
2. predicate logic
3. 简单的操作系统概念和数据结构。个人觉得lecture不怎么好 (对用过相关内容的人没用,对完全零基础的同学十分不友好)。
一共4个任务:
任务 1: 用python。输入几条道路及相关坐标,求交点。让你简单上手python,学会把复杂的任务分解成自任务。要处理各种invalid的user input,需要用到正则表达式。比较坑的一点是instruction上面对于validity没有讲清楚,最好尽早在课程平台上和prof沟通清楚。
任务 2: C++求最短路径。
任务 3: 主要用到linux C中进程、pipe相关的内容。会用到任务1和2的代码。
任务 4:把vertex cover问题转化为SAT问题后利用SAT求解。
project:
还是vertex cover问题,3种方法(任务4中的SAT+另两种近似方法),多线程执行3种方法。测不同顶点数下每种方法执行时间,画曲线并分析。LaTex写5页纸报告。

ECE651 Software Engineering (21 spring):
讲agile development, testing, coupling and cohesion, UML, design patterns, architectural patterns, refactoring等等。
10%期中 + 30%期末 + 60% project。
老师讲得很烂,slides很烂。我只听过前3次lecture,后面都是翻一遍slides, 然后google或看书(以及其他学校其他教授的slides哈哈)
project 4-6人组队,大部分组都做的web application。前端有用React/Vue/AngularJS的,后端用Python和NodeJS的比较多,我们组用的Java (Spring那一套)。有的组用docker/k8s部署了。
老师和TA对于project几乎没有任何实质性的制导。给分只看展示,主要关注agile development process和testing有没有做好。
对于转码无实习经验的同学还是非常值得选,将来工作都会用到。
提前物色好队友,有个厉害还愿意指导你的大腿很香(这里羡慕一下我的前端队友)

CS656 Computer Networks (21 spring):
基本按照计算机网络自顶向下方法讲的。从application layer一直到link layer。
Limam教授,人很好,MS Teams上答疑及时,解释清楚。但是有很重的弹舌音,我听了几次lecture就不再听了。就那几次而言,讲得还算清楚,但我感觉和自己看书也没太大区别。
10% assignments + 10% quiz + 20% project + 25% mid + 35%final
两次编程作业,什么语言都可。第一次简单的TCP/UDP socket编程。第二次用UDP socket模拟Go-back-N protocol,要用到多线程和文件I/O。要写makefile(python就不用啦)。
Project就是给定主题,看文献,想出一个想研究的内容,写一个project proposal(5页纸)。对找SDE没用。
考试难,2个半小时五六十道单选/多选+简答。疫情期间open-book,但是依然时间紧,涉及很多细节。光是看题干就画不少时间。
这门课中规中矩,没其他选择的话选一下也不错。
其实当时想学CS642 Programming Languages,觉得很有意思。但一想对找工没用,还是选了network。现在有一点点后悔。

还有一门强烈推荐的ECE751请看我的另一篇帖子(太长了单独发了)

还有几门选了又退掉的课:
ECE610 ECE的计网,自底向上讲起, link layer就讲了好久,还讲了queueing theory。好像没有编程任务。将来做SDE的同学想选计网还是CS的好。
CS798-001/002:
Advanced Network Architectures (主要理论)
rboutaba.cs.uwaterloo.ca
Network Softwarization(有好几个实验)
rboutaba.cs.uwaterloo.ca

朋友们走过路过记得帮我加米喔,十分感谢!
  • 31
14条回复