c*****a 发帖数: 808 | 1 可以选些outside of stat的课,太多空余时间了。
到底选cs学java/c++好,还是math的analysis之类。因为这些都要8堂课以上。cs会去
到grad lvl AI/machine learning. math会学到grad lvl real analysis.
不太肯定读不读博。我知道读博要好的math基础,但感觉读ms也要好的math啊。cs的语
言作用我不太清楚,出来统计类工作是R/SAS。
有点迷茫了,大家指点一下出路。 |
z****e 发帖数: 54598 | 2 我的建议
学java,但是你光学会java是远远不够的
因为java的衍生品远远大过java本身
从这个意义上说,java的难度可能一点不必c++要小
c++可能难了一点,但是外延并不大,但是java的外延要远远大于c++
一句话就是,java难在广,你要知道的东西很多很多
但是c++难在本身语言的难度上,估计你真用了c++之后
一辈子就在捣腾指针
如果你想结合到统计上去
我建议你应该学会如何用java或者c++调用r,也就是如何结合起来
然后关于数学分析,记得之前讨论过了
如果你想工作的话,就别学数学分析了
多学些应用的,就包括java/c++/r之类的
但是话说回来,你想学好java,才8门课,那实在太少了
我觉得一到两年差不多,可以看看我以前写的文章
大概可以对java有个概念
http://ff6.ffsky.cn/zhaoce_backup/java0.htm |
l***4 发帖数: 1788 | 3 very informative
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我的建议 : 学java,但是你光学会java是远远不够的 : 因为java的衍生品远远大过java本身 : 从这个意义上说,java的难度可能一点不必c++要小 : c++可能难了一点,但是外延并不大,但是java的外延要远远大于c++ : 一句话就是,java难在广,你要知道的东西很多很多 : 但是c++难在本身语言的难度上,估计你真用了c++之后 : 一辈子就在捣腾指针 : 如果你想结合到统计上去 : 我建议你应该学会如何用java或者c++调用r,也就是如何结合起来
|
l*********s 发帖数: 5409 | 4 great thanks!
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我的建议 : 学java,但是你光学会java是远远不够的 : 因为java的衍生品远远大过java本身 : 从这个意义上说,java的难度可能一点不必c++要小 : c++可能难了一点,但是外延并不大,但是java的外延要远远大于c++ : 一句话就是,java难在广,你要知道的东西很多很多 : 但是c++难在本身语言的难度上,估计你真用了c++之后 : 一辈子就在捣腾指针 : 如果你想结合到统计上去 : 我建议你应该学会如何用java或者c++调用r,也就是如何结合起来
|
c*****a 发帖数: 808 | 5 感谢了,看了一下你的文章,原来java没pointer啊,舒服啊。以前学这个东西吐血。
准备了个list,一开始是修intro cs(c++),然后data structures/算法。
之后才修intro oop(java), software engineering(java?),database, 高级算法,AI
加machine learning。这样要3年时间啊,中间要学统计加2/3堂数学,看来未来2,3很
辛苦。
有没有经历过这些的朋友,给些意见吧 |
z****e 发帖数: 54598 | 6 你想搞cs么?想做research么?想phd么?不想的话不要费力去学算法
搞research必需,但是找工几乎用不到,人家看你外行也不太会考你算法
如果考你算法的话,那就把你当cs的人用了
算法这个东西华而不实,就跟数学分析相对于统计,经济相对于金融一样
想工作的话离这些东西远一点,而且你们学校的教材有点旧了
intro to cs还在用c++,多数学校都改java上了
ai,machine learning都上,这个上了干嘛用?这是连cs的人自己都不愿意选的课
几个冷门,图形学和ai都冷,图形学出来还可以搞搞游戏,做做电影特效,ai出来……
真想工作,不要选cs,选software engineering,只要跟engineering沾边的
对工作都有帮助,跟基础数学靠得越近,越没戏
是我就不学算法,砍掉所有的算法课,把所有编程和能够熟悉现有软件产品的课好好上
尤其是java,software engineering(j2ee),database(sql)这种
出来工作都好说,再加两门os(unix)和网络(html,socket etc.),基本上就差不多了
当然如果你想搞一个cs major,那算法又是必修课了,如果不是必需,我是一定不碰的
算法是找工作时候,人家没东西问了,才问算法的
我前一段总结的
不要碰基础数学,尤其是分析,但是要去学统计
不要碰计算机科学,尤其是算法,但是要去学软件工程
不要碰经济学,但是要去学金融
基础数学,计算机科学,经济学这都是华而不实的理论
如果不是搞research,就往他们的对立面去
统计,软件工程和金融都是他们的对立的应用面
当然这是我的选择,几个major都不是theoretical
话说回来,如果你真想phd,那得把分析算法几个好好学学,这个基础太重要了 |
c*****a 发帖数: 808 | 7 看的我想泪流啊,以前我都是学经济,后来估计找不到工作最后留多一年double major
学统计的,现在就想学好一点计算机语言帮助找stat的工作。
昨晚跟父母聊了一下,他们说谁家的某某读经济又找到工作了,催我找工作。女朋友一
直催我结婚。我昨晚又做了个梦,怕phd还没出来,父母都老了,自己都做爸了。现在
就想快快工作。
问一下这些课需要学吗,软件工程,工作目的
Computer Architecture
Introduction to Systems Programming <---这个应该重要吧
Compiler Design
Data Communications and Networking
Operating Systems |
z****e 发帖数: 54598 | 8 把compiler design扔掉
你这辈子几乎不可能会去写编译器
能从事这个,怎么说也是只小牛了
computer architecture也没什么必要去学,但是基础概念又比较重要
system programming说的是os那些编程吧
其实我也觉得可以不用学,system层面只需要会用就可以了
能写系统软件的也都不简单,这几门课都偏硬
其实operating system也偏硬,就是不懂老师会上到什么程度
同样一门课,可以讲得很深很变态很理论,也可以说得很简单
而且吊诡的是,越深越不好找工作,越简单的反而越有利于找工作
因为太过于理论的东西,一来难度高,门槛高,能参与的人不多
二来前人也做好了不少铺垫,后来人可以发挥的空间有限
你可以参考一下你们学校本科生的software engineering的课程
尤其是cs给其它系的minor
一般大学本科都会有这个minor in software engineering
major
【在 c*****a 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 看的我想泪流啊,以前我都是学经济,后来估计找不到工作最后留多一年double major : 学统计的,现在就想学好一点计算机语言帮助找stat的工作。 : 昨晚跟父母聊了一下,他们说谁家的某某读经济又找到工作了,催我找工作。女朋友一 : 直催我结婚。我昨晚又做了个梦,怕phd还没出来,父母都老了,自己都做爸了。现在 : 就想快快工作。 : 问一下这些课需要学吗,软件工程,工作目的 : Computer Architecture : Introduction to Systems Programming <---这个应该重要吧 : Compiler Design : Data Communications and Networking
|
c*****a 发帖数: 808 | 9 zhaoce, 感谢万分了!!!
基本上确定大概要上12堂CS课了+10堂统计课+1数学。这个list是看了你的建议后,我
选择要修的课。2年时间可以搞定。毕业后可以拿到computational statistics的ms
degree...感觉不伦不类。
很感谢你的提议。
这些课程可行吗?
本科科目
Introduction to Computer Science II/III (required)
Computer Organization & Assembly Language Programming(required)
Introduction to Systems Programming
Data Structures & Algorithms (required)
Introduction to Object Oriented Programming and Design(required)
Database architecture
Software Engineering I/II
Software Testing & Quality Assurance
Web Site Development
grad lvl: Adv WWW Software Development
Adv Software Engineering
如果找不到喜欢的统计工作。修了这些课,可以去做android (ios) developer吗? 因
为我问了几个好朋友,他们那里开发手机软件,这2,3年一直在狂招entry码工,他们
做面试官。 是不是要修一下os, computer architecture 之类。 |
l*********s 发帖数: 5409 | 10 I think CS + Stat combo is awesome! |
|
|
z****e 发帖数: 54598 | 11 安桌不知道,我没有j2me等手机开发经验,这个我不太懂
我说的是j2ee这一大块的工作
我说的技术应用集中在银行,物流,航空等应用领域
就是大型的企业挨踢服务这一块,手机我不太懂,如果你想去搞安桌
那我也不知道要选什么课,不过你去搞安桌的话,统计就基本无用了
统计这个东西公司越大越有发挥的空间,如果是在其它行业的技术应用的话
你的list差不多了,可以把数据库和数据仓库好好搞搞
因为data mining本身就是跟统计知识有密切关系的部分
将来找工作的时候多投投银行的挨踢服务中心,那里应该对你的需求比较大
不是投行,不是矿工,是普通的商业银行,比如汇丰,花旗这种
【在 c*****a 的大作中提到】![](/moin_static193/solenoid/img/up.png) : zhaoce, 感谢万分了!!! : 基本上确定大概要上12堂CS课了+10堂统计课+1数学。这个list是看了你的建议后,我 : 选择要修的课。2年时间可以搞定。毕业后可以拿到computational statistics的ms : degree...感觉不伦不类。 : 很感谢你的提议。 : 这些课程可行吗? : 本科科目 : Introduction to Computer Science II/III (required) : Computer Organization & Assembly Language Programming(required) : Introduction to Systems Programming
|
z****e 发帖数: 54598 | 12 java也可以应用在手机上,但是j2me也就是精简版
安桌用的还不一样,是他们从sun挖人过去之后自己重新搞的一套
所以很像java但是又不完全一样,这个蛮讨厌的
所以这个新生事物我估计你在学校学不到什么来
这还是偏硬,可以直接问问他们面的人看重什么知识
你面前的路已经分道了,你要做选择了
我觉得搞cs和搞software engineering的区别还是明显的
cs偏软的就是software engineering,偏硬的就是ee,看你怎么搞了
现在分支越来越多,如果想转行的话,你把什么都学的结果就是什么都不会
cs要搞到偏数学也是完全可能的,比如捣腾算法那批人
所以有可能走错路,比如选了两个ee和stat的major
我就没觉得这两个有啥共通的地方,1+1有可能<2
如果你想去搞手机开发,我说的就没用了
最好问问其它有手机开发经验的人
我说的是如何结合统计和挨踢技术,毕竟这里是统计版
所以如何结合统计知识到挨踢技术上去也是我所看重的
这一块最顶用的就是大型企业公司的数据中心,数据仓库,数据挖掘这一块
数据中心也是挨踢服务中心的一个部分
其它的可以参考这个贴
http://www.mitbbs.com/article_t/CS/31197091.html
【在 c*****a 的大作中提到】![](/moin_static193/solenoid/img/up.png) : zhaoce, 感谢万分了!!! : 基本上确定大概要上12堂CS课了+10堂统计课+1数学。这个list是看了你的建议后,我 : 选择要修的课。2年时间可以搞定。毕业后可以拿到computational statistics的ms : degree...感觉不伦不类。 : 很感谢你的提议。 : 这些课程可行吗? : 本科科目 : Introduction to Computer Science II/III (required) : Computer Organization & Assembly Language Programming(required) : Introduction to Systems Programming
|
c*****a 发帖数: 808 | 13 大概知道怎么选了。每个quarter 4堂课,有些时候1stat + 3CS 会不会很heavy啊??
?有2个25左右的朋友读cs和ee,变轻度秃头了,好像未老先衰。
统计的课大概偏stat computing算法类。I think stat+cs做data mining is awesome
too. 我其实想修machine learning做data mining的。
我现在的local有2家tier1的大学加上2家州立大学1私立。我超级烂校毕业估计统计的
工作很难顺利找到。如果找不到合适统计(银行,marketing)类型,才找偏it的data
mining,实在不行才去朋友那里做android,他们说那里有3个月有薪培训,说把
undergrad的重要的课修了就行,招人很松。 美国是不是很看重undergrad的基础课程
的?
我们local这里有很多IT start up,看介绍data mining都是说要懂很多计算机语言,
算法和stat背景,要达到这要求好像很难啊. 看了你的贴,start up小公司是不是不太
注重算法.我的list都是偏软件工程的,好像和算法没什么关系啊。
其中一个例子:
Use machine learning, statistic, economics, and optimization to build and
improve ad targeting systems???
Strong grasp of algorithms and data structures; expertise in Python, Java,
or C++ ???
prefer background in Statistics
===========
最后,
Web Site Development
Adv WWW Software Development
这2堂课需要吗?貌似做网页的啊,我把Adv WWW Software Development改成Secure
Software Development是不是好点。 |
z****e 发帖数: 54598 | 14 因为ee很变态阿,天天跟机器打交道,很容易早衰
这也是为什么我坚决不碰硬件的主要原因
做软件还可以经常跟人哈拉一下,如果是搞硬件的
多数时候你面对的就是机器,除了直属领导,其他人不需要你去搭理
这个我受不了,我不喜欢天天面对着冰冷的机器,按我的性格会死人的
课程按学分来吧,一般来说一个学期15个学分比较合理
undergraduate的一般3学分一节课,graduate的是4+学分一堂课
而且senior undergraduate跟graduate经常一起上课
所以graduate也有可能有3学分的课
所以光说多少门课,不太好说
你找的data mining job description是不是有点问题阿?
怎么连ai领域的都要,这个也太过于智能了点
这是我找到的所谓data mining specialist的要求
很明显侧重在其它行业的知识和cs某些领域技术结合上
这里其它行业指的是会计和审计
cs技术主要还是sql以及几个主流数据库的了解上
并没有什么过份的要求
https://ultirecruit.intersourcing.ca/WAW5000/JobBoard/JobDetails.aspx?__ID=*
A431F8F029DC38A5
这是另外一个
也没有什么过份的要求阿,都是business知识要求和数据库的要求
http://www.workopolis.com/EN/job/13381210?uc=E12&cid=721%3A19L%
但是有一些data mining developer的工作岗位
这些要求c++,他们自己在开发工具
跟前面我说的偏重business应用不是一回事
这个有些深了,这个倒是有可能需要ai知识
好虫在cs版的意思不是说只有大公司才看重算法
是只有it的大公司,也就是搞研发的那几个大公司比较看重算法
it小公司还有其它行业的大公司,都不会过份看重算法
没有太大意义,算法是偏研究的人需要搞得透彻
因为不是只有大学才有research,挨踢里面很多专业大公司自己也有研发中心
但是我觉得如果你想结合起来,你不太可能去这些挨踢的大公司
比如你去google的可能性我就觉得很小很小
倒是银行什么很有可能招你进去
不管怎样,反正你算法都是必修了,就没什么好纠结的了
awesome
data
【在 c*****a 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 大概知道怎么选了。每个quarter 4堂课,有些时候1stat + 3CS 会不会很heavy啊?? : ?有2个25左右的朋友读cs和ee,变轻度秃头了,好像未老先衰。 : 统计的课大概偏stat computing算法类。I think stat+cs做data mining is awesome : too. 我其实想修machine learning做data mining的。 : 我现在的local有2家tier1的大学加上2家州立大学1私立。我超级烂校毕业估计统计的 : 工作很难顺利找到。如果找不到合适统计(银行,marketing)类型,才找偏it的data : mining,实在不行才去朋友那里做android,他们说那里有3个月有薪培训,说把 : undergrad的重要的课修了就行,招人很松。 美国是不是很看重undergrad的基础课程 : 的? : 我们local这里有很多IT start up,看介绍data mining都是说要懂很多计算机语言,
|
c******d 发帖数: 98 | 15 你上面那些课我都上过,我是CS本科研究生+ 统计研究生,我给你些我的建议吧
学CS,几门课是必须的:
1. JAVA /C# 任选一门。 这2门语言的语法结构都很像,差别很小,真正的差别在于
API,每个方向几年都是学不完的,JAVA这条路走的是开源,LINUX,或者大型商用系统
。C# 就是微软那个方向,主要是中小企业。职场上2者机会差不多,C# 开发成本更适
合中小企业。
2. 数据结构
这门课是我认为CS中最重要的,当然上面有些人也提到算法没用,事实上,这门课不学
,你在编程领域会很吃力,你不懂链表,不懂HASHTABLE,不懂tree,不懂基本的查找
方法,那你还真的是个农民工了,这门课是基础的基础,重要性甚于前面提到的JAVA/C#
3. 自学些LINUX命令,计算机网络课程不用仔细学,SOCKET之类的基本也用不到,现在
的API都很高层了,很少会让你用SOCKET通信,这基础上最好会配置基本的IIS或者
apache 网络服务器。
以上三门学透基本可以入职CS没问题了
至于统计,关键看你的定位,如果是定位做模型的,要学的可多了,但主要就是
1. 各种REG,比如logistics,linear等
2. 基本的分析方法,主成因分析,多元分析
3. SAS (至少1年)包括macro 编程以及SAS base的内容
上过这么多门课,让我说最有用的,就是数据结构,这门课里面的很多算法意义,现在
回过头来看,很多专业依然会讨论到,比如最短路径分析,树遍历。这门课应该是CS中
最难的。
C#/JAVA 老师教的就是入门水平,最关键是自己写代码,但你的代码要写的好,又要对
这个语言本身非常熟悉,比如垃圾回收机制,还有很多代码风格,都会影响效率。 |
c******d 发帖数: 98 | 16 关于data mining
现在做data mining的很多,但在我看来,一个普通的CS小硕+统计小硕,是没法handle
的。data mining的关键在于分析模型,如果有专门的人分析模型,你所做的工作只是
编程,那你至少也要会SAS 的data miner 或者 SSAS中的 mdx语言。这2个对于在读学
生都是冷门,学校也不怎么教。
所以,小硕出去的水平,离data mining还差一截呢,data mining不是使用工具点点,
然后弄个神经网络算法或者决策树算法,把数据集用一下就好,数据挖掘的本质是要先
理解数据,理解业务,创建模型先,这部分工作,在我看来,小硕后4年工作经验或者
统计PHD(还得有点经验的)才能做
学DATA MINING 就是浪费时间,上课学个皮毛而已,也用不到。现在市面上主要还是数
据分析的活 |
z****e 发帖数: 54598 | 17 差别很明显
我跟running123都比较看重网络和db的部分
而强调算法的则普遍不太看重这两个部分
跟我跟running 123工作经验有关,因为我们倒是觉得
算法这个东西,其实在高级语言层面已经没有太大意义了
太多的类可以现用了,我不认为那些类需要知道实现的原理才能用
事实上不懂算法的人一样用得好好的
就像数学的理论我不需要知道怎么证明一样可以用
同样的,我跟runing123也强调数据库的了解
这个不懂找工作的机会会少很多
要我说找到一个工作前三是
编程,网络和数据库
没有这三门课,想有个工作,机会会少很多
另外我是反对用c#上课的,不否认c#有些设计更合理
但是用微软的产品,多数是要给钱的,而且适用范围实在是有限
事实上你面对socket的机会可能不会很少
比如你要结合r跟java的协作的话,比如r在另外一台机器上的话
那你就很有可能要面对socket了,不过socket并不难
在编程课上会学到,当然如果你不会的话,sas会包办这些事情
说起来好像强调算法的人反而对商用软件很依赖
sas和c#都是别人的产品,要用的话,给钱,c#还捆绑windows
费用一个劲地往上蹭,r和java都是自己动手写
当你实际做项目的时候,面对着一堆的类和产品的时候
你不会去在意他们是如何实现哪个算法的,而会在意他们的差别
就像hashtable,你要我现在在工作中用hashtable
我一定不会去重新写一个出来,我会直接用hashmap类
不要重复造轮子,算法再好,封装起来直接用
不需要员工知道hashtable是怎么实现的,只要他们知道怎么用就行
更深一步知道为什么现在都用hashmap而不是hashtable
这都没有涉及到如何实现hashtable
在面试中知道hashmap和hashtable的差异远比hashtable如何实现的要重要
而知道怎么用和差异我不认为需要学习算法后才知道
当然学过算法后肯定知道,但是并不代表不学算法就不会用了,这不可能
这可能是cs和software engineering的差别
我毕竟是software engineering出生,对于应用的侧重明显高于理论
当然有些人会说,不懂算法一辈子都是码工
事实上在software engineering,我们不会强调algorithm
会强调design pattern,algorithm是cs的概念
design pattern就是software engineering的概念
engineering里面同样可以有高级职位
我也不认为那些人会记得多少算法
算法很多都是理论的玩意,就跟数学理论一样
证明起来,搞死人,但是如果只是用的话
你完全不需要知道它是怎么实现的
如果你现在砌砖,是个民工,你就算知道了烧砖的化学反应原理又能怎样?
还不如老老实实砌好砖当个工头,而这个工头就是构架师了
构架师多数就是从码工爬上去的
而这帮人多数都会忘记他们大学时候学的算法
在it领域还有很多ee等行业毕业的学生
我可不认为他们懂得多少算法
我看了下我们学校本科ee的课程
data structure&algothrim他们是不用上的
也就是对于他们来说,算法不是必修课
他们不少人做工头一样做得好好的
当然懂和不懂有定义上的区别,知道如何实现是真正的懂
知道如何去用,那是另外一个层面的懂,前者是数学,后者是工程
前者是研究,后者是应用,前者是算法,后者是模式
发信人: running123 (running123), 信区: CS
标 题: Re: 有哪些it企业招非cs专业的?
发信站: BBS 未名空间站 (Mon Sep 19 12:23:21 2011, 美东)
编译原理可以去掉。把数据库和网络加上。这两个是太重要了。 |
l***a 发帖数: 12410 | 18 多谢,看你们(包括楼上几位)的讨论很有意思。这样有理有据有解释的阐述,对需要
的人是真正有帮助的
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 差别很明显 : 我跟running123都比较看重网络和db的部分 : 而强调算法的则普遍不太看重这两个部分 : 跟我跟running 123工作经验有关,因为我们倒是觉得 : 算法这个东西,其实在高级语言层面已经没有太大意义了 : 太多的类可以现用了,我不认为那些类需要知道实现的原理才能用 : 事实上不懂算法的人一样用得好好的 : 就像数学的理论我不需要知道怎么证明一样可以用 : 同样的,我跟runing123也强调数据库的了解 : 这个不懂找工作的机会会少很多
|
l*********s 发帖数: 5409 | 19 Re, a coder position is actually very accessible for non-CS majors. The
only real concern is whether you will enjoy it.
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 差别很明显 : 我跟running123都比较看重网络和db的部分 : 而强调算法的则普遍不太看重这两个部分 : 跟我跟running 123工作经验有关,因为我们倒是觉得 : 算法这个东西,其实在高级语言层面已经没有太大意义了 : 太多的类可以现用了,我不认为那些类需要知道实现的原理才能用 : 事实上不懂算法的人一样用得好好的 : 就像数学的理论我不需要知道怎么证明一样可以用 : 同样的,我跟runing123也强调数据库的了解 : 这个不懂找工作的机会会少很多
|
c*****a 发帖数: 808 | 20 真的很感激啊。我这外行人知道大概怎么选择课程了。我老师也跟我说data structure
这堂课很重要,如果想转grad school,一定要学这节课。
现在就纠结要不要读这几堂
Programming Language Concepts
Web Site Development
computer architecture
operating system
如果做software engineer软件工程师,需要读这几堂吗。 |
|
|
c****x 发帖数: 6601 | 21 就像学金融的,多学些应用数学比较实用,类似什么数值分析(比较好的课会叫你写代
码的),工程矩阵,什么随机过程之类的课。数学分析一听就太理论了。多篇一点数值
计算和统计计算的会好一点。
计算机的课,应该多选一些有project的课吧。
感觉楼主这样选课有点伤米啊。
数据结构是必须要学的,而且要花时间的。但是现在很多用MIT那本书的算法课,只要
求写伪代码。这个就没意思了,如果想学的话,也要找几本有代码可以参考的算法教材。
而且,introduction of computer science,还分2和3? 讲啥的:C++还是离散数学?
如果没有project的课,尽量不要选。蹭课旁听,找选课的人要作业。甚至在家自己就
可以找书解决这两个问题。
很多讲required的,比如第一学期自己搞一搞,第二学期和指导老师说学过了。如果不
是很死板的话,应该可以省掉。把这些伤钱的去掉。省下来的钱可以补一些必要的基础
课。
software Eng,OS,Network,Computer Archi;很多课都是分不同等级的。基本上本
着选Level 1的课的原则。CA1 还是最好上一下。有的地方OS还分OS1,OS2,
distribute OS;网络也有一样。
选了1之后,本着有project,不理论,自己感兴趣的;再补充几门深度课,这样就教合
理。 |
c****x 发帖数: 6601 | 22 Programming Language Concepts
这个有点水,肯定没项目。即使是required,也最好避开。一堂很抽象的课,对各种编程语言的高屋建瓴的抽象总结吧。
Web Site Development
这个也太职业培训的意味。 |
A*******s 发帖数: 3942 | 23 我来唱个小小的反调吧. 作为一个转行的统计小硕,俺觉得趁着在校的机会,还是得多上
几门统计理论课。应用的东西很多,在学校只能学最基本的,大部分还是到工作中现学
现用。要是有理论基础了,自学应用的东西会很快。但自学理论基本是吃饱了撑的...
比如说前几天有同事问我,survival model和一般的logistic哪个更好,这个问题很实
际吧。我大概是知道比较不同情况下(比如说不同的censored time)的efficiency。但
是没怎么学过large sample theory,俺就很难有啥深刻的理解了。随手翻出一本
empirical process and semiparametric inference,自信心随着页数强收敛于0啊。
sigh,少壮不读书老大徒伤悲...
当然了,统计模型的很多性质都可以有非常直观的理解,有经验的statistician 该知
道的都能知道。问题还是在这个efficiency上面--理论功底好的人可能一碰到实际问题
就能联系理论,理论不好的人只能靠勤奋和时间来弥补了。 |
m********l 发帖数: 791 | |
C***Y 发帖数: 1323 | 25 前年ibm组里碰上一小印,因为他有个程序报错领导让我去帮忙,一看错误报Token xxx
,我就明白是他找不到编译器的位置(因为有些script语言需要第一行定位compiler在
哪里找)。原来加拿大本科毕业的小印看起来没有学过compiler这课,或是没学好,真
不知道他怎么找进来的,难道是口才好会brag?他自己在组里就说他对着客户能说3个
小时。 |
s******r 发帖数: 1524 | 26 看做什么了吧。如果一门心思统计为主业,精研各种model,多学理论自然很有必要。如
果只是把统计当敲门砖,当个工具,就需要多了解一些其他东西了,毕竟精力是有限的。
career path 不同,选择也不同。
【在 A*******s 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我来唱个小小的反调吧. 作为一个转行的统计小硕,俺觉得趁着在校的机会,还是得多上 : 几门统计理论课。应用的东西很多,在学校只能学最基本的,大部分还是到工作中现学 : 现用。要是有理论基础了,自学应用的东西会很快。但自学理论基本是吃饱了撑的... : 比如说前几天有同事问我,survival model和一般的logistic哪个更好,这个问题很实 : 际吧。我大概是知道比较不同情况下(比如说不同的censored time)的efficiency。但 : 是没怎么学过large sample theory,俺就很难有啥深刻的理解了。随手翻出一本 : empirical process and semiparametric inference,自信心随着页数强收敛于0啊。 : sigh,少壮不读书老大徒伤悲... : 当然了,统计模型的很多性质都可以有非常直观的理解,有经验的statistician 该知 : 道的都能知道。问题还是在这个efficiency上面--理论功底好的人可能一碰到实际问题
|
A*******s 发帖数: 3942 | 27 你说的有道理.
不过话说回来统计MS的课其实也没啥选择余地的,随随便便选几门两年就过去了...而且
即使是偏应用的课也没啥针对性。要这样还不如趁在校的时候多学点理论。
当然,学SAS,SQL,VBA,scripting总是能用得上,但是一般老师也不教这个
的。
【在 s******r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 看做什么了吧。如果一门心思统计为主业,精研各种model,多学理论自然很有必要。如 : 果只是把统计当敲门砖,当个工具,就需要多了解一些其他东西了,毕竟精力是有限的。 : career path 不同,选择也不同。
|
C******y 发帖数: 2007 | 28 学java有啥用,哥进统计这行前是多年的java码农,会这玩意,不能担保以后工作中肯
定用不上,但是基本是没用的。就算恰好需要一些java coding的工作,也可以另找人
做。你吃饭的家伙还是你的主业统计,统计的理论和应用都精通了,其他都好说。 |
z****e 发帖数: 54598 | 29 我觉得很多时候是贵精不贵多,两年如果专心捣腾一门语言
足够成为专家了,我们学校是这样
一般来说,只要是统计课,不管多基础的统计课
老师都会想办法把r language结合进去讲
而且学校经常把这些课搞成必修课,强迫学生动手实践编程
从最基础的统计课Principles of Statistics 1就开始介绍r language
从最基础的计算机Introduction to Computing 1就开始用java上
这里越是基础的课程,越是大多数系要上的必修课,比如我刚说的两门
越是跟实践结合得紧密,国内是没有这两门课的
直接跳到概率统计和面向对象程序设计
而这两门课是不会让外系的人大规模选修的
这样就造成了本来大规模广泛应用的编程没有及时推广开来
反而把资源浪费在c这种语言上,不是说c不重要
是外行几乎用不到c去写程序
r跟java才是真正的好东西,发挥个人创造力的工具
sas和.net还有sap一样,那都是别人的产品
别人产品当然好用,人家就是靠卖这个吃饭的
大多数软件产品是尽量傻瓜化的,因为操作越简单,群众越喜欢
但是用别人的产品是要上税的,是要给钱的
这个还真不太好说将来一定用得到,因为当你面对一个空白的时候
从无到有的时候,r跟java会帮得上大忙,尤其是在start up公司做的时候
或者是当你自己创业的时候,是没有资金去给大公司上税的
更要命的是,软件产品是学不完的,今天学了sap,明天oracle来了新产品
你又得去适应新产品,sas是一个公司,万一哪一天经营不善,破产了怎么办?
这些产品始终都面对着开源的竞争,开源的力量说小也不小了
因为开源产品是瘟疫,一旦推广开来,就不会再有人去给类似的产品上税了
有了免费的为什么还要用付费的?钱剩得太多了么?
就像现在我们有了免费的firefox,哪天ie说要收费,有人会去买么?
大公司自己会做一定的博弈,他们不会花时间和精力去给开源的东西做广告
所以眼花缭乱的都是各种产品,什么c#,.net,sas,sap etc.
满大街的广告,但是就像千里马总是需要伯乐去发掘一样
真正的好东西往往躲在角落里,需要你去发掘,而且做伯乐需要技巧
你得懂得教育它们,毕竟它们不是傻瓜化的产品
开源产品才是体现能力的地方
因为多数时候需要你自己去写程序,也正是因为如此
才使得个人对于这些产品的驾驭能力提升,就更灵活地处理现实问题
比如很简单,数据库对r的连接支持就比较少
有mysql的支持,oracle也刚支持了
其它不行,比如firebird就不行,那怎么办?
如果你懂java,事情就很简单,因为r和绝大多数的数据库
都有java的连接,用java做一个中介,连起来就行了
同样问题在产品上就经常冲突,比如c#怎么跟sas对接?很难
因为这是不同公司的产品,不同公司往往不会互相合作,因为利益冲突
尤其是在某些领域有直接竞争关系的公司
多数产品还是不开源的
因为一旦开源,人家直接抄了去,开源就意味着免费
那如果你对某个人家的方法很有兴趣,那你都不知道人家是怎么实现的
你就算有兴趣,你怎么研究里面的算法和理论?
所以不要去学产品,学不完的
一两年时间说少也少,一晃就过去了,但是如果目标明确
其实是可以学很多东西的,至少熟练掌握一门语言没问题
可以参考r在大多数统计课中的应用
java就完全可以结合到绝大多数计算机课程中去
比如数据库,一般数据库教的就是sql那一套
但是可以自己结合java去学,java是如何驾驭数据库的
如何通过java来执行sql语句,jdbc咯
更高级一点可以到hibernate,这在工作中是很现实也很常见的问题
再比如web编程,java如何结合进去?很简单阿,jsp,tomcat
直接搭建一个起来,再比如os,学unix,linux的时候
就可以想想java是怎么在unix上安装运行的
有什么ide可以用,tomcat or jboss怎么在unix上跑起来
这都是在工作中每天都会遇到的问题
编程语言这个东西完全就是工具,不存在难不难的问题
但是有熟练不熟练的问题,唯一需要做的就是花时间练习
当然我这么说的前提是,你愿意花时间和精力去练习编程
否则,你还是多学点产品吧
java就是一扇门,我的感觉就是打开这扇门,我跟全世界连了起来
当然还是有其不足的地方,就是大规模数据,建模这一块有些力不从心
而r很好地弥补了这个缺陷,r里面一堆现成的统计方法是我所觊觎的 |
z****e 发帖数: 54598 | 30 我要是你,我不学那么多,学了干嘛,反正也用不到
我也不学那么多理论,理论没那么简单,真正的理论最好是从数学分析开始打基础
转行的从数分开始学的话……
我就学好r,然后用这个包
http://cran.r-project.org/web/packages/actuar/index.html
【在 A*******s 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 你说的有道理. : 不过话说回来统计MS的课其实也没啥选择余地的,随随便便选几门两年就过去了...而且 : 即使是偏应用的课也没啥针对性。要这样还不如趁在校的时候多学点理论。 : 当然,学SAS,SQL,VBA,scripting总是能用得上,但是一般老师也不教这个 : : 的。
|
|
|
s******r 发帖数: 1524 | 31 graduate?
Why R? If you already know SAS, it is not bad idea to learn SAS.
SAS is much more popular than R even it is stupid.
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我要是你,我不学那么多,学了干嘛,反正也用不到 : 我也不学那么多理论,理论没那么简单,真正的理论最好是从数学分析开始打基础 : 转行的从数分开始学的话…… : 我就学好r,然后用这个包 : http://cran.r-project.org/web/packages/actuar/index.html
|
z****e 发帖数: 54598 | 32 1. money
r u gonna pay for my SAS?
2. integration
how to integrate SAS to existed other systems?
e.g. i have a database called firebird, how can u get the data from firebird
and input those data into SAS?
3. other services
using SAS as my only appserver? i dont think so
it sucks in terms of being as a webserver or appserver
i want much more than that
4. third party support
tell me if i want actuary package, where i can find the package for that?
or other packages like finance package?
5. mac version
no such thing
6. popularity means nothing to me
cooperation is the key
【在 s******r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : graduate? : Why R? If you already know SAS, it is not bad idea to learn SAS. : SAS is much more popular than R even it is stupid.
|
A*******s 发帖数: 3942 | 33 if u wanna do some decent research and propose something new in academy, yes
u r right, u need a very solid understanding of analysis, measure,
probability, math stats, linear models, asymptotics, decision theory, stat
learning theory...
but my point is how to digest new things efficiently. or put it simply, to
be able to read papers in top journals, to understand new skills in a week..
. then u don't have to start with analysis. if u look at some decent stat
PhD programs they don't even need analysis or measure as a prerequisite.
have a good, if not deep, understanding on prob theory, math stat, linear
models theory is feasible for a MS student. if he/she has time, more
theoretic courses are definitely doable and beneficial.
My point is, most parts in applied courses taught in school are just waste
of ur time... say a very popular text "Applied Linear Statistical Models" by
Kutner and Neter, if my memory serves me right it mentions F-test in four
different places in the book and u will be taught four times in the class...
why don't they just teach me why F-stat follows F distribution, what is the
connection with T test, or likelihood ratio test, what is the root of non-
centrality...Those theories are not difficult at all but they won't do that
and just tell u to memorize the formula, four times!!!
so, why not learning more theory?
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我要是你,我不学那么多,学了干嘛,反正也用不到 : 我也不学那么多理论,理论没那么简单,真正的理论最好是从数学分析开始打基础 : 转行的从数分开始学的话…… : 我就学好r,然后用这个包 : http://cran.r-project.org/web/packages/actuar/index.html
|
s******r 发帖数: 1524 | 34 1. money
r u gonna pay for my SAS?
Company should pay for it unless you do your own research. I do not have SAS
installed on my personal computer.
2. integration
how to integrate SAS to existed other systems?
e.g. i have a database called firebird, how can u get the data from firebird
and input those data into SAS?
SAS support lots of system, like orale, teradata, sql server, DB2. If it is
a company database, there should be some engine to handle it. For very
unpopular database, I do not want to waste time on it unless I have to use
it.
3. other services
using SAS as my only appserver? i dont think so
it sucks in terms of being as a webserver or appserver
i want much more than that
R is the server?
4. third party support
tell me if i want actuary package, where i can find the package for that?
or other packages like finance package?
I have no clue of it.
5. mac version
no such thing
I use whatever computer company gave me. So I do not worry about IT support
issue. Also for mac, I think it is not for work, it is just something for
fun.
6. popularity means nothing to me
cooperation is the key
popularity means much chance and chance is the king in job market.
Sounds you like to do all job by yourself on your personal computer. It
would never happen in any public company. If you are a big niu, ignore all
my comments.
firebird
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 1. money : r u gonna pay for my SAS? : 2. integration : how to integrate SAS to existed other systems? : e.g. i have a database called firebird, how can u get the data from firebird : and input those data into SAS? : 3. other services : using SAS as my only appserver? i dont think so : it sucks in terms of being as a webserver or appserver : i want much more than that
|
l*********s 发帖数: 5409 | 35 For non-diskbound problems, coding in R is much more efficient than SAS.
【在 s******r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : graduate? : Why R? If you already know SAS, it is not bad idea to learn SAS. : SAS is much more popular than R even it is stupid.
|
s*****9 发帖数: 108 | 36 多做点project,多应用,语言这东西多写写就会了。。别太看重成绩,基本的概念、
方法弄明白了最重要。 |
c*****a 发帖数: 808 | 37 one reason I want to take some CS classes is because the 我现在读的MS
program很水。
most students do not know much stat before coming here. they come from all
background.
我跟chair说过这个问题,他说没办法。他也是我校友,知道这烂校MS第一年的课其实
都我其实已经学过,以前的学校的theory class就是grad lvl的,以前老毛子老师教得
还deeper过现在ms program的。
但他也说了
"learning theory does not get you a job" |
A*******s 发帖数: 3942 | 38 我对CS懂得不多,但是觉得computer engineering是早就成熟的东西,学校教的应用的
大概都能在业界用得上,所以修点CS的应用课程是肯定没错的。
统计呢,我的感觉是业界(bank, insurance, consulting)没啥统一标准,原因一是不
少中高层都是商科出身,自己不大了解modeling也不重视,当然就乱搞;其次,现实数
据乱七八糟,客户需求五花八门,科班出身有时候也束手无策,只好也睁一只眼闭一只
眼。学界这样一来也不知道业界要用啥,老师教学生应用的东西自然求多求全,只是不
求甚解... 就像我之前说的,同一个F test能教上四遍...所以说,统计的应用课程其
实很坑爹,你学的大多在工作用不上,和理论课也没啥区别了...
当然了,这也看老师。有的老师在外面兼职consulting的,虽然研究一般,但是讲课一
流。这样的课自然对找工作有帮助。
俺刚入行不久,只是发个牢骚。你若是受误导了找不到工作可别怪我 :)
btw 你要是科班出身,直接选PhD level的课啊
【在 c*****a 的大作中提到】![](/moin_static193/solenoid/img/up.png) : one reason I want to take some CS classes is because the 我现在读的MS : program很水。 : most students do not know much stat before coming here. they come from all : background. : 我跟chair说过这个问题,他说没办法。他也是我校友,知道这烂校MS第一年的课其实 : 都我其实已经学过,以前的学校的theory class就是grad lvl的,以前老毛子老师教得 : 还deeper过现在ms program的。 : 但他也说了 : "learning theory does not get you a job"
|
s******r 发帖数: 1524 | 39 很多模型都是看上去很美,实际很多时间都要花在数据的整理上。尤其是bank,noise太
多。比如说你做luxury auto mortgage model, 2008的数据肯定一塌糊涂,2009恢复但
也不好看。怎么办?人为调整?把年份前移到稳定为止?这里你人为的判断,调整已经
比什么模型都重要了。
consultant,很多时候他们不关心数据质量,硬套模型,反正也不是他们的问题。他们
最大的作用都是拿来糊弄auditor。但拿出去吹还不错,所以一边蛋疼着,一边还要用。
【在 A*******s 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我对CS懂得不多,但是觉得computer engineering是早就成熟的东西,学校教的应用的 : 大概都能在业界用得上,所以修点CS的应用课程是肯定没错的。 : 统计呢,我的感觉是业界(bank, insurance, consulting)没啥统一标准,原因一是不 : 少中高层都是商科出身,自己不大了解modeling也不重视,当然就乱搞;其次,现实数 : 据乱七八糟,客户需求五花八门,科班出身有时候也束手无策,只好也睁一只眼闭一只 : 眼。学界这样一来也不知道业界要用啥,老师教学生应用的东西自然求多求全,只是不 : 求甚解... 就像我之前说的,同一个F test能教上四遍...所以说,统计的应用课程其 : 实很坑爹,你学的大多在工作用不上,和理论课也没啥区别了... : 当然了,这也看老师。有的老师在外面兼职consulting的,虽然研究一般,但是讲课一 : 流。这样的课自然对找工作有帮助。
|
c*****a 发帖数: 808 | 40 Theory of Automata这课 ?
what is this
"
Regular languages
Context-free languages
Recursive and Recursively Enumerable Languages
Turing machine languages
"
是不是就是教 scripting languages Powershell, Bash or Perl? |
|
|
c******d 发帖数: 98 | 41 其实,开发成本而言,微软那套是最便宜的,JAVA那套都是大型系统,一般是有专门服务
器的. 另外你说到R,如果是你用来自己写代码玩的,强调手工操作,那是没错,但大
多数商业系统都是用SAS,这是毫无疑问的。
我也是学软件工程的,软件工程强调软件的工程性,换句话说,讲究对系统的分析,以
及项目规划,强调UML图,强调设计的成本等,但本质和CS基本没啥区别,因为你就算
软工出来的,前期进去也只是个小程序员,和CS出去的没啥区别。
如果要说我给楼主的建议,就是,一门技术学到头,你就能成为牛人,什么都学点的,
得有机会才能出头。
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 差别很明显 : 我跟running123都比较看重网络和db的部分 : 而强调算法的则普遍不太看重这两个部分 : 跟我跟running 123工作经验有关,因为我们倒是觉得 : 算法这个东西,其实在高级语言层面已经没有太大意义了 : 太多的类可以现用了,我不认为那些类需要知道实现的原理才能用 : 事实上不懂算法的人一样用得好好的 : 就像数学的理论我不需要知道怎么证明一样可以用 : 同样的,我跟runing123也强调数据库的了解 : 这个不懂找工作的机会会少很多
|
s******r 发帖数: 1524 | 42 zan.
一门技术学到头,你就能成为牛人,什么都学点的,
得有机会才能出头。
【在 c******d 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 其实,开发成本而言,微软那套是最便宜的,JAVA那套都是大型系统,一般是有专门服务 : 器的. 另外你说到R,如果是你用来自己写代码玩的,强调手工操作,那是没错,但大 : 多数商业系统都是用SAS,这是毫无疑问的。 : 我也是学软件工程的,软件工程强调软件的工程性,换句话说,讲究对系统的分析,以 : 及项目规划,强调UML图,强调设计的成本等,但本质和CS基本没啥区别,因为你就算 : 软工出来的,前期进去也只是个小程序员,和CS出去的没啥区别。 : 如果要说我给楼主的建议,就是,一门技术学到头,你就能成为牛人,什么都学点的, : 得有机会才能出头。
|