[心得] Utah MSD一年就读心得

楼主: haohaohao945 (haohao)   2023-10-22 13:10:22
大家好,之前分享过夫妻同时转领域申请学校的经验,来更新一下目前的感想。
不知不觉到美国也一年多了,更新一下就读这个Program的心得,给还有考虑转码的申请
人参考(虽然因为现在就业市场寒冬,应该想来的人越来越少),有问题的话欢迎站内信
交流。另外如果有人知道有职缺的话也麻烦拉我一把(今年12月毕业)
背景
NTU土木工程学士+硕士
毕业后4年系统厂+1年外商PM
只有大一修过一堂必修的计算机程式,基本上入学前程式能力=0
学校介绍
University of Utah,位于犹他州盐湖城,离机场、市区都算近,开车15分钟,大众运输
有公共汽车、轻轨、火车,如果是犹他大学学生持学生证搭乘大众运输都是免费,所以班上不
少学生是搭乘大众运输通勤上下学,不一定要买车。
学校海拔大概1300公尺,附近都是山,当地人很喜欢户外活动像是爬山、攀岩。11-4月的
时候会下雪,造就附近很多滑雪场,如果学生购买ikon pass会有大概6折的优惠,附近
有6个雪场都可以使用,适合喜欢滑雪的朋友。
Program介绍
全名Master of Software Development,是隶属在CS department底下的一个新program,
我是第六届。由5个CS的教授负责主持,所有的课都会由这几个教授轮流授课。相对MSCS,
MSD是开给非CS background的学生,所以班上同学都是来自不同科系,不少人都有工作经
验,都是来转领域的,我这届一班45人,平均年龄27岁,由于班上很多是当地人工作之后
想要转换跑道,所以相较于其他学校的CS、SE硕士班,我们班上只有一半是国际学生,好
处是有比较多讲英文的机会。
Program规划总共4学期,包含Summer要上课,所以总计16个月,学费部分总计大约57000
美元。毕业要求10门课,因为班上同学几乎都是0基础,所以4学期的课都是一开始就安排
好了,不需要选课,也因为课程设计是有顺序的,所以只能Fall入学。整个16个月都会跟
这40几个人一起上课,为了让教学上更顺利,入学的时候每个人会发一台全新的笔电,我
这届发的是Macbook Pro 13' with M2 chip,只要顺利毕业,电脑就可以带走不用还给学
校。
另外系上提供一个弹性是虽然表定是16个月,但是如果你毕业找不到工作或是想多修一些
CS进阶课程,最多可以让你延长一学期(详细操作方式需询问系上Advisor)。
上课方式教授都会到现场上课,并且同步用Zoom直播,让有些不方便到学校的同学可以远
端上课,下课后老师也都会把课程录影上传到学校课程网,如果上课没听清楚可以回家看
影片复习。
课程介绍
第一学期有三门课,课表规划比较特别,周一到周五早上都要上课,但不像传统上课是三
门课分散在不同天,而是1-5周每天都上第一门课,6-10周都上第二门课,11-15周上第三
门课,让学生有一定的基础之后再进行下一堂课。
1. Introduction to Software Development:使用C++上课,从基础的程式开始讲解,每
天都有作业,主要就是练习当天上课的内容,并且每份作业都需要跟教授或是TA进行code
review,会看你的coding style,期末作业用C++写一个小游戏,例如贪食蛇、flip
bird。
2. Computer Programming:这堂课改用Java,开始加入OOP的概念,期中作业要用Java搭
配JavaFX写一个混音器程式,让大家练习GUI跟OOP。后半学期会教基本的Web开发,包含
Html, Css, JavaScript,期末作业是写一个网页聊天室程式,用JavaScript写前端,发
送Client的request,再用Java写一个可以multithreads的Server处理request并回传讯息
到对应的聊天室页面。
3. Data Structures and Algorithms:这堂课继续用Java,会讲解各种资料结构及算法
,以及Time complexity的概念,作业除了要求我们写出code的部分外,还要对各种不同资
料结构或是算法计时来验证。因为还是第一学期,考量到我们都还是菜鸡,这堂课没有
讲得很深入,可能还是需要自己另外找时间上一些额外的课程像是CS61B以及搭配刷题来
更加熟悉各种资料结构及算法。
第二学期,这学期还是每天早上上课,但是恢复成传统3门课同时进行的模式,我觉得整
个work load不算小,会开始有一些同学跟不上课程进度上课上得很挣扎,最后休学。
1. System 1(Computer Arch + Operating Systems):这堂课就介绍作业系统与CPU架构
,涵盖Assembly code, system call, process, scheduler, memory page, lock等观念
,会搭配一些作业来让学生了解系统如何运作,像是自己写一个Unix shell,让我们练习
fork、pipe、file descriptor的使用方法;也有用memap写function来实现malloc、以及
用mutex写function来模拟openmap并比较performance。
2. System 2(Computer Networks + Security):这堂课大致分成三大部分,第一部分先
讲networks相关知识,从各个网络层级的运作方式开始,也会实做一些作业像是用Java写
一个DNS resolver、用最短路径算法模拟router routing的方式。第二部分会讲一点密
码学跟network security,从常见的加密方式原理开始,带到private key、public key
、signature、certificate等如何在现实中应用,最后会有一个简化版TLS protocol的作
业。第三部分是computer security,介绍基本的攻击方式,像是buffer overflow、code
injection、DoS,以及在现实中要如何预防。这门课跟上一门课是我个人觉得收获最多
的两堂课。
3. Software Engineering:主要介绍软件开发的流程,从design pattern、
documentation到unit test等环节。这堂课的作业是一个为期一整个学期的project,随着
课程不断更新,增加新的功能。内容是用C++开发一个简易版的"语言",最终成为一个
command line tool,使用者依照着这个语言的规则输入指令,它会输出对应的计算结果。
第三学期Summer有两门课,每周二三四早上上课,虽然比前两学期少了一门课,但是因为
Summer也比一般学期少了三周,所以没有感觉节奏变轻松。
即使summer有课,系上还是同意学生实习,因为课程都会录影,可以下班后自己补课。我
自己暑假很幸运地找到一家在加州的实习,但因为每周要上40小时的班,下班时间跟周末
几乎都花在补课跟写作业。个人觉得如果有实习的话,加上上课整体loading蛮大的,不过
为了增加履历大家还是咬个牙撑一下吧。
1. Database Systems and Applications: 这堂课会教SQL,作业用MySQL,会从画Entity
relation开始带你了解database的架构、建立table、如何查询。期末作业会加入C#,
使用scaffolding及LINQ,并带入MVC概念,用C#与ASP.Net来控制MySQL写一个简易版的课
程网系统(Canvas),有professor、student两种user,可以登入系统后管理课程、作业及
成绩。
2. Data Analytics and Visualization: 讲解一些统计观念,用python中的numpy、
padas进行数据分析,并用plt来视觉化数据。接着老师会带着学生操作pytram进行一些基
本的training。最后期末作业是要自己想一个题目用D3.js做出视觉化的呈现。
这堂课由于同时还要上班,加上我觉得老师自己对于一些统计的原理也不是非常了解,上
课的节奏有点奇怪,我自己觉得没有学得很好。
最后一学期实际上只剩下一堂课有正式课程,Capstone project不用上课,只需要每周固
定跟老师meeting讨论进度。除此之外,我申请担任下一届的课程TA,协助新来的同学尽快
跟上进度。这学期主要的生活就是写作业、写project、做TA、投履历。
1. Application System Design:上课教学使用kotlin,作业是花整学期写一个类似小画
家的app,随着课程的演进,会不断增加feature到你的app中。
2. Capstone Project:自己想一个专案,每个人都会被指派到一个教授review你的专案,
需每周安排时间与教授meeting确认专案进度,整个作业的难度要求是每周至少需要花20小
时的程度,然后要做一个学期,大概就是一个需要花300小时才能完成的专案。
除了做专案外,系上提供另外一个方案是Capstone internship,简单来说是可以用实习来
替代做专案,看起来很友善,但问题是根据我们学校CPT的规定,现在CPT不适用fully
remote的工作,至少需要hybrid,加上学校规定除了summer外,不能离开Utah实习,也就
是说只能做in-state on-site/hybrid internship。Fall internship已经相对比较少了,
加上Utah的职缺又少一些,所以国际学生最后一学期要找到capstone internship的难度不
低。我自己是找不到,选择写project,顺便当一学期TA赚点学费回血。后来发现即使是
On Campus job,只要跟软件开发相关,也可以拿来当作Capstone internship。
感想
除了上述课程外,教授会请已经成功找到工作的毕业校友或是盐湖城周围相关Tech
company的工程师来分享业界的现况。虽然资源不像NEU这种转领域名校这么多,但是可以
感觉到教授很认真的想要帮你打好基础,有任何困难也非常愿意帮助你,常常在下课后留
在教室给大家问作业的问题,Summer这学期甚至有一个教授每周三会额外花一小时带大家
看cracking the coding interview,讨论面试与解题的技巧。
我觉得整体来说,因为没有选凉课的空间,这个program对于转领域的学生work load算比
较大的,前两学期可能会忙到没有时间刷题,会是需要考量的因素之一,不过就我自己而
言,我会偏好这种先打好基础的课程规划。
目前最后一学期除了当TA省学费、多练练英文,就是边进行Capstone project边慢慢找工
作。谢谢大家看到这边,如果大家觉得有我有可能可以胜任的工作机会,也麻烦拉小弟一
把,我对工作地点没有特别要求,公司可以sponsor就好,感谢。
作者: Victormark   2023-10-22 13:57:00
大推,感谢分享!
作者: j123317 (Allen)   2023-10-22 14:14:00
作者: much0112 (想就做得到)   2023-10-22 14:32:00
作者: bencer3283 (belloben)   2023-10-22 14:50:00
学校海拔1300 太酷了!
作者: unmolk (UJ)   2023-10-22 15:17:00
作者: aflexdreamer (Leo)   2023-10-22 19:04:00
作者: zzz27658479   2023-10-22 20:09:00
作者: kings45 (It's gonna be legend-)   2023-10-22 20:29:00
推推推
作者: ppoy65482 (iwannasleep)   2023-10-22 20:46:00
推!
作者: TaipeiAKuo (阿国)   2023-10-22 22:30:00
作者: LincolnBoy   2023-10-22 23:13:00
推 感觉满棒的
作者: Siika (诗花)   2023-10-22 23:21:00
这种区域型学校还是得找当地公司吧
作者: cocokan   2023-10-23 00:27:00
作者: Vanced (维安斯德)   2023-10-23 00:39:00
作者: chipnndale (奇奇兵)   2023-10-23 00:51:00
大推,感谢分享
作者: hsu761001 (忙里偷闲)   2023-10-23 01:40:00
课程内容不错耶 蛮有安排的
作者: philip09227 (philip)   2023-10-23 04:32:00
市场好的时候应该会是蛮好的转码program ,今年只能说真衰
作者: dickenson (pukaracie)   2023-10-23 04:34:00
推推,谢谢分享!
作者: jerrywei24 (jerry)   2023-10-23 05:29:00
Utah其实蛮多金融公司在那里有IT部门…楼主可以试一下
作者: pornstar (迪克)   2023-10-23 07:31:00
有去现场看Malone跟Stockton 吗?
作者: airphonse   2023-10-23 08:30:00
推推!
作者: icecreamdog   2023-10-23 08:43:00
推 台湾篮球 NCAA 小将黄以喆也在犹他大学 UU好学校
作者: myth356 (fun356)   2023-10-23 10:43:00
推推 超级详细
作者: missyapple (apple)   2023-10-23 10:52:00
推用心分享
作者: gagalala (嘎啦)   2023-10-23 11:17:00
课程规划很赞欸 适合转领域的人
作者: hololover   2023-10-23 13:02:00
作者: Car1eano   2023-10-23 13:50:00
作者: imandylin2 (超冏阿贤)   2023-10-23 15:24:00
推推
作者: nullife (好想颓到死喔)   2023-10-23 15:30:00
推课程规划
作者: MIKEmike07 (加油!)   2023-10-23 16:24:00
推用心分享
作者: ejnfu ((-. .-)b)   2023-10-23 23:45:00
推分享
作者: ctl (ctl)   2023-10-24 02:22:00
推分享, 祝你找工作顺利!
作者: ibon (唉崩)   2023-10-24 02:48:00
推!助找工作顺利,今年真的不好找
作者: NTUEECSman   2023-10-24 15:26:00
祝找工顺利
作者: chhtwhc (ppppppppig)   2023-10-25 01:28:00
作者: shinningyu (Tony The Fish)   2023-10-25 09:30:00
作者: zinga (shadow traveler)   2023-10-25 11:55:00
赞 推!!!
作者: irvingnumber (irvingirving)   2023-10-25 12:51:00
牛尾听了也想去
作者: yesgowow (荷包蛋)   2023-10-26 06:11:00
祝找到工作
作者: eddie800630 (马人)   2023-10-26 14:38:00
作者: yeapdaniel (daniel)   2023-10-26 15:02:00
感谢分享,祝您一切顺利
作者: a3165229 (小虎)   2023-10-26 15:30:00
好文推一个
作者: AlienCEO (啊呀咖)   2023-10-26 16:55:00
推心得
作者: lilecoli (有效日期)   2023-10-27 09:52:00
推分享
作者: tomroy (离题辉。)   2023-10-27 15:52:00
推学弟 课程感觉满扎实的耶
作者: steven88669 (屎蒂芬)   2023-10-27 19:11:00
这课程很明显就是帮没经验转领域的人打基础 很用心诶
作者: johnbogle (simple)   2023-10-28 10:23:00
祝找到好缺
作者: theoneone (发芽生根中)   2023-10-28 22:21:00
谢谢分享,祝福一切顺利
作者: arue (高丽菜)   2023-10-30 06:03:00
推推 课程好扎实的感觉
作者: keepgoing99 (Fireex)   2023-11-08 02:58:00
好文推 找工顺利!
作者: eliashuang (affricaprince)   2023-12-04 20:58:00
推 感谢分享

Links booklink

Contact Us: admin [ a t ] ucptt.com