
hello大家好呀!话说我们上次说到,大名鼎鼎的CS专业牛校(戳我回顾)除了牛校网罗天下人才,还拥有着超多的职业选择。不过,不少同学觉得CS专业workload很大,竞争也很强,怕自己学到头秃,因此不敢major in CS。
CS专业到底如何?百闻不如一“学”,让CS Major为大家讲讲自然是最好不过!
以下是毕业于全美Top50的理科强校佐治亚理工(Georgia Institute of Technology)的J同学的学习经历,希望对你有帮助~
Freshman Year
我是2010年秋季入学的学生,还记得那个秋天我超级紧张。一个人来到一个完全陌生的城市,谁也不认识(也不知道究竟要学啥,要上多少课),并且我还要保持3.0的GPA才能继续拿到我的助学金,所以压力还是挺大的。
我在佐治亚理工上的第一节课是Intro to Computing,这节课教的是用Python编程(利用一些叫做scribbler的小机器人)。我还记得期末作业我做的是一个抓取歌词的程序。

▲Scribbler类似于这个亚子
我还学了Calculus I(微积分I),学期开始的第一天我走近教室,只见一屋子黑压压的人,而且教授拒绝用投影,坚持板书,坐在后面啥也看不到。课一结束我就立马drop,换了个教授。
Freshman Leap Seminar,这个Seminar就是学校给新生偏就业方向的指导,包括告诉CS major们的career选择,教我们写了第一份个人简历等等。
Chemical Principles I,我的专业要求我上一门Lab Science的课,不过我忘了我真的超讨厌化学...最后这门课只拿了C,导致我GPA直接掉到2.9,助学金也拜拜了(差点读不起书😢)。
还有一些课程,包括Constructing Proofs(学discrete maths,离散数学,是研究离散量的结构及其相互关系的数学学科,现代数学的一个重要分支),Intro-Object Orient Programming(事实上更像是Intro to Java,学Java),English II(学了赛博朋克,新浪漫主义文学),Japanese I(教授给分太低了),Calculus II(微积分二,真的很难)等等。
大一就这么愉快的过去啦。
Summer 2011
由于怕自己找不到工作/实习,夏季学期我也报了一大堆CS的课程。不过作为过来人,我建议大家还是该干啥干啥,好好享受暑假,放松过才能在下学期更好地投入学习。
我在这个Summer学期主要学了Data Structure and Algorithms(数据结构与算法,之后面试经常涉及)。
Computer Organization and Programming(从digital logic数字逻辑到assembly language汇编语言到C语言,介绍计算机是如何运作的)这节课虽然挺难,但是很有趣,学期最后我的作业是设计了一个游戏给Game Boy Advance(GBA,任天堂的第二代便携式游戏机)。

▲Game Boy Advance就是这个
Intro to Database Systems(如何高效利用数据), Social Psychology(我很喜欢的一节课,要不是reading太多了,我可能也会考虑当个Psychology Major)
Sophomore
2011年秋季学期开始了,我的同学们从他们的实习、度假或是出国交换非常chill的暑期回来,我也开始继续紧张地学习。
这个学期,我选了Systems and Networks(学一些比较基础的程序设计)。
Objects and Design(学的是design pattern,也即设计模式:一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。可重用代码、让代码更容易被他人理解、保证代码可靠性)。这节课其实非常有用,不过我当时并没有很好理解它,虽然因为这节课是project打分的,我做了个不错的project所以分数不错,但是自己还是学得不够。

▲Design Pattern,值得每个coder好好研究
其余时间,我通过做CS的Teaching Assistant白赚了一个A,为了更高的GPA把日语课换成了Spanish I西语课(高中学了四年西语),选了Calculus III(但由于第一场考试考得实在太糊,我直接drop了课)。
在这个阶段,我的整体思路还不太对,因为觉得自己technical方面比较不足,所以一直都在上CS的课,把其他一些通识公选课放在了后面。你们千万要吸取我的教训!比如我在大二火急火燎地报了Senior Design,这节课更适合高年级,作业是团队网页设计,课很难,我在团队里也真没咋做出贡献。
还有Computer Networking(计算机交流), Design and Analysis of Algorithms(比之前程度更深的算法学习),Intro to Artificial Intelligence (AI入门)。大二也很快就过去了。这年暑假,我去了Google实习。
Junior
又是一年秋季到。
这年,我学了C++,Applied Combinatorics(应用组合数学),又报了Calculus III(这次我的精神终于感动上天,低分飘过),Language and Computation(语言与计算),还选了一节研究生课Database Systems(看了很多官方白皮书,学习了像Google等等其他大公司是如何解决数据问题的),Machine Learning(教授是Charles Isbell,他真的很牛,大家可以了解一下!)这节课curve很夸张,我拿了64(满分120),但已经是A了。

▲Professor Charles Isbell
这年暑假,我没有选择再回Google实习,而是去了Yelp。但Google给我抛来了橄榄枝。
Senior
我get了Google给的全职Offer,毕业以后就可以去Google工作。所以作为一个senior,我还是比较轻松的。这一年,我开始补那些我落下的通识课和选修课。
我学了Health(关于健康),Physic II(另一节Lab Science课),Computer Visual(期末作业是面部追踪Mitt Romney 2012年总统辩论视频),还有Statistics and Probability 。
到此为止,我已经修完了毕业要求的所有课,但我还剩下了一节课的学分(这是我为了弥补大一时候的遗憾故意留下的)。
还记得那个暑假,我在学校拼死拼活学习的时候,很多同学都到西班牙巴塞罗那交换,所以我用着剩下这节课的学分,到西班牙交换了!
在巴塞罗那,我报了很多有意思的课,比如城市建筑、Photoshop、摄影等等。最后一节课,是Computing ethic,计算机伦理,我认为学伦理真的非常必要!当时我们讨论的问题包括无人驾驶汽车发生交通事故的时候究竟是谁的错(随着无人驾驶汽车的普及,这已经成为一个愈发需要讨论的议题了)。
我毕业后,直接从巴塞罗那搬到了旧金山,开始了我的湾区码农生活。这就是我的CS生涯!
总的来说,J同学的CS学习生涯还是比较顺利的,他提到的第一节课Intro to Computing,就是一节关于Python的课。小助手也为大家找到了Coursera上一节人气超高的基础入门Python,新手友好!不妨借此入手,试试自己是否适合学CS~
零基础 Python 入门

对于很多没接触过编程的同学来说,选一种计算机语言入门都让人挑花了眼。是Python,,C,C#,C++,还是JAVA,PHP......作为从纯文科跨界到科技领域专业的小助手其实比较推荐大家从python入手。
首先,python是一个比较成熟的语言,一些其他语言中需要程序猿手动定义的概念在这里能被自动识别出来,非常省心省力。这也使Python难度降低不少。
第二,Python是目前最受欢迎的语言之一,像我们熟悉的IG YTB Spotify等等软件都是用它写的。
第三,在网上的免费Python学习资源很多,只要你有一颗学习的心,网上资料还有解答的大佬数不胜数。

密歇根大学提供的Coursera课程就特别适合零基础的同学学习~课程由Charles Russell Severance 教授,使用Python编程语言介绍基本的编程概念,包括数据结构、网络应用程序接口和数据库。在项目中,可以学习使用Python设计和创建自己的用于数据检索、处理和可视化等领域的应用程序。
PS:这个专项课程由五个专题课程构成,一周能安排3小时学习的话可以在8个月内完成,还是比较考验大家的持久度的。
课程大纲:
专题一:零基础程序设计(Python 入门)
专题二:Python 数据结构
专题三:使用 Python 访问网络数据
专题四:Python 数据库开发
专题五:毕业项目:使用 Python 获取并处理数据,并用可视化方式展现数据
课程链接:
https://www.coursera.org/specializations/python
看完以后,你对学习CS专业产生了什么想法呢?对CS或是Python感兴趣的小伙伴们,上面的Coursera课程或是其他自己找的资料,都可以尝试着学习。
有更多关于留学的问题,欢迎咨询斐然文书小助手~👇
