软件工程如何学好?

大家好,我是一名软件学院大二的学生。经过两年下来,还是感觉自己没有学到什么。还有一年的学习时间了,大四就要实习,真的有点恐慌。希望大家能帮帮我,告诉我如何学好这专业。ps:专业是当时调剂的,转学院时候又未把握机会,所以只能硬着头皮读完本科。

本人乃软件工程专业毕业生!
不要着急,要自信一点,都是这么过来的,大学里面主要学的就是理论,实际操作都是要靠自己在课外的时间多自学.一般大一都是学C,大二学习java和C++,不过你自己要弄清楚,你到底想精通哪一门,千万不要每一门都去深究(暂时你没有那么多的时间)。大学课堂上学的东西真的好重要,千万别听别人说什么“大学什么都学不到”,我学的是java,下面是我学习的部分路线(直接从以前的回答中复制过来的),希望对你有用。
首先找一本简单的教材,先对java有个基本的认识(大概看那么半个月就差不多了,随便下载一本入门的书就行了)
然后推荐你看<<java核心技术>>,分为上下两卷,已经是第八版了,大概有一千六七百页;当 你看完后,基本的java知识已经掌握了(记住,一定要多练习啊)(我那时候一个暑假看完第一遍,每天看将近十个小时加练习,但是要弄懂,呵呵,至少看个三四遍吧,这两本书只要能搞懂70%就很不错了)
这个时候你可以看看<<thinking in java>>中文名"java编程思想",这本书写的比较难,如果你看不懂,那么你要多做练习,慢慢看,如果看完了,而且懂了,那么证明你的java水平到达了一个更高的层次;(去参加面试的时候问的那些java知识完全可以应付过来了)(或者你可以先看下面的书,边看thinking in java这本书,这样也是可以的,而且学习的效率应该会高些)
然后java就会分方向,j2me(手机编程)不建议你去学这个(要学就学android手机编程),已经过时了;j2ee方向(Web编程),先学html,javaScript,css(这些书多得数不清,呵呵),然后就学servlet和jsp,《jsp应用开发详解》(入门) 《Servlet与JSP核心编程》(核心)这两本书还不错,然后就可以学SSH(三大框架,这个书一大堆),
学习struts的时候建议你从struts1开始学起《精通Struts基于MVC的Java Web设计与开发》,然后就可以学习struts2《Struts2权威指南》,接下来学习Hibernate《精通Hibernate:Java对象持久化技术详解》,最后学习Spring《spring2.0技术手册》(提示:只要你java基础学得好,这些东西都会学得很快)
这个时候你就要把注意力放在设计模式,数据结构和计算机算法上面来了, 设计模式可以先看<<深入浅出设计模式>> 然后再看<<java与模式>>, 数据结构建议你看清华大学严慰敏老师写的那本教材; 计算机算法要了解基本的排序,如果你不做底层,只做应用的话,没有必要去看那个<<算法导论>这本书太难了。 (设计模式,数据结构和算法才是真正的精髓,要有很多年的编程经验才能够使用得游刃有余,光看懂还不行的,一定要多练习,到了这个境界才是真正的java高手)(我学java有三年了,这是我的体会)
等你掌握前面的这些知识之后,推荐你看<<effective java>>,这本书是目前java领域公认的高级书籍。在项目中你肯定会遇到一些前端的知识,那么你得精通javascript,<<JavaScript权威指南>>(入门), <<JavaScript高级程序设计>>(进阶),这两本书弄懂了,那么学习jquery和extjs都会很快的。
还有要提醒你一下,对于初学者,不要使用eclipse编程工具,建议你先用记事本写程序,当你比较熟练了之后就可以使用eclipse这些工具了。
不要心急,不要图快,所有的书要一本本的慢慢看,多看几遍(一本书看上个四五遍,你就可以成高手,呵呵)。
java基础(j2se)的重点有:继承、多态、流、线程、网络编程、反射、集合、数据库连接、泛型、JNI技术、分布式技术还有解析xml也是很重要的,如果你想学android手机编程,那么SWING和AWT要熟悉一下。如果你不想学Web编程(j2ee),那么我建议你可以学android手机编程《Google+Android开发入门与实战》(入门) 《Google Android SDK开发范例大全》(深入)(建议把android当作业余爱好,把web编程当作主攻方向,因为j2ee包含了大量框架知识),书很多,可以自己去搜。多想 多看 多练才是王道,不要相信什么培训机构,这些都没啥用,真正学好只能靠你自己。
面向对象思想+java基础(j2se)+数据结构+设计模式+计算机算法 为核心,学好了这几个8000元/月轻而易举,什么都可以不学好,唯独这几科一定要学好,切记切记!
当然,随着你的技术水平的提高,你还会要学习其他的语言,不过这都是后话,等你把上面的东西掌握了,我再告诉你怎么学(高并发等内容),哈哈!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-15
无需恐慌 硬着头皮学几天 你会发现其中的乐趣的 先学会一样 不要什么都想学 推荐韩顺平的视频教程 电驴上有免费资源 硬着看 就入门 我也是这个专业的 也是当初被调的 现在觉得挺好的追问

请问需要学习哪些课程。。
现在看着同学们都会做小软件了,自己感觉落差好大啊

追答

干什么也不能慌 你要是想学安卓开发 报个培训班 培训完就会做了 你既然是软件学院的 学生学校开的那些专业课都需要学好 不过是你学的顺序是关键 你应该直接上手 遇到哪方面专业课不会去查哪方面的 不是一直看数据结构 数据库 什么语言啊 等学会了才开始做东西 一边做东西一边学习专业课 就韩顺平 郝斌的视频都有 跟着学没问题的 我也是软件工程的 静心好好听下来 你会收获很大 希望能够帮助到你

相似回答