刘虓震,闻过则喜,见贤思齐
最近有三个相关问题都是你问的吧?我刚在其中一个回复了。现在重定向到这里来⋯⋯
正好我也在从头学iOS开发,一点个人理解供参考:
斯坦福大学有公开免费的iOS开发课程CS193P,上课视频、讲义、作业一应俱全。
这门课程的预修要求是另外两门课:CS106A/CS106B.
这三门课的视频都有中文字幕。可惜并不全,后面会详细讲。如果你的英文程度足够好,当然就无所谓中文字幕了。
CS106A即编程方法学,该课无预修要求,是斯坦福大学的校选修课。非理工科学生也可选。第一堂课老师说:你只要知道如何开关机就能学这门课。既然你能上知乎,我想学这门课应该没有问题了。
网易公开课: http://v.163.com/special/programming/ (28集中文字幕全)
斯坦福公开资料: http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111
CS106B即抽象编程,该课的预修要求是CS106A. 所以上完前面一门课继续上这门就可以了。不过这门课的中文字幕迟迟没有翻译完成。
网易公开课: http://v.163.com/special/opencourse/abstractions.html(27集翻译至第8集)
斯坦福公开资料: http://see.stanford.edu/see/courseinfo.aspx?coll=11f4f422-5670-4b4c-889c-008262e09e4e
斯坦福推荐在修CS193P之前最好再修一门CS107编程范式:
http://see.stanford.edu/see/courseinfo.aspx?coll=2d712634-2bf1-4b55-9a3a-ca9d470755ee
目前没有看到公开的中文字幕,但是人人影视去年招募志愿者翻译,看情况已经在进行中了:
http://www.yyets.com/thread-284396-1-1.html
等你学完前两门课,可能他们也能把这门课翻译个八九不离十吧。
CS193P在网易公开课上也有字幕,但是是针对iOS4.0版本的。斯坦福去年已经推出针对iOS5.0版本的课程。幸运的是,CocoaChina上有人自己在翻译,目前译到第12课。
CocoaChina中英字幕版: http://www.cocoachina.com/bbs/read.php?tid=88801
斯坦福公开资料: http://www.stanford.edu/class/cs193p/cgi-bin/drupal/
CS193P学完以后,你肯定能自己制作出有意义的iOS App并将其上架了。但是要成为真正的iOS developer,个人认为还是有一定距离。做一个高效的,具备商业价值的编程人员,至少要懂一点算法。如果做个人开发者,还要略懂美工和市场推广。这里只谈算法部分。
MIT公开课里有一门算法导论,也有上课视频:
http://v.163.com/special/opencourse/algorithms.html (24集译至第7集)
官方课程页面: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/
但是在修这门算法导论之前需要掌握一定的数学知识,主要是离散数学。对此MIT公开课里有专门的一门Mathematics for Computer Science.
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-spring-2005/index.htm
这门课没有上课视频,并且毕竟是数学课,很抽象,所以学起来要吃力些。好在该课程的阅读材料,讲义和作业也有中文翻译。在上面的网页中,左侧有个“简体字”链接,点进去就可以看到了。
至于需要多长时间:
国外大学的课程一般是这样的:每一个课时需要三倍的课下学习时间。以CS106A为例,28个课时,上课本身加课下学习时间,大约是84小时。如果要学完最低限度的三门课,约250小时。如果要学完上述全部七门课,大约是590小时。根据以上的计算方式和自己每天可以投入的学习时间,相信你可以自己算出来需要多长时间。
当然,这是对一般的美国大学本科生而言的(而且是斯坦福和麻省理工的学生⋯⋯)。如果你的英文程度不够好,对这些课又没有任何基础,同时还没有同学和助教的帮助(对于这些较基础的课程,学校全程配备助教,每周面对面辅导),可以想见会需要更多时间。
正好我也在从头学iOS开发,一点个人理解供参考:
斯坦福大学有公开免费的iOS开发课程CS193P,上课视频、讲义、作业一应俱全。
这门课程的预修要求是另外两门课:CS106A/CS106B.
这三门课的视频都有中文字幕。可惜并不全,后面会详细讲。如果你的英文程度足够好,当然就无所谓中文字幕了。
CS106A即编程方法学,该课无预修要求,是斯坦福大学的校选修课。非理工科学生也可选。第一堂课老师说:你只要知道如何开关机就能学这门课。既然你能上知乎,我想学这门课应该没有问题了。
网易公开课: http://v.163.com/special/programming/ (28集中文字幕全)
斯坦福公开资料: http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111
CS106B即抽象编程,该课的预修要求是CS106A. 所以上完前面一门课继续上这门就可以了。不过这门课的中文字幕迟迟没有翻译完成。
网易公开课: http://v.163.com/special/opencourse/abstractions.html(27集翻译至第8集)
斯坦福公开资料: http://see.stanford.edu/see/courseinfo.aspx?coll=11f4f422-5670-4b4c-889c-008262e09e4e
斯坦福推荐在修CS193P之前最好再修一门CS107编程范式:
http://see.stanford.edu/see/courseinfo.aspx?coll=2d712634-2bf1-4b55-9a3a-ca9d470755ee
目前没有看到公开的中文字幕,但是人人影视去年招募志愿者翻译,看情况已经在进行中了:
http://www.yyets.com/thread-284396-1-1.html
等你学完前两门课,可能他们也能把这门课翻译个八九不离十吧。
CS193P在网易公开课上也有字幕,但是是针对iOS4.0版本的。斯坦福去年已经推出针对iOS5.0版本的课程。幸运的是,CocoaChina上有人自己在翻译,目前译到第12课。
CocoaChina中英字幕版: http://www.cocoachina.com/bbs/read.php?tid=88801
斯坦福公开资料: http://www.stanford.edu/class/cs193p/cgi-bin/drupal/
CS193P学完以后,你肯定能自己制作出有意义的iOS App并将其上架了。但是要成为真正的iOS developer,个人认为还是有一定距离。做一个高效的,具备商业价值的编程人员,至少要懂一点算法。如果做个人开发者,还要略懂美工和市场推广。这里只谈算法部分。
MIT公开课里有一门算法导论,也有上课视频:
http://v.163.com/special/opencourse/algorithms.html (24集译至第7集)
官方课程页面: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/
但是在修这门算法导论之前需要掌握一定的数学知识,主要是离散数学。对此MIT公开课里有专门的一门Mathematics for Computer Science.
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-spring-2005/index.htm
这门课没有上课视频,并且毕竟是数学课,很抽象,所以学起来要吃力些。好在该课程的阅读材料,讲义和作业也有中文翻译。在上面的网页中,左侧有个“简体字”链接,点进去就可以看到了。
至于需要多长时间:
国外大学的课程一般是这样的:每一个课时需要三倍的课下学习时间。以CS106A为例,28个课时,上课本身加课下学习时间,大约是84小时。如果要学完最低限度的三门课,约250小时。如果要学完上述全部七门课,大约是590小时。根据以上的计算方式和自己每天可以投入的学习时间,相信你可以自己算出来需要多长时间。
当然,这是对一般的美国大学本科生而言的(而且是斯坦福和麻省理工的学生⋯⋯)。如果你的英文程度不够好,对这些课又没有任何基础,同时还没有同学和助教的帮助(对于这些较基础的课程,学校全程配备助教,每周面对面辅导),可以想见会需要更多时间。