文科生想成为 iOS 开发者需要学习哪些知识?从一无所知到精通大概需要多长时间?

166


刘虓震
闻过则喜,见贤思齐

166 票,来自  谢耀冯骁马召  更多
最近有三个相关问题都是你问的吧?我刚在其中一个回复了。现在重定向到这里来⋯⋯

正好我也在从头学iOS开发,一点个人理解供参考:

斯坦福大学有公开免费的iOS开发课程CS193P,上课视频、讲义、作业一应俱全。
这门课程的预修要求是另外两门课:CS106A/CS106B. 
这三门课的视频都有中文字幕。可惜并不全,后面会详细讲。如果你的英文程度足够好,当然就无所谓中文字幕了。

CS106A即编程方法学,该课无预修要求,是斯坦福大学的校选修课。非理工科学生也可选。第一堂课老师说:你只要知道如何开关机就能学这门课。既然你能上知乎,我想学这门课应该没有问题了。
网易公开课: v.163.com/special (28集中文字幕全)
斯坦福公开资料: see.stanford.edu/see/course

CS106B即抽象编程,该课的预修要求是CS106A. 所以上完前面一门课继续上这门就可以了。不过这门课的中文字幕迟迟没有翻译完成。
网易公开课: v.163.com/special(27集翻译至第8集)
斯坦福公开资料: see.stanford.edu/see/course

斯坦福推荐在修CS193P之前最好再修一门CS107编程范式:
see.stanford.edu/see/course
目前没有看到公开的中文字幕,但是人人影视去年招募志愿者翻译,看情况已经在进行中了:
yyets.com/thread-2
等你学完前两门课,可能他们也能把这门课翻译个八九不离十吧。 

CS193P在网易公开课上也有字幕,但是是针对iOS4.0版本的。斯坦福去年已经推出针对iOS5.0版本的课程。幸运的是,CocoaChina上有人自己在翻译,目前译到第12课。
CocoaChina中英字幕版: cocoachina.com/bbs/read
斯坦福公开资料: stanford.edu/class

CS193P学完以后,你肯定能自己制作出有意义的iOS App并将其上架了。但是要成为真正的iOS developer,个人认为还是有一定距离。做一个高效的,具备商业价值的编程人员,至少要懂一点算法。如果做个人开发者,还要略懂美工和市场推广。这里只谈算法部分。

MIT公开课里有一门算法导论,也有上课视频:
v.163.com/special (24集译至第7集)
官方课程页面: ocw.mit.edu/courses

但是在修这门算法导论之前需要掌握一定的数学知识,主要是离散数学。对此MIT公开课里有专门的一门Mathematics for Computer Science. 
ocw.mit.edu/courses
这门课没有上课视频,并且毕竟是数学课,很抽象,所以学起来要吃力些。好在该课程的阅读材料,讲义和作业也有中文翻译。在上面的网页中,左侧有个“简体字”链接,点进去就可以看到了。

至于需要多长时间:
国外大学的课程一般是这样的:每一个课时需要三倍的课下学习时间。以CS106A为例,28个课时,上课本身加课下学习时间,大约是84小时。如果要学完最低限度的三门课,约250小时。如果要学完上述全部七门课,大约是590小时。根据以上的计算方式和自己每天可以投入的学习时间,相信你可以自己算出来需要多长时间。

当然,这是对一般的美国大学本科生而言的(而且是斯坦福和麻省理工的学生⋯⋯)。如果你的英文程度不够好,对这些课又没有任何基础,同时还没有同学和助教的帮助(对于这些较基础的课程,学校全程配备助教,每周面对面辅导),可以想见会需要更多时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值