ChaseDream
搜索
查看: 23144|回复: 459

[学校信息] IC BA项目介绍第二弹,顺便谈谈零基础商科背景如何补编程

[精华]   [复制链接]
发表于 2017-12-25 23:49:08 | 显示全部楼层 |阅读模式
接上一篇分享贴之后,现在再开新帖来介绍一下IC BA项目的情况。这篇主要说说core module的课程内容,更新一些关于就业的情况。希望关于core module的介绍能帮助拿到offer的同学更了解这个项目,并决定是否选择这个项目。
另外,最近经常被问到补编程,可能是因为很多童鞋已经拿到offer了,或者想通过补编程提升自己的竞争力,帖子的后半部分会详细说说补编程背景这个话题。


一. 项目介绍
课程方面:
上一篇帖子讲过,九月模块主要分为两部分:统计知识(R)和算法(Python)。这两部分内容学完之后就会正式进入core module,而sept module里所学习的知识和编程会对这模块的学习十分有用。core module分7部分,这学期会涉及五门课,另外的analytics in business和visualization会在下学期同选修模块一起讲。

Optimization & Decision Model:这门课其实相当于国内的运筹学,学习解决实际中的规划问题,主要讲线性问题、整数和binary问题,也包含一些简单的非线性问题(比如著名的资产组合优化)。授课教师wolfram(可能很多open day时候来campus visit的同学都知道他)为人热情耐心,讲课思路明确,很善于化繁为简,虽然有点讲的太慢了23333。wolfram每星期都会留一个比较challenging的作业(不计分的,做出来有奖品), 运筹学问题多接触一些就会发现其实是很锻炼思维的。工具使用方面,主要是excel solver和AMPL,目前已向programme team建议python(scipy),所以明年也有可能变成excel+python的工具组合。个人很喜欢这门课的,我本科学过运筹学的线性问题,但感觉这门课讲的更好一些。

Statistics & Econometrics:计量经济学,也延续了sept module里的统计课,主要集中在讲线性模型上,80%以上的时间都在研究线性回归,最后几个lecture简单的谈了逻辑回归模型。研究cross-sectional data为主,没有太多涉及panal和时间序列。本门课的授课老师是中国人,耐心负责,但是。。确实能看出中国讲师的风范。课程内容也十分理论化,对于ba项目来讲,确实太学院派了,琐碎的概念和知识很多很多。值得一提的是,因为这门课里讲了linear regression和logistic,后面的machine learning课里就不讲了,这样是否合适,其实有待商榷。

Fundamentals of Database Technologies:SQL课,顺便入门一下spark。授课老师是外面请来的,平时做deep learning,人很牛逼但讲的确实不好。好在SQL很简单,同学们也就没有太绝望了。但SQL很重要很重要,平时多练习,还是有很大必要的。Spark讲的比较浅,选修中有一门会多讲。


Machine Learning:重头戏!模型主要讲了KNN, Navie Bayes,Decision Tree(简单谈及ensemble learning)和K-means。由于是第一门ML,所以选择的模型基本都是最简单的。授课教师还是wolfram,讲的十分透彻,所以虽然课程难度不是很大,但学起来非常扎实。编程语言要求R和Python都会做,R语言的ML函数基本来自己于各处,python则集中在sklearn里。另外,这门课作业留的比较好,像用naive bayes预测垃圾邮件、分类树预测信用风险这些经典问题都涉及了,很贴近实际。写作业的过程不是单纯的找函数调包,而是需要真正去处理数据,很多次作业都涉及到了regular expression和scrape。如果有兴趣,后面可以继续选择Advanced Machine Learning,AML的授课方,是IC的data science institute,难度会大一些。

Network Analytics:个人认为最难的一门课,主要讲graph。授课老师kalyan是项目director,经常把自学是本门课的重要学习目标挂嘴边。上课比较随性,课程内容不是很结构化;作业总是一次比一次难,每次像学了一门新课一样。课程主要使用python中的networkx包,其实实际中还要自学很多的。整体来说,不是特别喜欢这门课,学的很难很广,但都是浅尝辄止。后面的选修课,比如digital marketing和supply chain analytics会涉及到network的应用。

就业方面:
sept module的时候,基本是一半时间上基础课一半参加career培训,找工作的气氛还是很高涨的。但是到了core module之后,课程难度和压力明显大了,一定程度上会压缩找工作的实际,这是实话。

伦敦这边的analytics就业机会没有美国多,但是好处是竞争压力也不大。英国开BA的项目并不多,IC和UCL两所处于伦敦的学校开设了BA,基本是占据最大部分资源的了。有一部分公司会专门针对BA做活动的,比如OC&C的analytics team来学校附近的酒店办了个比赛,第一名的直接获得全职的终面。还有BCG gamma、facebook等公司,也专门针对analytics开过宣讲会。虽是BA项目,但是也有近一半的同学以后并不想做analytics,纯粹读个BA扩展知识面的。

整体感觉,身边的同学下定决心非要留在伦敦的工作的并没有多少(很容易理解,如果非要留下,干嘛来英国。。),大多数准备来年回国参加秋招。很多准备简历都是为了准备来年6-9月份的placement。所以尽管机会很多,但身边的同学少了一些拼死找工作的气势,反而学习氛围是比较浓厚的。

二.来说说,零基础补编程背景
学BA,编程和数理知识很重要,尤其是开始master学习之后才发现,就算拿到了offer,如果没有点功底,从拿到offer玩到入学,痛苦的日子就来了。。所以写下这篇帖子的后半部分,是想给商科本,之前没有任何编程经验的同学一点关于补编程的建议。我本人是商科本,接触BA之前学过VB和SQL(基本忘光了),大二下学期开始了解BA,大三下学期正式决定考虑BA,开始了学习编程和数理的生涯。大概是是coursera和datacamp都学了很多门课,也看过一些相关的书。以下的经验,基本都是给零基础或者接近零基础的,如有相关经验,套路肯定是不一样的。

1. 补编程对BA有多重要
很重要很重要,但是重要性在标准化成绩之下。尽管这篇帖子要讨论补编程,但是也不能夸大编程对于申请的作用。商学院申请,标准化成绩和吹牛逼能力永远是两个最重要的能力。这句话不是说没有标准化成绩就不能学习编程了,但是没有标准化成绩却想靠补一点编程和数理背景救世,在商学院申请很难行得通。个人认为,申请前了解一下BA所需要的基本技术,面试和写文书时候能扯上几句就差不多够了,其余的具体和深入学习部分视个人精力而定;申请后可以利用近一年的时间好好学学。

2. 要补,补什么?
BA所用的工具里,R、Python和SQL三门编程,是被提及最多的。SQL是重点,数据库查询无论到什么时候都是很常用的,R和python中的数据操纵包也使用了很多sql的思想;python和R是数据分析届最火爆的两门语言了,从数据清理到分析再到模型,可以说样样精通。所以要学,SQL是一定要了解的,而且SQL的入门会很快,之后是R和Python

3. R还是python?
万年辩论题,每次谈到都引起口水。作为一个使用python和R的比例都差不多的选手,感觉两门语言的差距,做数据分析而言,其实没有那么大。经常看见有人说Python rocks, R sucks....客观来说可能是真的,但是你所需要的应用范围来看,不一定。。。就我个人的自学心路历程而言,是先学Python,再学R,又学回Python。开始比较喜欢R,现在逐渐更喜欢python了。
关于这个问题其实问了很多人,大部分刚刚同时接触两门语言的都会认为R舒服一点。个人认为,R语言更像是一门数据分析工具,像工具像到甚至有点不像编程。比如学pandas时候新手会想问,为什么有时候是function(x),而有时候是object.method(),但是用R的时候可以很大程度上忽略这个问题,都是function(x)。这样很容易让初学者把精力集中在数据分析本身,了解一些数据分析的基本做法和概念,而不是太过集中在编程上(毕竟,学这个是为了用)。而Python的优点在于,定义算法要比R方便。无论你是知识量多么丰富的调包侠,也不可能永远不自己写代码,一旦开始自己写代码,我相信大多数人都会认为python是更舒服的。
根据以上优缺点,如果非要选择,给一些个人建议吧:1)如果你未来就读的项目只学R或者Python,那么你就学这个吧,其实差不多的;2)如果你自学,只想学一种,那么更建议python;3)如果你早晚两个都要学,那么建议从R先开始。

4. 学什么?那个平台好?
学习网课的平台如今越来越多了,相关的免费书籍网上也有很多。诚然,平台是有优劣的,有的比较符合你的个人习惯,所以学起来会事半功倍,但无论在哪个平台,更重要的是该学习的知识点需要学到。

SQL比较容易,查询语法内容不多,学一下就好,之后多练练;
R语言的学习,先要了解基本的数据类型(vector/matrix/dataframe/list)和会应用基本函数,之后强烈推荐学习一下数据操纵package(dplyr)和可视化package(ggplot2)。这些都相当于基本功,如果都用的十分熟练,后面就可以利用R来学习统计知识了(推荐一下coursera duke的stat with R)
Python而言,基础语法会需要学的更深入一些。掌握这些之后,建议开始学习numpy/pandas/matplotlib这些与数据分析最接近的工具。值得一提的是,python有一个很强大的能力就是写爬虫,大名鼎鼎的coursera Umich课就是在讲完list和dict之后就直接开始讲爬虫了。然而,我并不认为这是个很合理的学习路径。

平台的话,最推荐的肯定是datacamp。虽然需要花钱,应该是包月29刀,但是能边学边练边纠错,功能是在是太强大了。datacamp目前还是R的课比较多,但是从入门来看,python的内容也足够了,可以说是最适合入门编程的平台。当然datacamp也有相对的弱点,就是理论讲授的部分实在是太少了,尤其是学到比较高级的课题时就会发现,经常是看了一眼代码,模仿着敲一遍,觉得自己屌屌的;但实际一用,因为并没有学得很扎实,就发现其实并不透彻。
coursera和edx这些平台也提供很丰富的编程课,当然目前课出的太多了,质量就良莠不齐了。我还是倾向于认为,这些课适合讲理论知识的。比如学习统计学,之前提到的stat with R,还有machine learning届很有名的斯坦福机器学习课,就很适合在coursera听。这种理论知识学习,听听网课远比在datacamp上学调包扎实。
网上教材也有值得推荐的,比如《利用python进行数据分析》,基本涉及到了python数据分析的最常用工具。还是之前那句话,从哪学相对来说是次要的,学到需要学的内容就好。




好了,关于项目介绍和学习编程这两部分都说完了,如有相关问题,可以留言或者私信。CD现在不怎么上了,不过看见就会回的。
发表于 2017-12-25 23:49:51 | 显示全部楼层
同意!               
发表于 2017-12-25 23:54:38 | 显示全部楼层
同意!               
发表于 2017-12-25 23:55:11 | 显示全部楼层
看一下!               
发表于 2017-12-25 23:57:24 | 显示全部楼层
thx!!!!!!!!!!
发表于 2017-12-26 00:05:11 | 显示全部楼层
6666666666666666666666666666666666666666666666666666
发表于 2017-12-26 00:21:18 | 显示全部楼层
嗯嗯正想补编程能力呢 谢谢楼主分享~
发表于 2017-12-26 00:30:08 | 显示全部楼层
看一下!               
发表于 2017-12-26 00:43:27 | 显示全部楼层
看一下
发表于 2017-12-26 00:51:32 | 显示全部楼层
Mark一下!               
NTU
您需要登录后才可以回帖 登录 | 立即注册

Mark一下! 看一下! 顶楼主! 感谢分享! 快速回复:

INSEAD MIM
ntu
近期活动

正在浏览此版块的会员 ()

手机版|Archiver|ChaseDream京公网安备11010202008513号 京ICP证101109号 京ICP备12012021号

GMT+8, 2020-7-16 11:51 , Processed in 0.073007 second(s), 5 queries , Memcache On.

ChaseDream 论坛

© 2003-2020 ChaseDream.com. All Rights Reserved.

返回顶部