第一要学习c语言,第二学习objective-c,如果有条件,再学习一下面向对象编程思想和数据结构,然后就可以看官方sdk了,照着书的例子开始简单控件的使用,2、如果你想做2d游戏的话,还要学习cocos2d,如果你想写类似愤怒的小鸟的话,还需要学习box2d或者chipmunk(物理引擎),如果你还想学习3d游戏的话,3、还要学习opengles(数学要学习矩阵),如果你还想写网络交互类软件的话,还要有html css等知识,如果你还想写基于wifi或者蓝牙的对战游戏的话,4、还要学习tcp/ip协议,套接字,gamekit之类的,如果你还想写和后台交互的应用,还要学习PHP,JAVA,Ruby(用作服务器端的控制),5、当然,如果你还想写图像识别,可能还要学习特殊的算法,matlab(这块不怎么了解),如果你想在开发中更得心应手的话,还要学习UML,软件工程,设计模式等。
1、APP软件工程师要学会什么?
1、第一要学习c语言,第二学习objective-c,如果有条件,再学习一下面向对象编程思想和数据结构,然后就可以看官方sdk了,照着书的例子开始简单控件的使用,2、如果你想做2d游戏的话,还要学习cocos2d,如果你想写类似愤怒的小鸟的话,还需要学习box2d或者chipmunk(物理引擎),如果你还想学习3d游戏的话,3、还要学习opengles(数学要学习矩阵),如果你还想写网络交互类软件的话,还要有html css等知识,如果你还想写基于wifi或者蓝牙的对战游戏的话,4、还要学习tcp/ip协议,套接字,gamekit之类的,如果你还想写和后台交互的应用,还要学习PHP,JAVA,Ruby(用作服务器端的控制),5、当然,如果你还想写图像识别,可能还要学习特殊的算法,matlab(这块不怎么了解),如果你想在开发中更得心应手的话,还要学习UML,软件工程,设计模式等。
2、学软件开发,都学啥课程?
作为一名从业多年的研发人员,同时也是一名计算机专业的研究生导师,我来回答一下这个问题,随着IT行业的发展,软件开发也被赋予了更多的含义,目前的细分方向也比较多,从整体上可以把软件开发的学习过程分为以下三个部分:第一:基础课程。基础课程涵盖两个大的部分,一部分是基础学科,重点是数学和物理,另一部分是计算机基础课程,包括操作系统(体系结构)、计算机网络、算法设计、数据结构、编程语言基础、编译原理、数据库等内容,
基础课程对于后续的学习是比较重要的,开发人员未来的成长高度在很大程度上取决于基础是否扎实。第二:专业方向课程,软件开发目前可以分为Web开发、大数据开发、嵌入式开发、多媒体开发、移动互联开发等不同的细分方向,不同的方向需要学习不同的课程。以Web开发为例,需要掌握两个大的开发内容,一个是前端开发,另一个是后端开发,
前端开发以学习Html、CSS和JavaScript为主,其中JavaScript是学习的重点。后端开发需要选择一门编程语言(PHP、Java、Python、C#等),然后按照编程语言的技术体系进行系统的学习,目前在Web开发领域中PHP的占比份额比较大,而Java通常是大型互联网平台的开发方案。第三:实践课程,
学习软件开发通常有大量的实践课程,实践是学习软件开发不可或缺的组成部分。软件开发的实践课程通常包括课程实践和综合项目实践两个部分,通常课程实践往往比较多,而综合项目实践需要在学习到一定程度(掌握编程语言和数据库)之后才会开展,要想学好软件开发课程,一定要重视实践过程。我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获,
3、对于软件工程师来说,如何平衡学习技术的深度和广度?
技术的深度和广度是相辅相成,互相促进的关系。通过提高深度,可以帮助触类旁通,加快你的广度拓展速度,比如分布式系统来说。如果你理解了一个分布式系统的原理,比如Kafka的分区和主从备份,当你再学习其他的分布式系统原理的时候,比如Hadoop,你就会比较容易理解它的架构设计。本质上他们要解决的问题是一样的,
也都是分布式系统的基本问题。当你学到一定深度的时候,通过增加广度,也会帮助你更深地理解技术,还是上面的例子,等你了解了Kafka和Hadoop,还有etcd之后,你就会发现对于同一个问题会有不同的方案,各自适用于不同的场景或者有不同的优缺点。就拿jvm的gc来说,就有几个不同的算法,通过比较可以加深理解,拓展思维。
文章TAG:工程师 软件 APP 学会 软件工程师怎么学