① 软件工程该学习些什么
书的话,如果是入门,我推荐《C++入门经典》(第三版),这本书由浅入深,章节安排很合理。楼上各位提到的《C++ Primer》这本我觉得不适合初学者,因为章节安排不是循序渐进的。至于谭浩强的书,我没看过他写的C++,所以不做评论。但是我看过他写的C语言的书,被人称之为“方言版的C语言”,虽然好懂,但是不标准的写法甚至错误的写法,懂了又有何用。如果是有C++基础了,那么,可以看《C++编程思想》、《C++编程规范》等等。其实学习的重点放在哪里那是根据个人习惯及熟练程度而定,不要太看重,多看看书,你会有所体会的。但是,注意,一次主攻一本书,不能杂,另外的书只能当做参考。上面提到的几本书我都有电子版的,你提供邮箱,我可以发给你。反正我都是看的电子版的,毕竟正版书太贵了,盗版也难找到。
程序设计重在实践。编写代码不用太急,慢慢来,从简单的写起,我不建议首先进行手写,那样没实际意义,即使再简单,拿到计算机上去跑,然后逐步修改并添加功能。就拿我当初看到 vector 这个东西时来说吧,我觉得 push_back() 这个成员函数很好用,所以我就写了那么两三行,只是为了看看 push_back() 这个成员函数的作用。所以,我觉得,书上的代码在最开始没必要完整的写一遍,因为那些可能涉及到还没有看到的内容。看到了新东西,就可以简单的自己去验证一下那么一点小功能,像这样小的东西写多了自然就熟悉了,之后写稍微长的代码就更熟练。同时,对于书上的一些代码,先不要急这自己独立写出来,毕竟别人写书的,对于出版出来的代码应该是经过精心设计的,其中很可能就用到一些技巧,刚开始写不出很正常,主要是因为不熟练。
慢慢的,当你对于C++中的新东西有个比较清楚的认识后(不用急着记住每个新东西),你可以将以前自己用C写过的代码改成C++方式,比如,一般的数组用vector代替,C风格的字符串用C++中的 string 类型替代,这样写出C++版本的代码。如果以前用C写过得东西不多,你可以将书上的习题来练习。写多了,熟悉了,以后写代码就逐渐转变成C++的代码风格。由于C++标准库很强大,所以,以前很多C代码都可以修改得更精简,看起来更舒服!
到了后面的高级内容,开始可以就简单的将书上完整的代码抄写一遍(不是手写),然后进行一定得调试。此时候要注意的不是代码的具体功能,而是其中代码风格。比如,类,注意构造函数,析构函数该怎样写,成员的对外可见性如何写,等等。创造的话,如果看完了类,并且懂得类书写的基本风格,那么,你可以用自己的方法写出一个 vector 类,当然,此时不需要处理异常,不需要完整的实现标准版本的功能,就实现诸如 push_back(), size(), empty()等功能,然后用自己写的类进行别的操作。之后,诸如deque,list等等都可以用自己的方法实现。同时,这时候写的代码也可以留作以后逐步完善,等你非常牛逼时候,就写出了不逊色于标准库的代码了。
总之,我认为,不因为写那么两三行代码拿到电脑上去跑就嫌麻烦,多在实际中跑自己写的代码,由简单的写起,由两三行写起。C++对于C来说有很多新东西,每看到一个,就自己写写去验证,一个一个来,慢慢的组合那些小的细节以实现更多功能。此时,不要太看重算法,数据结构,就像英语,学习语法时,我们主要学应用语法造句,而不是学造文章,文章是之后的事。这只是个学习的先后次序问题
最后,代码风格一定要标准规范,可以附加看看《C++编程规范》等。不懂的问题及时在书上或者到网上搜查。
② 怎么学习软件工程,从c开始
先学习基础语法吧,多练习刷刷一些基础题目,然后再去学一些数据结构,接着看qt,mfc这些。。。。
③ 怎样运用软件工程导论到c语言编译过程中
方法/步骤
打开Microsoft Visual Studio 2010软件;依次打开“新建”、“项目”。
选择“win32控制台应用程序”,在窗口下面的名称填写好名称。
点击“下一步”继续。
在附加选项中选择“空项目”,然后点击“完成”。
在软件界面左边的"解决方案资源管理器"中的“源文件”上面右击鼠标一次选择“添加”、“新建项”。
在新窗口中选择“C++文件(.cpp)”,在窗口下方的名称中填写好名称。注意:千万不要忘记在填写好的名称后面写上 .c 比如(hello.c),最后选择“添加”。啊哈,大功告成!
④ 我是学软件工程的`怎么学好C语言啊
既然是学软件工程的!那么你学C就更加容易了!你既然是搞软件工程的那么你的设计思想也应该不错!那么你在网上去搜索点C的视频教程就可以了!在Bai或Google上面搜索"C语言教程视频"就会显示很多的技术站点出来!那么你就可以去下载点看就可以了!
⑤ 软件工程
我学的也是软件工程。客观的说,软件工程对于本科阶段的绝大多数学生都是废课。因为编码数量从量级上看还没有达到能够利用软件工程的地步。
从学科的性质上看,软件工程是软件业的哲学型课程,讲的更多是软件开发的哲学,是最为核心的课程,但在一个人已经编写10000行代码之前,学习这种哲学是缺少实践编码经验的积累的,故而学了等于白学。
等你也写了数万行代码,写道厌恶的时候,并且被无尽的debug烦的要死的时候,再回来学软件工程,就会有更多的感触。
在我的这里,软件工程就是尽可能的把敲代码的时间换到思考上,通过思考来避免写代码,通过代码的一次成形来避免debug。对于写代码写到厌恶的人来说,这是非常有用的哲学。
事实上,几乎所有学软件工程的人走到工作时都会走向这一步。但是社会的现实情况已经没有这个机会了。
想要学好软件工程,核心是建立适应软件工程的世界观和思考方式。
软件工程的世界观,只需抓住“需求”二字,记住“需求和金钱才是第一,技术和代码都是浮云”
软件工程的思考方式,大意就是“尽一切可能避免写代码,先弄清楚各种需求和特殊状况,把写代码拖延的尽可能晚“
主要工具就是UML和E-R图等等。
随着你实际工作经验的加深,你的理解会走的比这个更加深刻。
不过和你们讲的情况可能有点差别,我们软件工程是一外国人讲的。考试基本上全是需求分析或者画UML。
学院设计这种课的目的是希望同学们尽可能的少走弯路,但是,中国的课程设计者一直没有意识到一点,正如游戏中先要杀小怪练级后才能打BOSS一样,写代码上过程中的弯路正是必要的练级积累经验的过程,在大二过早的揠苗助长那是让BOSS开虐。
不过根据实际经验,到了大三也很少有人能理解这门课是干什么的,除非有大量的编程经验,有过惨痛的记忆(做过工程或者对自由软件哲学了解比较多的)
其实也是时不我待,本科只有四年。尽量多学吧。
⑥ 软件工程入门学些什么
这些日子,研究了下软件工程专业的课程体系。
正巧遇到一些同学感觉迷茫,不知道该学些什么。
那好,我就来从头分析下,每个学期该学些什么,看些什么。
以下的分析主要讨论实践学习,至于理论学习和研究,留待以后分解。
第一学期
通过阅读大量的C代码,了解计算机程序设计方法和一般规则,为以后学习打下坚实的基础。在计算机文化基础部分,可以考虑学习网页设计(最好是从HTML和JS开始,别直接用工具),C代码可以找些开源项目的代码片段阅读。本学期除了课堂要求,最少要完成500行以上的代码量,并在假期完成一个至少200行程序的小型程序。
专业课程
计算机文化基础
课外学习
《深入理解计算机系统》
C语言
阅读大量的C代码
数字逻辑
第二学期
本学期是的专业课程不多,建议将大量的时间投入在数据结构和算法上边。C++同样要阅读和书写大量的代码。计算机组成原理是单片机和嵌入式方向的基础,要将各功能电路部分完全看懂和活用,如果有机会做整机实验(就是那个课程设计),一定要认真思考,另外,这个课程是考研课,考研的同学要认真了。数据结构是这个学期的重点内容,其核心是各种数据结构的特性,在算法初步那部分,要认真对待排序和查找的内容,最好多做练习,这个也是考研课。另外,完全照搬和硬套某些算法或者莫名其妙的使用某种数据结构来设计程序,是非常不理智和有害的,这样做使得对问题的认识过程出现错误,而且将问题复杂化了。
专业课程
C++
课外学习
《C++ primer》
数据结构
《Thinking in C++》
计算机组成原理
《算法导论》
《代码大全》(第二版)
深入研读《深入理解计算机系统》
第三学期
这学期的课程,可以说是软件工程专业最为重要的了,在java部分,已经可以开始思考面向对象和设计模式的问题了。操作系统可以说是计算机科学与工程实践之集大成者,其中大量的运用了数据结构、计算机组成原理等课程中学习的设计方法,包含了计算机工程实践方面遇到问题时的解决方案,而且本身就是代码阅读的最好素材。能够深入理解了计算机操作系统理论与实践的人,想不牛都难。数据库啊,这东西是以后大部分人混饭吃的看家本事了,重要性你看着办吧,一定要多写SQL啊。至于软件工程这门课,就冲着你是软件工程专业的学生也要学好啊。书本上的过程和方法不是写着玩的,这可要想学好,不思考、不实践可不行。
专业课程
Java
课外学习
《代码阅读》
操作系统
《Thinking in C++》
数据库
《操作系统-设计与实现》
软件工程概论
《linux 0.11内核完全解析》赵炯
《数据库系统概念》
《统一软件过程》
第四学期
本学期的专业课程压力很大,计算机网络课程不是你上课听讲,写个socket程序就能够学好的。真正从事这方面实际工作的话,这里面有相当多的工程问题,要慢慢的积累。当然《TCP/IP详解》的第一卷和第三卷是不能少的,还有套《用TCP/IP实现网际互联》也很不错,另外思科的CCXX系列教程也是必读的。网络的学习,不能够光看应用层的东西,其历史沿革、底层原理都是要看的。软件体系结构这门课,是软件架构设计的宏观性的基础课程,对于以后的软件架构设计来说,是必不可少的。我个人建议大家在课余的时间多在网上看看(并且收集)一些著名的(或者在建设中的)软件项目的设计文档,对你以后的软硬件架构设计很有好处,以后写设计方案的时候,眼界也开阔很多。主流数据库是上学期课程的升级版,不管课上学的什么,大家至少要找台Oracal服务器来配置、管理一下,最好把四大主流都试试(MS SQL Server, ORACLE, DB2, MySQL)。汇编与接口,是嵌入式的入门课程,大家要好好学习,多做实验,具体的不多说了。软件项目管理,使软件工程专业最重要的管理类课程了,同样,光研究理论是没用滴,实践啊!Team leader不好当啊。另外,我在写一篇关于学生团队项目管理方面的文章,还没完成,这里就不多说了。
这学期在学习的同时,还要关注一些项目管理类的课外书籍,多多益善啊。毕竟大部分人都不可能做一辈子程序员的。
专业课程
计算机网络
课外学习
《TCP/IP详解》
软件体系结构
《Thinking in C++》
主流数据库
《人件集》《人月神话》《最后期限》
汇编与接口技术
《程序开发心理学》
软件项目管理
《设计模式》四人帮那本
第五学期
Dot Net这东西啊,毁誉参半啊。Dot Net这东西,你要是练成了Code Copyer那你基本就是个编程匠了,而且还很臭。人家微软不是让你RAD之后就不管架构了,这点一定要注意。编译原理这课,学起来有点枯燥,但是这里面很多方法还是很有用处的,而且像形式语言部分就是很多研究工作的基础内容。其他的课程不多说了。
这学期,就多学习一下自己感兴趣的方向吧,毕竟下学期就分方向了,然后就是实习、就业,时间不多了。
专业课程
MS Dot Net
课外学习
《敏捷软件开发:原则、模式与实践》
编译原理
《解析极限编程:拥抱变化》
面向对象&UML
《计算机软件测试》
软件质量保证与测试
系统分析与解决方案
图像处理
第六学期
实习就业,迫在眉睫,自己看着办吧,毕竟我说什么大家也不相信,一个个都很牛了。
专业课程
J2EE
课外学习
《方向课读物》
ERP方向
移动计算方向
嵌入式方向
好咧,终于写完了。
这个课表可能会发生变化,这是以05级的课表为参考写成的。如有变化,自己看着调整。计算机学院的同学也可以参考。
写了这么多,希望对大家有所帮助!
⑦ 软件工程 书籍介召 C语言 编程题
我也是软件工程专业,比你早两年接触编程,应该算得上你的学长一辈了吧。
第一呢,我建议你应该在寒假里面把C语言好好巩固一遍,因为如果很长时间里面不去接触代码的话会忘记,特别是你这样刚刚才接触编程的,寒假里面不要想着玩,有个好的根基以后才会有发展,才会有前途。
第二,我看你提到了Java,像Java这样的面向对象编程语言与C语言之类的面向过程编程语言是有相当多的差异的,如何能够转变编程思想是很重要的,我推荐你看“面向对象分析”之类的书籍,先形成一个整体的概念,然后再去深入Java语言。语法之类的学习还是只需要看看一些教材就好了。《Java SE 6.0编程指南》这本书推荐你看看。
第三,Java、C#之类面向对象语言有非常大的吸引力,当你已经对其编程语言语法和风格有了大致的了解后一定会要看“设计模式”之类的书籍,这对你的发展会有很大的帮助,个人推荐《设计模式之禅》这本书,在了解了设计模式之后还需要学习重构,推荐《重构:改善既有代码的设计》。这两本书下肚之后你在面向对象语言编程方面肯定是会有一个很高的造诣了。
第四,在你觉得自己的知识已经非常丰富了的时候,多看看一些软件公司的文集,比如说Thought Works的一些书还是很不错,比如《软件开发沉思录:Thought Works文集》、《软件随想录:程序员部落酋长Joel谈软件》、《卓有成效的程序员》之类。你能从中获得一些对未来的启发。在你大三上学期的时候,你需要看一本书:《Java程序员职场全攻略:从小工到专家 》,这会帮助你从一个学生开发者转型为一个能够在公司中进行开发工作的一个职业开发者。
总之呢,书不能乱看,自己处于什么样的水平的时候就看什么样的书。也不要什么书都看,今天看C、明天看Java,这可是非常不好。你可以看一些讲述编程方法之类的书,这是共性的东西。关于离散数学、概率论之类的,上课的时候会讲的,好好听课就行。
⑧ 计算机科学丛书·C程序设计软件工程环境,第三版,电子版
网络传课和腾讯课堂有这方面的教学视频可以试试
⑨ 大学里软件工程的C语言权威教材是哪啊一本
第一本最好!很多重点大学都用来做教材,推荐第一本,讲的蛮详细的
⑩ 求《Linux软件工程师(C语言)实用教程》
没有PDF的,有PPT的,并附源代码的,可以吗?