一、我的大学学习经历。
写在前: 写这篇博客是在我在大三,其实以前也有过博客,但都是转载的东西,现在打造属于自己的东西,来记录自己的学习成长历程。
我的经历:2013年入学,专业是软件工程,平淡的生活也没什么好回忆的,下面说重点了。我们学院的体系比较特殊(自我觉得),大一下学生基本上分为两派:做ACM、做应用开发。我当时思考了很多后选择后者,继而进入学校的一个网站开发工作室做后台开发,通过这个平台,我自学了JAVA、servlet、jsp、struts等,接着与队友开发了一个学校助学金投票网站。大二下,我转战android移动开发,大三开学初在android市场上线了自己的APP处女座:RHETI九型人格测试。期间也开发过其他APP,没有上线指定是做得不太好。整个大学我也专心于基础课程的学习,对java数据结构与算法、操作系统、计算机网络、计算机体系结构、编译原理等加强学习,同时对Linux原理与基础、java虚拟机、android底层驱动开发也有自学,现在还在路上奔跑着。
二、我的学习路线:
1、web开发学习(其中框架只学习了struts,但开发中没怎么用框架):
项目实践:
2、android开发学习路线:
android基础篇:
android基础学习书籍推荐:
我当时用的是:《第一行代码》(郭霖著),《疯狂android讲义》;期间对每个知识点都有做单独的小例子,但不是书上的例子,每个例子都用项目的形式编写,后面会在android基础进阶中开源呈现给大家,大家如果需要的话可以下载,不过笔记都写在项目中,所以博客中对基础知识点不做太多描述。基础知识以doc文档的形式记录在 博客:android基础知识总结、android面试总结中,共自己和大家复习使用。
项目开发:
基础知识学的差不多之后,开发了RHETI九型人格测试这款软件,软件很简单,主要是对android数据处理的运用。不过已经上线。
网址:http://apk.91.com/Soft/Android/com.example.personalitytest-1.html
云服务器地址:http://personalitytest.bmob.cn/
期间开了了即时通讯APP等比较低级别的APP。准备在大三寒假做出真正有价值的APP。
android进阶篇:
这个阶段先是看了慕课网的中级篇一些东西,感觉速度太慢,就直接看优秀的博客了:主要集中于郭霖和老罗的博客。就我个人而言,感觉老罗老师学习android开发真的是太值得借鉴了,他是搞懂了整个Linux操作系统后简介开发应用,也就是说开发中使用的资料就是纯的Android SDK。个人感自己需要努力甚多,才能借鉴这样的学习路线。
进阶的过程中自我感觉还是找好书,《java虚拟机》也算是我的进阶第一步了,接着《linux》学习喽。
3、Linux学习路线:
这个主要是看书和视频喽:
入门、软件安装等的学习:听了慕课网 Tony老师的讲解,http://www.imooc.com/learn/175。
学习linux的原因:建议看 韩顺平老师 linux视频的开山篇。
接着继续入门,通过书籍:《Linux程序设计》(目前处于这个阶段,后面会陆续补上)
路线参考博客:http://blog.sina.com.cn/s/blog_5f32b9070100zq65.html
4、专业课程强调:
专业课的重要性不言而喻,同时开发中我碰到了操作系统中生产者、消费者问题,内存管理问题等等。开发中随处运用到专业知识,下面就介绍下我重点学习的专业课程。
(1)《C语言程序设计》
C语言是语言学习的基础,在后面开发中我们会体会到它的强大,但C比较偏向数据结构和基础;所以我只学了基础,日后会补上C++的学习(C++强调结构化)。
(2)《java数据结构与算法》
使用的就是这本书,数据结构不分语言,但个人想强化java,所以一直看这本书。觉得写得很是不错。
(3)《操作系统》
推荐:我是先看的《计算机操作系统教程》,虽然这本书是写给非本科学生的,但是整本书对操作系统大体的介绍写的很是到位,看书先看大概,再详细看各种机制,我觉得这很不错。之后我就是看老师的PPT啦。
(4)《计算机网络》
书籍推荐:《计算机网络》第五版、第六版都可以。
(5)《编译原理》
资料推荐:看我上传的编译原理博客中的资料就是最好的选择。
(6)《计算机体系结构》
书籍推荐:《计算机体系结构》
(7)《UML设计》
(8)高数、离散这些课程不容忽视,但数学是个长期积累的过程。