计算机的学习好比升级打怪,从cs110开始新手村修炼,到cs210捡装备,再到cs221终于可以打怪。从数据结构,递归,最终到大BOSS算法,玩家一步一步修炼升级,终于消灭怪物,拿到大怪320的邀请函,然后继续打。。。说远了,总而言之,221可以既帮助玩家修炼外功武艺,比如Queue及Stack实现,又可以提升内功,即对算法的领悟。内外兼修者方可斩获美国各IT大佬的Offer。从Big Data 到如今的AI市场,各类计算机语言框架迭代更替,一批一批被拍死在岸上,唯独算法占据高地从未倒下,被无数人追捧膜拜,可见其地位。221作为算法入门,是科技人才(码农)开启辉煌人生的第一步。
在学习221的过程中,有几座大山会挡住去路。第一座就是数据结构(data structure)。数据结构向来是面试题必考内容之一,简单的问数据结构定义,难的直接实际操作实现各种结构,各种改编也是五花八门。掌握数据结构之后,就开始学习渐进分析(Asymptotic Analysis )。虽然渐进分析名字是否高大上,但一句话总结就是谁的code运行的快。小编以前参加过Google,Amazon及SAP面试,第一轮基本不是机考考算法,就是实地white board做题。从怎样reverse一个LinkedList,到各式各样sort,无一不是221终极知识点。可见221为所有cs学生必修课是有因可循的。
怎样学好221呢?只有做到以下几点,即使不能A+也能保证B+以上
- 任何一节课都与前后有关联,上课稍稍思绪飞5分钟,整节课在讲什么可能都不清楚了。为了高分,至少要保证不错过每一节课每一个lab
- TA是学校免费的tutor,是我们唯一能占学校便宜的地方。一有时间就去找TA问问题,从课件课堂练习到作业,不把问题解决绝不能罢休
- 可以在我们的帖子下留言,我们有UBC CS毕业的学长学姐们,免费为大家解疑,保证不收取任何费用!同时我们大多数都在Vancouver Tech公司工作,面试及内推全部可以帮忙,欢迎咨询