软件工程学生该学习什么

上传人:子 文档编号:43299187 上传时间:2018-06-05 格式:DOC 页数:11 大小:25.04KB
返回 下载 相关 举报
软件工程学生该学习什么_第1页
第1页 / 共11页
软件工程学生该学习什么_第2页
第2页 / 共11页
软件工程学生该学习什么_第3页
第3页 / 共11页
软件工程学生该学习什么_第4页
第4页 / 共11页
软件工程学生该学习什么_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《软件工程学生该学习什么》由会员分享,可在线阅读,更多相关《软件工程学生该学习什么(11页珍藏版)》请在金锄头文库上搜索。

1、软件工程学生该学习什么软件工程学生该学习什么软件工程专业学生学什么有用 2010-07-28 14:201,高等数学:为了及格,同时帮助概率及格 2,概率:为了证明高等数学可以帮助及格3,线性代数:如果你学习计算机图形学,就是 opengl/direct3d 的话,里面的 3d 模型的空间坐标用矩阵来表示的,如果你需要把它们进行投影,叠加,移动,就需要矩阵乘法变换转置等等,所以还是很有用的4,离散数学:主要是给你打下计算机数据模型的理论基础。里面包含集合,数,图,等等,更重要的是如果你以后要搞研究,研究 0错误程序,就是完全没有 bug 的程序,就需要用它上面的推导理论来对程序经行证明。如果你

2、要通过系统分析员,这个也是要考试的5, 数字电路计算机组成计算机技术:如果你是一个很深入的程序员,你会问:为什么浏览器可以显示那么多东西有 html 语言-html 语 言是怎么开发的-高级语言-高级语言怎么完成的-汇编-汇编怎么来的固化机器语言-机器语言如何能 操纵计算机-在节拍电路的干预下,内部芯片的结构把 0/1 字符串译码,操作累加器,总线,内存做不同的操作那好,这个过程差一个东西都不可以,如 果你只学习里面的高级语言部分,那岂不是神龙见首不见尾,感觉很不爽?所以你要能自己做一个计算机出来才好!数字电路是学习门电路组成的,就是如何把流动的电信号保持下来,同时让他们有规律地变化计算机组成

3、是让你用门电路来设计内存cup时钟等等计算机技术是让你综合学到的东西,做一个简单的计算机出来。有 了哪些知识,当然还要包括编译原理,软件工程,操作系统,数据库,网络,你学习其他的语言,什么 vc/vb/deliphi 等等,每种语言不超过 3 个月你 就是高手。你要学 windows 程序,要用 api,只需要 15 天就可以作出像模像样的东西。当然,我这里是指语言本身而言。有了这些基础和语言掌握的熟 练,你想学数据库编程,好,复习一下数据库的课程,查阅一下 sql 的语法,1 天就有眉目了。你要学网络编程,选择一种库,看看文档,明白函数的用法,也就 是一两天的问题。等你做出点东西,有了信心,

4、你也就有了经验。这个时候去明白 j2ee/.net 等等的 frame work,就很容易了。参看以下 design pattern,你也就胸有成竹,做个小组长也可以。再过几年,有了机会,说不定就当了 manager,等了到了三十多岁,你不想干软件了,你有计算机组 成的基础,找几个高手带你一下,你可以去做单片机的汇编语言编程,可以去做 embeded system 所以,学好了基础,也就是厚积薄发,后面你想怎么发展都可以!学了数字电路才知道,原来很神秘的电脑是由一些触发器,逻辑门组成的,把它们集成再集成,就成了电脑 了,译码器,全加器,计数器. CMOS 不过就是一种存储器,BIOS 不过就是

5、面向硬件的一种已编好的子程序, (和 C 的库函数差不多,我认为)学好了汇编,我可以自己编(还让我花了 30 人民币,买 了一本 CMOS 设置书,认为它很高深莫测)不学好 C,怎么学好 WINDOWS 程序设计,怎么能做一个优秀的程序设计人员不学好前人花几十年时间总结出来的数据结构,你的进步能有多快,那是让你踩在巨人的肩膀上。 (你要是天才,我就没话说了,不过要是学了,你会更天才)这是我自己经历的一点学习基础课的过程,它给我解疑释惑,当然这些问题在行家眼里可能不值一哂,但它是每一个新手必经的过程。更为关键的是,基础课给了我们最核心的知识,让我们能在离开学校后有继续学习的能力。它给了我们一个知

6、识结构,让我们能在他的基础上扩充,把新的东西加入自己的知识框架中,这是基础课重要的意义所在。很多人提到基础学好 之后,学习新东西很快,就是这个道理。不可否认的是,基础课很枯燥,很费劲。但这要看你怎么去看它,你想一想,学好了他,就能抓到计算机的本质,能让他对你俯首帖耳,这难道还不够激动人心吗?老在别人的基础之上作设计,却不懂所以然,不闷吗?既然讨论的题目是给在校大学生一点建议,那我也说一点儿。先说技术层面的,在学好专业课的基础上看一些学校里不讲的新知识,新技术,能促进你的融会贯通,但不可本未倒置 。再说最关键的,最想说的,请在校的学生们珍惜你的时光,不要都 去打了游戏,谈了恋爱,时光宝贵,机会难

7、得。我经常对自己说,如果再让我上一次学,我会. 可是不会了,我只好对自己说,如果我现在再不学,就会. 于 是我努力去学,边工作,边学习,舍不得丢掉一节课,在校的学生们可能无法体会听老师讲课的幸福,自学时怎么也搞不清的东西,老师一句话就茅塞顿开,老师那 清晰的思路也让你受益匪浅(在这里应该感谢那些老师们,虽然他们有些时候的简略很让人恼火) 。但越学,心里越没底,有太多的东西我都没学好,更有很多东西 根本就不知道,正所谓皓首穷经。我不时的咒骂自己的懒惰,也许是过于愚笨,努力不够,学习计算机也有三年多了,直到现在,我才觉得自己开始了解计算机,才明确了方向。我从文科转入这一专业,而且也不小了,就凭着我

8、对计算机有着强烈的兴趣。他是人类智慧的体现,程序设计更是一种艺术,他能让我们的才华得到充分发挥,我会继续努力下去的,虽然有些迟了,但为了不更迟。希望在校的学生们能多珍惜一些时间,不要比我还迟。下 来如果觉得自己接受能力强的话就可以开始学 C 了(注意不是C+) ,如果感觉有困难也可以先学 Pascal 过度一下。还有很重要的一点就是千万不要一开始 就学 VB,DELPHI,VC 之类的东西,这些东西在一开始学会对你造成很坏的影响。有可能会把你引入另外一个错误的学习方向而忽略了真正应该掌握的东 西。学 C 主要是学过程话的程序设计,学会把自己的程序分成许多的函数(或过程) ,养成良好的编程习惯。

9、这时可以多看一下高人的程序,不一定要懂意思,主要 是学会别人程序的格式(比如变量如何起名,怎么划分函数) 。除开掌握基本的控制流语句外,应该学习一些很简单的 I/O 函数和数学函数。C 的学习主要是你舍 弃原来 BASIC 程序那种把所有语句积成一大堆的风格,要学会使用函数,提高代码重用性。对于指针之类的东西如果实在看不懂可以先不去管,到后面会有办 法。当你能够比较自如的用 C 编写一些小的计算程序时,你就可以开始你的数据结构的学习了(数学的学习主要是在学校,自己要多用心) 。数据结构你可以一点一 点漫漫看,并不需要专门空出一段时间来专门研究,这样的目的是让你能够很好的掌握它,要学会用数据结构

10、的知识来规范自己的程序设计和提高程序的效率。学完 C 我认为接着最好学习汇编。这个或许有许多人都会反对,然而我个人认为这样是很好的。从最基本的 DOS 汇编开始,买本IBM PC 汇编程序设计 (清华黄皮)一定要一点一点吃透,实在看不懂就跳,反复的严读是一定可以看懂的。汇编是一定要掌握的,因为它涉及到很多最基本的知识。 掌握了汇编和对 I/O 有了个很彻底的认识后,应该去学编译原理。这个东西并不要精通,但是一定要知道,在大脑里要有一个这样的概念,这对你对程序语言的控 制能力都有很大的帮助。这样最基本的学习就算完成了。一般智力正常的人前一段东西应该都是可以掌握的。接着后面的学习就要看你自身的造化

11、了。这个时候你应 该研究一下数据结构,不要分散自己学习的注意力,要知道数据结构是异常重要的(相信我,绝对没错)如果你觉得自己已经对于树,连表,堆栈之类的东西和排 序,递归之类的算法已经十分清楚,就可以开始学习 C+了。学习前一定要有个正确的认识,那就是 C 和 C+是两个不同的东西。学习 C+是为了学习面向对 象的程序设计,这个时候你对于指针应该也能够掌握了(有汇编的基础) ,主要抓住 C+和 C 相比的一些新特性,对于多态之类的特性要注意理解掌握,如果没有 搞懂就坚决不要往下学习。一些基本的概念掌握以后可以看一些别人设计的程序,学习别人怎么利用面向对象的方法来设计程序的。这个东西也是人之间拉

12、开档次的 一个环节,可以和数据结构放在同等重要的地位。我就见过有的人都大学毕业了还搞不懂 virtual 到底是怎么一回事情。其实我认为学到这里你已经为你成为 一个优秀的程序员打下了很好的基础,你已经能够应用C+,懂得面向对象程序设计,对数据结构掌握很好,掌握汇编和编译原理。接下来的学习就是基于操作平 台的了,一般是先学windows(Microsoft 毕竟是老大) ,先学 win32 api,搞请 windows基本消息机制和原理,有汇编基础基本上不会碰到什么困难。其实只要会了 API,其余什么 MFC,VCL 都是囊中之物了,都不过 是对于 API 的封装而已。VC,C+Builder

13、都可轻松拿下,这只是开发工具的问题。以后的 OLE(ActiveX),.NET,数据库就要看自己 的发展方向而定了。我在这里强调的是前面的基本能力的学习,后面操作平台虽然知识体系庞大,然而毕竟比较死,更好掌握。最后编程能力的高低主要还是有以下 几点决定:1。编程的习惯 2。数学能力(包括逻辑思维,分析问题的能力) 3。对数据结构的认识能力 4。经验的多少(包括多使用语言的掌握能力)学习编程的道路是充满艰辛,漫长而曲折的,作者罗列了一堆自己知道的编程方面的知识,并且给出了一个具体的顺序,所谓先学什么,后学什么;没学会什么,就一定不要去学另一个什么.其中很多内容有一些道理。但是总是难逃片面。从 入

14、门到精通一类的东西看的太多了,难道真的凭借一本书就能从一个电脑盲编程精通的专家了么。我郑重的建议那些想“速成”高手的人,放弃你的想法吧。一个计 算机专业的本科生,要花上 4 年时间才能毕业,需要学习的专业知识岂是一朝一夕就能掌握的。就算去除一些公共课所占用的时间,我觉得要入计算机行业这个“门 ” ,至少需要两年的时间。两年后才能说,对计算机有一些了解了,知道了计算机的基本组成原理,对时钟晶振,中断芯片有一定了解,用汇编简单控制 8259 编 程。也知道了一些计算机程序设计语言方面的原理,掌握了一俩门传统的样板编程语言,了解了 i+和+i 对于 VC 的编译器来说意味着什么,有了一些数据结 构方

15、面的认识,能把现实生活中的一些问题用程序模拟出来。但这一切也不 过是刚刚入门而已,只是打基础。至于以后再学习Windows 系统原理,消息机制,掌握这个类库,那个类库;抑或是研究 Linux 内核,进而了解嵌入式系 统开发工具和方法,那要看个人喜好了。我只是举几个例子,但是随便那个,要敢说自己已经完全掌握,至少还要几年吧。如 果上面的东西中有的已经很精通了,可以称为专家了,那么恭喜你,你可以考虑把这些东西再总结,提升一个层次,从系统架构角度回顾一下要实现某个需求,通常 需要使用什么技术,多少人,多长时间来开发,成本多少,收益多少,风险又有多少,还可以总结出一些控制软件开发进度的方法,生成软件的

16、方法,人们把这些方 法归纳起来叫做软件工程。而你,也应该是一个项目经理了吧。如果这些东西都学会了,再次恭喜你,你可以考虑能不能把现有的客户拉到自己身边来,找个人给自己投资,成立自己的软件公司。成为浩浩荡荡的软件创业者中微不足道的一员。我本科经管,去年跨专业考计算机研。我自学了,VB,VC,数据结构,离散,操作系统,数据库原理等。开 学以来做完了数字图像处理的所有的实验-有个别实验还是很难的。我从 paperVC+被逼-也算是熟练(离精通差远了)而系里其他的同学却没有一个 自己全部编出来的,都是抄书的。但并不能说明他们的计算机水平都差,比起编程水平,我更佩服那些真正计算机专家-尽管他们不编程。但是他们的研究成果往 往大大帮助我们编程,很多编程思想都是他们过去的研究成果!我们就算编出来了-也就是说明我们有点小聪明,但决不可以和系统完备的大智慧相比!就像我 们可以利用数学定理计算一些复杂的数学题目一样,这没什么了不起-真正了不起了还是那些定理提出者,和证明者。这一个学期前我一

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号