欢迎来到一句话经典语录网
我要投稿 投诉建议
当前位置:一句话经典语录 > 读后感 > 数据结构和算法分析的读后感

数据结构和算法分析的读后感

时间:2017-08-15 01:04

计算机程序设计(手机游戏开发方向),这个行业怎么样呢

工作很难找吗

首先说一说进入计算机专业的目的,我个人是因为十分喜欢IT业,很喜欢折腾电脑,所以在填报志愿是毫不犹豫的在报了的所有的学校都填写的计算机专业,梦想着进入计算机专业后能遇见很多高手,能交到几个知己,谁之进来后却大失所望。

计算机专业的学生有很多以前对计算机不怎么了解,而且还有部分人进大学前连计算机摸都没摸过,对计算机很熟悉的很少,高手更是凤毛麟角,大多数人是服从了父母之命,显而易见,目前社会最热的行业是IT业,工资最高的也是IT业,抱着这个因素,大多数考生的父母都让自己的孩子进入了计算机专业,而大多数学生也天真的认为从计算机专业毕业后就能够像电视里演的大多数白领一样每天只用坐在办公室里和同事们聊聊天,和老板吃吃饭,每天签几个字然后就有高工资等着你去拿。

进校后他们发现其实他们在专业课方面什么都听不懂,自己也一点兴趣都没有,没有兴趣那就没有学习的动力,而且这个专业是要靠悟性的,而兴趣是培养悟性的第一步,然后他们会发现越往后学专业课越难,也越听不懂,好一点的就会狠下心来,硬着头皮苦学一通,有可能也就能走出一片路来,而不好的就会就此放弃,只需要混着考试通过,混毕业,找个单位安心上班。

有些人上了几年学连自己上哪些课都不知道;拿个程序他分不清是用C语言写的还是用PASCAL写的;不小心进了DOS不知道怎么再回到WINDOWS。

但说起游戏来头头是道,好像每个都是职业玩家一样,有的每天只知道泡在网吧。

这就是中国计算机人才下一代的悲哀

再说现在计算机专业大学生的学习和生活。

大多数计算机专业的学生对本专业的发展及前景一无所知,每天都是看小说、玩游戏、看电影、打牌、喝酒、睡觉等等很有前途的事情。

偶尔看见一两个同学看看与计算机专业有关的书,跑去拿来一看,全是什么游戏攻略、黑客秘技等此类书籍。

还有的人连C语言和C++谁是谁都还没搞清楚,就拿本VC的书刻苦钻研,真不知他们看懂了没有。

好多学生都买了电脑,但用处都是游戏机+碟机+音响,每天都在用电脑玩着各种流行的游戏、看着最新的大片、听着时尚的音乐,就是不用电脑学习。

有的学生甚至问我电脑除了玩游戏还能干什么,我问他你为什么这么问,他告诉我他觉得电脑只能用来玩游戏,不知道还能不能干干别的什么。

据我了解,近几年在国内好几所高校的计算机专业的毕业生的毕业设计竟然是做网页,在大学了四年,学完了《数据结构》、《软件工程》、《C语言》等专业课后,竟然交了一个没有学过计算机的人自学一两天就能做好的东西

这就是大多数计算机专业的学生,在我在大学玩了两年之后,我突然明白该为自己的未来打算打算了,但还有许多人仍然还什么都不明白,所以就有了这篇文章。

如果你是以上我说的那种受父母之命来学计算机的学生,如果你看了《计算机应用文摘》第15期《写给想当程序员的朋友》一文后,发现自己没有当程序员的欲望,那么我这里有几条路给你选择: 1、**页制作,将来去网站工作

2、学习3D MAX等软件,去作动画

3、学习美术设计

4、网络,将来考个CCNA,去专业组网

5、在保证能顺利毕业的前提下,去疯狂玩游戏,做个职业玩家或做一个或几个网络游戏的GM。

(我身边就有这样的人) 6、以上五条都与计算机有关,要有一定的专业知识,但比起你的专业课简单多了。

如果你看到这里还不觉得有适合你干的,那这条最适合你:在你们学校去修双学位,修一个自己感兴趣的专业,计算机真的不适合你

如果以上几条有适合你的,那么你就努力去做适合你的那一片天地,去看杂志的下一篇文章,下面的文字你看了只会浪费你的时间。

如果你是计算机专业的在校大学生,而且想当软件设计师,那么请往下看: 1、大学生活丰富多彩,会令你一生都难忘,但难忘有很多种,你可以学了很多东西而难忘,也会因为什么都没学到而难忘

2、计算机专业是一个很枯燥的专业,但即来之、则安之,只要你努力学,也会发现其中的乐趣的。

3、记住:万丈高楼平地起

基础很重要,尤其是专业基础课,只有打好基础才能学得更深。

4、C语言是基础,很重要,如果你不学好C语言,那么什么高级语言你都学不好。

5、C语言与C++语言是两回事。

就象大熊猫和小熊猫一样,只是名字很像

6、请先学习专业课《数据结构》、《计算机组成原理》,不要刚开始就拿着一本VC在看,你连面向对象都搞不清楚,看VC没有任何用处。

7、对编程有一定的认识后,就可以学习C++了。

(是C++而不是VC,这两个也是两码事!C++是一门语言,而VC教程则是讲解如何使用MFC类库,学习VC应建立在充分了解C++的基础之上。

看VC的书,是学不了C++语言的。

) 8、学习编程的秘诀是:编程,编程,再编程; 9、认真学习每一门专业课,那是你的吃饭碗。

10、在学校的实验室就算你做错一万次程序都不会有人骂你,如果你在公司你试试看

所以多去实验室上机,现在错的多了,毕业后就错的少了。

11、从现在开始,在写程序时就要养成良好的习惯。

12、不要漏掉书中任何一个练习题--请全部做完并记录下解题思路。

13、你会买好多参考书,那么请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码。

14、VC、C#、.NET这些东西都会过时,不会过时的是数据结构和优秀的算法

15、记住:书到用时方恨少。

不要让这种事发生在你身上,在学校你有充足的时间和条件读书,多读书,如果有条件多读原版书,你要知道,当一个翻译者翻译一本书时,他会不知不觉把他的理念写进书中,那本书就会变得像鸡肋

16、我还是强调认真听专业课,因为有些课像《数据结构》、《编译原理》、《操作系统》等等,这种课老师讲一分钟能让你明白的内容,你自己看要看好几个月,有的甚至看了好几年都看不明白。

17、抓住在学校里的各种实践的机会,要为自己积累经验,就业时经验比什么都有用。

18、多去图书馆,每个学校的图书馆都有很多好书等你去看

19、编程不是技术活,而是体力活。

20、如果你决定了要当一个好的软件设计师,那么请你放弃游戏,除非你是那种每天只要玩游戏就能写出好程序的天才

21、你要有足够的韧性和毅力

有个高手出了一道题测试你的韧性和毅力:找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。

22、找到只属于你自己的学习方法

不要盲目的追随别人的方法,适合自己的才是最好的

23、请热爱软件设计这项工作

以上的话有些是我的经验,有些是我从高手那里直接COPY来的,但他们都很有用,记住他们,并遵守他们,那你们一定会成功

对于大多数初学者来说,好多人有这种问题存在:我到底先学什么

学C\\\/C++

还是学VC

还是学Borland C++ Builder呢

还是 Delphi

哪一个更好呢

学习程序设计和学习程序设计语言究竟是怎么一个关系

初学者究竟应该如何取舍呢

就这些问题,我从一个高手那里看了一下的这段话,可以帮助在这方面有问题的人:学习程序设计就好比学习射击,而程序设计语言就对应射击中的气枪、手枪、步枪等各种枪械。

学习射击必须要选择一种枪械,不可能没有枪还能学好射击的,也不可能同时学会使用所有的枪械。

但是,如果掌握一种枪械的射击,再学别的也就触类旁通了。

因为在熟悉一种枪械的同时,也学习了射击技术本身。

再学其他的,自然事半功倍。

学习程序设计也是一样,必然要从学习一门程序设计语言开始入手。

在学会系统的编程理念之后,用什么工具都一样

之所以写这篇文章呢是因为自己眼看身边那么多的同学一个个都不务正业,荒废了学业,心急如焚,自己也荒废了好几年,眼看微软的Windows从3.X到现在的2003 Server,而中国的软件业还是在原地踏步,难道我们真要每年等微软给他的操作系统换一次名字,我们给他交一次钱吗

这么大的利润为什么不留给我们自己,为什么不让别的国家给我们交钱呢

这是广大中国软件工程师的一个共同的梦,要实现这个梦的人是现在还在大学里的软件设计师们,他们是中国软件明天的希望

希望广大计算机业的大学生看到这篇文章后,睡觉的能醒来,玩游戏的能停下来,在网吧的能出来,一起拿起课本,坐在电脑前,用程序写出中国软件业明天的辉煌。

嵌入式方向考研还是就业好

我从别处看人的一些经验谈,给你粘希望对你有所帮助:嵌入式软件的好处是: (1)目前国内外这方面的人都很稀缺。

这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。

(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。

(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。

硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。

(4)兴趣所在,这是最主要的。

从事嵌入式软件开发的缺点是: (1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。

(2)这方面的企业数量要远少于企业计算类企业。

(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。

但大多数公司也并无此要求,只要有经验即可。

(4)平台依托强,换平台比较辛苦。

兴趣的由来: 1、成功观念不同,不虚度此生,就是我的成功。

2、喜欢思考,挑战逻辑思维。

3、喜欢C C是一种能发挥思维极限的语言。

关于C的精神的一些方面可以被概述成短句如下: 相信程序员。

不要阻止程序员做那些需要去做的。

保持语言短小精干。

一种方法做一个操作。

使得它运行的够快,尽管它并不能保证将是可移植的。

4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。

5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。

方法步骤: 1、基础知识: 目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。

科目:数字电路、计算机组成原理、嵌入式微处理器结构。

汇编语言、C\\\/C++、编译原理、离散数学。

数据结构和算法、操作系统、软件工程、网络、数据库。

方法:虽科目众多,但都是较简单的基础,且大部分已掌握。

不一定全学,可根据需要选修。

主攻书籍:the c++ programming language(一直没时间读)、数据结构-C2。

2、学习linux: 目的:深入掌握linux系统。

方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。

先看深,那主讲原理。

看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。

剖析则是0.11版,适合学习。

最后深入代码。

主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。

3、学习嵌入式linux: 目的:掌握嵌入式处理器其及系统。

方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。

(2)嵌入式操作系统类:ucOS\\\/II简单,开源,可供入门。

而后深入研究uClinux。

(3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。

主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。

4、深入学习: A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。

B、通信协议及编程技术:TCP\\\/IP协议、802.11,Bluetooth,GPRS、GSM、CDMA等。

C、网络与信息安全技术:如加密技术,数字证书CA等。

D、DSP技术:Digital Signal Process,DSP处理器通过硬件实现数字信号处理算法。

说明:太多细节未说明,可根据实际情况调整。

重点在于1、3,不必完全按照顺序作。

对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。

对于linux内核,学习编程,读一些优秀代码也是有必要的。

注意: 要学会举一反多,有强大的基础,很多东西简单看看就能会。

想成为合格的程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。

一定要理论结合实践。

不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。

还有一些不愿意做但必须要做的

技术是通过编程编程在编程编出来的。

永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。

而是要编程编程在编程,完了在编程,在编程

等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。

嵌入式书籍推荐 Linux基础 1、《Linux与Unix Shell 编程指南》 C语言基础 1、《C Primer Plus,5th Edition》【美】Stephen Prata着 2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)着 3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE) 4、《嵌入式Linux应用程序开发详解》 Linux内核 1、《深入理解Linux内核》(第三版) 2、《Linux内核源代码情景分析》毛德操 胡希明著 研发方向 1、《UNIX Network Programming》(UNP) 2、《TCP\\\/IP详解》 3、《Linux内核编程》 4、《Linux设备驱动开发》(LDD) 5、《Linux高级程序设计》 杨宗德著 硬件基础 1、《ARM体系结构与编程》杜春雷着 2、S3C2410 Datasheet 英语基础 1、《计算机与通信专业英语》 系统教程 1、《嵌入式系统――体系结构、编程与设计》 2、《嵌入式系统――采用公开源代码和StrongARM\\\/Xscale处理器》毛德操 胡希明着 3、《Building Embedded Linux Systems》 4、《嵌入式ARM系统原理与实例开发》 杨宗德著 理论基础 1、《算法导论》 2、《数据结构(C语言版)》 3、《计算机组织与体系结构?性能分析》 4、《深入理解计算机系统》【美】Randal E. Bryant David O''Hallaron着 5、《操作系统:精髓与设计原理》 6、《编译原理》 7、《数据通信与计算机网络》 8、《数据压缩原理与应用》 C语言书籍推荐 1. The C programming language 《C程序设计语言》 2. Pointers on C 《C和指针》 3. C traps and pitfalls 《C陷阱与缺陷》 4. Expert C Lanuage 《专家C编程》 5. Writing Clean Code -----Microsoft Techiniques for Developing Bug-free C Programs 《编程精粹--Microsoft 编写优质无错C程序秘诀》 6. Programming Embedded Systems in C and C++ 《嵌入式系统编程》 7.《C语言嵌入式系统编程修炼》 8.《高质量C++\\\/C编程指南》林锐 尽可能多的编码,要学好C,不能只注重C本身。

算法,架构方式等都很重要。

计算机专业和软件工程专业异同

1、基础知识: :能看懂硬件工作原理,但在嵌入式软件别是操作系统件,那将是我的优 势。

科目:数字电路、计算机组成原理、嵌入式微处理器结构。

汇编语言、C\\\/C++、编译原理、离散数学。

数据结构和算法、操作系统、软件工程、网络、数据库。

方法:虽科目众多,但都是较简单的基础,且大部分已掌握。

不一定全学,可根据需要选修。

thec++programminglanguage(一直没时间读)、数据结构-C2。

2、学习linux: 目的:深入掌握linux系统。

方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。

先看深, 那主讲原理。

看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。

剖析则是0. 11版,适合学习。

最后深入代码。

主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。

3、学习嵌入式linux: 目的:掌握嵌入式处理器其及系统. 方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。

(2)嵌入式操作系统类:ucOS\\\/II简单,开源,可供入门。

而后深入研究uClinux。

(3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友) 主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。

4、深入学习: A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。

B、通信协议及编程技术:TCP\\\/IP协议、802.11,Bluetooth,GPRS、GSM、CDM A等。

C、网络与信息安全技术:如加密技术,数字证书CA等。

D、DSP技术:DigitalSignalProcess,DSP处理器通过硬件实现数字信号处理算 法。

说明:太多细节未说明,可根据实际情况调整。

重点在于1、3,不必完全按照顺序作。

对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺术,一种文化, 一种哲学理念、但不是拿来炫耀得东西。

对于linux内核,学习编程,读一些优秀代码也是 有必要的。

注意: 要学会举一反多,有强大的基础,很多东西简单看看就能会。

想成为合格的 程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。

一定要理论结合实践。

不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱 好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。

还有一些不愿意做但必须要 做的

技术是通过编程编程在编程编出来的。

永远不要梦想一步登天,不要做浮躁的人,不 要觉得路途漫上。

而是要编程编程在编程,完了在编程,在编程

等机会来了在创业(不要 相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。

嵌入式书籍推荐 Linux基础 1、《Linux与UnixShell编程指南》 C语言基础 1、《CPrimerPlus,5thEdition》【美】StephenPrata着 2、《TheCProgrammingLanguage,2ndEdition》【美】BrianW.KernighanDav idM.Rithie(K&R)着 3、《AdvancedProgrammingintheUNIXEnvironment,2ndEdition》(APUE) 4、《嵌入式Linux应用程序开发详解》 Linux内核 1、《深入理解Linux内核》(第三版) 2、《Linux内核源代码情景分析》毛德操胡希明著 研发方向 1、《UNIXNetworkProgramming》(UNP) 2、《TCP\\\/IP详解》 3、《Linux内核编程》 4、《Linux设备驱动开发》(LDD) 5、《Linux高级程序设计》杨宗德著 硬件基础 1、《ARM体系结构与编程》杜春雷着 2、S3C2410Datasheet 英语基础 1、《计算机与通信专业英语》 系统教程 1、《嵌入式系统――体系结构、编程与设计》 2、《嵌入式系统――采用公开源代码和StrongARM\\\/Xscale处理器》毛德操胡希明 著 3、《BuildingEmbeddedLinuxSystems》 4、《嵌入式ARM系统原理与实例开发》杨宗德著 理论基础 1、《算法导论》 2、《数据结构(C语言版)》 3、《计算机组织与体系结构?性能分析》 4、《深入理解计算机系统》【美】RandalE.Bryant DavidO''Hallaron着 5、《操作系统:精髓与设计原理》 6、《编译原理》 7、《数据通信与计算机网络》 8、《数据压缩原理与应用》 C语言书籍推荐 1.TheCprogramminglanguage《C程序设计语言》 2.PointersonC《C和指针》 3.Ctrapsandpitfalls《C陷阱与缺陷》 4.ExpertCLanuage《专家C编程》 5.WritingCleanCode-----MicrosoftTechiniquesforDevelopingBug-freeCProgr ams 《编程精粹--Microsoft编写优质无错C程序秘诀》 6.ProgrammingEmbeddedSystemsinCandC++《嵌入式系统编程》 7.《C语言嵌入式系统编程**》 8.《高质量C++\\\/C编程指南》林锐 尽可能多的编码,要学好C,不能只注重C本身。

算法,架构方式等都很重要。

这里很多书其实是推荐而已,不必太在意,关键还是基础,才是重中之重

推荐一些学C++的书

这是某个网友的工作总结,很适合你的。

掐指一算工作也已经十个月了,再过两个月就算是我合理度过工作一年的门槛,这一年学到了什么,错过了什么,很值得在新的一年开始的时候反思及总结一下,不然未来可能会更加盲目。

回想起2008年刚刚出来找工作的时候,仅仅是学了《C++ Primer》一书,并且看过《Programming With MFC》的前面大部分章节,竟然找工作很顺利:)因为好像大部分纯粹是从学校出来的毕业生,哪怕是科班出生的,因为教材即教育方式的限制,甚至都还不知道什么叫标准库-_-!我没有夸张,这是我工作后了解到的现实,也是与一些后来在读大学生交流后才知道的。

所以,虽然我当时感觉自己知道的并不多,但是实际上公司却发现我似乎懂得很多:)刚开始的计划:作为电子通信专业出来,但是最后走向纯粹软件行业的我,知道自己的不足,对于基础知识的掌握太过薄弱,可能会限制自己将来的发展,我一开始工作就知道的。

我并不认为起步阶段,在我们公司,更熟悉得一些C++语法能够是一辈子的优势,这些在工作一年以后都会成为泡沫。

所以这刚开始的时候,其实我给自己定下了一些目标:1. 首先当然是继续学习好C++,争取把找工作前读了一半的《Effective C++》读完,另外应该再接再厉将《More Effective C++》和《Effective STL》读完。

2. 数据结构及算法部分我一直认为是自己最最欠缺的,因为毕竟大学学的“软件技术基础”课程和真正的计算机专业相差太远,所以我一直以来认为自己起码在开始的一年中补上,定的计划是学习完Weiss《数据结构与算法分析 C++描述》和《算法导论》一书。

3. 当时刚开始进公司,是分配到网络游戏服务器小组的,一开始自己就对服务器方面能开发网络程序抱有兴趣,学习网络方面的知识自然也在计划之中,当时的设想是在Windows方面学习《Win32多线程编程》,Linux方面学习《Unix环境高级编程》,《TCP\\\/IP详解》第一卷,《Unix网络编程》第一卷的。

以上就是我为自己一年工作后应该学习的东西。

到现在回头看看,感慨颇多,因为虽然一年期限只剩下2个月了,其实还有太多太多事情没有做。

计划的未完成:第1步的书我仅仅只看完了《Effective C++》。

因为当时买的都是原版书,所以看完《Effective C++》都是硬着头皮上的,后来好像总感觉精力不足,没有勇气看下去了,或者是自己感觉有更多更重要的事情需要去做,所以就没有继续了。

第2步我一直认为很重要,中途的确也开始学习过,就在前段时间,我不仅仅是看Weiss《数据结构与算法分析 C++描述》一书,并且还附带同步阅读侯捷的《STL源码剖析》一书,最最绝的是,因为刚学完好几种语言,我当时是尝试用各种语言去实现书上的算法和数据结构的。

但是学习完了二叉树部分以后,我的工作转到了反外挂上面,因为的确比较喜欢这样底层的工作,所以大部分工作后的时间(本来就不多)都自己去弄汇编去了,数据结构的学习也就中断了。

第3步,除了《Win32多线程编程》一书我的确是从头到尾看过了,《Unix环境高级编程》当时是安排在公司利用吃饭的间隙和下午休息时间看的,但是仅仅是看了个开头,然后我的工作从服务器组换到了客户端去了,公司此时服务器紧张,唯一的一台Linux服务器也分配给了网络方面去做数据库去了,我在公司甚至一台可以登陆的Linux服务器都没有,所以作罢,当书从公司带到家里来后,因为当时家里也有别的学习计划,所以中断了。

《TCP\\\/IP详解》第一卷一书TCP,UDP部分因为刚开始做服务器时,在总监的指导下(其实就是给我用工作时间来看),大概看过了,《Unix网络编程》第一卷也是出于同样的原因我看过了利用套接字编写简单的TCP,UDP程序部分,其他的后来都没有看。

总而言之,从计划的完成角度上来看,我这一年是及其失败的,因为似乎该看的都没有看。

该学的都没有学。

但是回过头来看,其实计划一开始指定的时候是我刚刚开始工作,懂得并不多的时候,很多时候我的学习并没有怠慢,仅仅是因为工作中碰到感觉自己更感兴趣,或者是觉得更有作用的知识,所以学习方向有所偏差了。

计划不如变化:的确后来发生的事情是计划不如变化了-_-!因为第一个实际的工作并不是和网络有关的,所以刚开始工作时网络知识的学习中断了,看过我以前的总结的人就会知道,我来公司做的第一个事情就是一个“未控制异常Dump系统”我也不知道该怎么描述这个工作,也许用英文更能表达,“Error Dump”。

在做这个工作的时候总监为了让我理解SEH,所以拿出他的《Windows核心编程》给我看,看完此章节后,我如获至宝,感觉此书非读不可,好书就是好书,哪怕我仅仅是突然读了12章节,都会觉得欲罢不能,所以,最后我从网上购得此书,完全学过

受益良多

在此推荐一下此书^^在看此书的这个时候我的第2个工作内容也正如火如荼的进行,基本上那时候在公司我就看《Windows核心编程》在家我就看《Effective C++》,我的第2个工作(不是换公司哦,仅仅是换了内容)是做一个文件系统,一个这么大的东西给我一直当时刚参加工作不到一个月的家伙,说明公司的确还看的起我,我一直这么认为:)其实这个文件系统的修补及优化一直是贯穿与我这一年的工作的-_-!直到最近还有个莫名奇妙的非必出Bug还没有解决-_-!就是在这个工作中我第一次写概要设计,详细设计等设计文档,并开始自己设计并编码完成一个独立的模块,对于这些知识的重要,在现在看来,怎么评价都不过分,这是我非常非常感谢公司的地方,能够在一开始就给了我这样重要的机会,当时还趁着公司的需要,学习了一下软件工程方面(当时甚至不理解什么叫需求-_-!)的和UML方面的知识。

这些我也是感觉受益良多。

对于这么一个比较大的系统,我自己对怎么编码才能够在后期能够很好的改动维护也慢慢的有了一些想法,特别是对于OO思想的领悟感觉上了一个台阶。

毕竟我刚开始工作的时候,还谈不上任何成型的思想的,仅仅是懂C++语法而已。

接下来的工作很有意思,我得将我在Windows下写的文件系统移植到Linux下面去,这期间我开始在工作中真正的接触Linux(以前读书的时候仅仅是玩Linux,其实牵涉到编程的很少),这期间虽然工作中因为原有的框架很成型,并没有太多的需要我学习的地方,但是我还是学习了一下Makefile的编写,g++的使用,并且再一次的用上了Vim,呵呵,当时那样用Putty登上服务器编写的模式,除了Vim我似乎没有别的选择。

但是此时我还是勉强的适应Vim而已。

此时也大概的了解了一下哪些函数可能是MS扩充的,哪些是ISO的,哪些是POSIX的,起码对于这些概念都有了了解,以后也不至于编写可移植程序还使用Win32 API的错误:) 最最有意思的是,在客户端弄了这么久,服务器已经暂时不需要我了,于是我继续在客户端方面工作,包括一个游戏TrayIcon功能,外置聊天窗口,这是对于GameUI方面的知识有所了解。

然后是为游戏引擎分析并选择一个最佳的XML解析器,再然后是为游戏底层类创建,添加了一个工厂模式。

其实那时也还没有理解XML到底是什么用的,为什么我们游戏需要那么麻烦速度又不快的配置,那时候也不明白优化的过程中其实使用的是重构的思想,也不明白工厂模式这样的设计模式到底有什么功能,仅仅是参考CEGUI的实现硬生生的照搬了一套。

但是说实话,不是这次的经历,在第二次再碰到设计模式相关的知识需要时,我也不会下定决心,最后读完了一整本原版GOF的《设计模式》一书。

再后来的工作就更有意思了,客户端总监叫我好好的看看Lua方面的知识,方便为客户端添加一套脚本系统。

这时真是变化太快,这些知识完全脱离了计划,因为公司能够让我用整天整天的工作时间来看书,我无论是上班还是下班都在看书,整整学习完了一本《Programming in LUA》,对于脚本语言的特性理解受益匪浅,对于LUA这样的为嵌入式而生的脚本语言更加是了解了更多。

此时虽然因为公司考虑到因为游戏已经快要完成,此时添加这样的脚本系统不再合适,所以使用Lua的工作中断,但是我对脚本语言的兴趣并没有中断,我接下来不仅没有放弃LUA的学习,甚至想起来接着学完以前学过又中断的Python,看完了《Python核心编程》一书。

学完Python后对于脚本语言的兴趣更加是无法收拾了,对于Python语法的优美感叹不已,库的丰富更加是五体投地。

这也是后来我能够教女朋友去学Python的原因:)这和当年教她学习C简直就是两种体验-_-! Python学习告一段落后,也一直没有使用机会,然后处于对Linux的兴趣,我开始独自摸索,我通过看完一本《Bash高级编程》学习了Bash,这是我学习的第3个脚本语言,但是说实话,感觉Bash是3个里面最难的,-_-!但是就是对Bash的学习,让我感觉Linux不再是繁复的操作系统,一切通过Bash来完成,很多时候能够比图形界面更加快,更加有效,这是实实在在的进步,因为以前在命令行中老是重复的敲代码,快烦透了,学了Bash以后我也开始知道什么叫“懒惰的程序员”了,那就是能够自动化操作的绝不自己一步一步操作:)再加上学习Lua,Python,Bash时都能统一用到的Vim编辑器,我对Vim的使用已经从勉强没有办法的适应到了没有Vim没有办法生存的地步。

对于这么一个刚开始复杂到吐血,到用熟了极大的享受的工具,也让我慢慢有了一些思想,能够节省我时间的工具,我总是愿意去花时间学习,因为无论其多复杂,学习曲线再长,学会了还是受益无穷的

这对于我后来提高工作效率,愿意花时间去学习任何看起来能够对我有帮助的工具起到了决定性的作用

要知道,很久以前的我是语言至上,工具仅仅是工具,没有什么技术含量,谁不能学的思想

这个时候我才慢慢领悟到总监所说“工欲善其事必先利其器”的思想

于是我愿意花时间去学习Total Command提高我平时管理文件,操作文件的效率,去学习Visual Assist去提高我编码的效率,去学习AQTime以提高我profile的效率,学习DevPartner以提高开发后Test的效率,学习SoftIce, OllyDbg, IDA Pro去提高我反汇编的效率,这些都和我使用Vim从勉强到离不开的经历有关

再到了后来我写了一个日志服务器,用以记录游戏运行时候的数据,虽然用到了MySQL C API,但是我竟然一直没有想过好好地去重新学习SQL和MySQL的使用,这是我工作以来的第一次-_-!工作中碰到,然后自己没有去好好深入学习的东西可能就是数据库了,包括后来我再次用到了SQL Sever时,我还是没有深入去学习。

然后开始完成工作中最大规模的系统,游戏服务器的监控系统,对于一个这样包含了监视,控制等操作的大型系统,设计来管理公司将来所有运行的服务器,而此系统几乎我是一人独立设计编码完成的

初期的概要设计阶段,由我设计监控点端,由一同事设计监控中心,到了后来,除了监控的前段界面不是我做的,我一人全部包揽其他所有部分的设计及编码工作。

此工作让我对于一个系统整体的理解,设计,以编码实现的思想提高,怎么评价也不过分。

其中最有意思的一个插曲是在监控点一端我用到了状态机模式,也就是这样,老总推荐了我一本书去看GOF的《设计模式》,虽然他仅仅是叫我去看看状态机模式,并完成工作,但是按照本人的工作惯性,最后还是将整本《设计模式》23个设计模式完全看完,呵呵,只可惜,从那以后好像一直没有再开发一个系统的工作可以做了,所以学到的东西都还在肚子里面没有办法发挥。

再后来通过做一个内存管理模块,对于号称C\\\/C++最大的缺陷,内存管理部分有了一定的了解,但是这个工作由于比较仓促,说实话,最后的了解实在有限。

但是对于我后来去看《STL源码剖析》最最前面的内存分配器方面的内容帮助不小,对于此号称很难的部分理解起来几乎全无困难。

再到后来,我开始做工具-_-!这是最无聊的工作,虽然是优化,但是我几乎重做,这里我需要反思,因为我无规模概念的将本来可以短时间内完成的工作用了很长时间才完成,但是我在此时对于优化C++代码的一些问题慢慢在脑海中形成。

并且在这段时间中我按照原有计划,开始学习数据结构的知识。

再接下来,我更进一步的去优化了原有的文件系统,使得其速度得到了很大的提升,这时候我爱上了AQTime这样一个工具,就是它使得优化工作从以前的不停插入GetTime代码,到后来的编码完成,运行,看数据这样享受的过程

再后来,开始做反外挂工作,现在也还在做,但是慢慢的发现老总的想法和自己有所偏差,我一直希望尽量高强度的去预防,而老总却常常觉得到一定规模就够了,因为毕竟我们不是专家,花太多时间并不值得。

这段时间我将我全部的精力都用在了反汇编上面,看了不少C++的反汇编代码,结合前段时间看的《Inside C++ Object》一书,理解透了不少东西。

正好也学习了一下C\\\/C++中调用汇编代码和汇编代码中调用C\\\/C++函数的方法,这些在将来做汇编优化的时候肯定有用。

说实话,我很高兴我能在工作的初期阶段就能进行类似这样的工作,去了解壳,PE文件结构等知识,这些工作的受益可以是影响一辈子的

和数据结构的知识相比也毫不逊色!我当时的想法我趁此时投入全部精力好好的学习Win32 汇编,但是看起来现在是没有太多时间了。

此事中间有个插曲,为了防止太容易的被人反汇编,我们在整个反外挂系统中加入了一些Python元素,这部分的工作因为我以前学过Python自然的交到了我头上,而我在额外熟悉了Python C API接口的基础上,肯定是很快的完成了任务:)这点倒真是戏剧性,工作外的学习,最后也对工作有了帮助。

接下来的目标:第一年就学习的我这么杂的程序员估计不多了,的确太杂了,所以我还是好好的按照原有计划来,将网络部分好好精通吧,不然感觉和一事无成也差不太远,虽然就算上述所有的杂项知识都用不上,其实对于我对于一些新API的掌握也比刚开始的速度要快多了,毕竟学的多了:)网络,这是我剩下两个月中最最重要的目标。

我要在工作满一年之际,发现我已经可以编写一般的网络程序,甚至小型高效的网络框架

本文来自CSDN博客,转载请标明出处:

计算机科学与技术学些什么?适合什么样的人学?

学计算机,首先编程趣,毕竟兴趣是最大师。

其次,要有的毅力,计算机科学是一门理论性和实践性相当强的学科。

理论学习十分的枯燥,理科老师上课的方式大多也是照本宣科,学生在课堂上会感到很无聊。

而在实践中,对自己编写的程序进行调试也是相当头大的事情,需要注意每一个细节才能找出错误和不合理的地方,才能顺利执行一项程序。

第三,需要很强的自学能力。

大学毕竟是一个培养自学能力的地方,自学能力十分的重要,而计算机科学技术是一门日新月异的科学。

所以自学能力是相当重要的。

至于学什么,我这里只罗列专业课了。

大学应该都会学习这些课程:C语言程序设计,C++程序设计,微机系统与接口技术,现代软件工程,编译原理,计算机系统结构,编译原理课程设计,数据库系统原理,计算机网络,计算机组成原理,操作系统原理,汇编语言程序设计。

其他一些选修课因学习而异。

另外,英文一定要好,计算机顶尖技术在美国,最新的技术文献都是英文的。

所以英语关也要过的。

(四川大学)\ 我认为能学计算机学科的人: 第一:十分热爱计算机,对计算机各种知识很感兴趣***** 第二:数学要好,逻辑思维能力要强*** 第三:要能静下心来,因为计算机是注重实践的工科

没有实践,到头来就没什么收获。

***但是,女生上计算机,很多人认为不是很好。

我们系的女生,一般学习成绩不错,但她们动手能力较弱。

有些公司在不愿招女生,其实工科女生都不好找工作,。

目前计算机不被看好,如果毕业后资质平平,则更难找工作。

归根结底,还是要看你的学科素质(对本科生而言,就是动手能力),也就是说,努力过,没有学不会的。

(太原理工)\ 数学基础要要,尤其是逻辑思维很重要 计算机科学技术包括很多方向 主要有1.软件编程,这个就要和程序打交道,虽然枯燥却很有前途 2.网络工程 主要是网络构建 基本的网络知识 3.硬件 就是计算机的具体构造,各个部件的联系工作原理 这个专业学的东西比较广,以上三个方向都会涉及,所以建议你选择一个方向主攻 具体的课程大概有 高等数学 大学英语 数据结构 离散数学 操作系统 数据库 计算机网络 程序设计语言(C java==)体系结构 等 学这个专业最好不要买电脑因为大多数人都想可以多实践一下 结果到最后都没好好用 (河南农业大学)\ 我认为,学计算机,首先要对编程有兴趣,毕竟兴趣是最大的老师。

其次,要有一定的毅力,计算机科学是一门理论性和实践性相当强的学科。

理论学习十分的枯燥,理科老师上课的方式大多也是照本宣科,学生在课堂上会感到很无聊。

而在实践中,对自己编写的程序进行调试也是相当头大的事情,需要注意每一个细节才能找出错误和不合理的地方,才能顺利执行一项程序。

第三,需要很强的自学能力。

大学毕竟是一个培养自学能力的地方,自学能力十分的重要,而计算机科学技术是一门日新月异的科学。

所以自学能力是相当重要的。

至于学什么,我这里只罗列专业课了。

大学应该都会学习这些课程:C语言程序设计,C++程序设计,微机系统与接口技术,现代软件工程,编译原理,计算机系统结构,编译原理课程设计,数据库系统原理,计算机网络,计算机组成原理,操作系统原理,汇编语言程序设计。

其他一些选修课因学习而异。

另外,英文一定要好,计算机顶尖技术在美国,最新的技术文献都是英文的。

所以英语关也要过的。

(四川大学)\ 计算机科学与技术这个专业比较适合理工科学生学习,爱思考的人是最好了,逻辑性思考要强,对数学感兴趣了

\ 我觉得上面的人能学好,可是,事在人为,努力最重要了 四年的专业课根据大学的不同而不同,主要有: 高等数学、线性代数、离散数学、C\\\/C++语言、数据结构、计算方法、数字逻辑、数理逻辑、java语言、计算机组成原理、操作系统、汇编语言、编译原理、计算机专业英语、计算机网络原理、数据库系统原理、软件工程,还选有算法设计与分析、软件质量测试保证、数据库实现与应用、Vc++.net、UML与软件开发工具等 (黑龙江大学)\ 许多人学计算机可能是看好了就业前景,但我个人觉得,如果想要有兴趣,学好,包括以后想要干好这行的话,至少要有比较强的逻辑能力,数学一定要学好,这个很重要,学习能力和接受新事物能力也要强,从宏观到微观的分层思想,理性要强于感性的人,一般都可以学好计算机了,我觉得不适合学计算机的人,就不要勉强,很痛苦,而且干不好。

而且计算机很笼统,其实有很多分支的,比如侧重物理硬件的偏硬方向,还有数学逻辑的软件方向,还有和大家关系密切的商务方向,等等,找到自已的一个定位很重要,北航的计算机专业,前几年我不敢说,但这几年在北京排No.3是没有任何问题的,就业行势相当不错。

(北京航空航天大学)\ 我现在已经就业了,所以会以过来人的身份给你一点参考,一切还得看个人而言。

至于什么样的人适合学习计算机,我想没有什么定论,但一定要注重两点: ?自制力较好 ?再学习能力较强 计算机专业往往是知识者的天堂,堕落者的地狱,很多人在MORPG中沉沦是不争的事实,大约80%以上的计算机专业学生在大学里是一无所获的(除了GAME^^!),IT技术的发展速度是日新月异的,新的技术会层出不穷,大学里的知识会平均落后市场标准,企业文化10年以上,举个简单的例子,当大学还在教授C语言等面向过程语言时,业界早已推崇C#,VB.Net等面向对象的高级语言。

所以大学期间不过是一个打基础,铺桥梁的过程,知识的更新积累不是靠每天上几次课,认真完成作业就可以做到的,应该多关注时事动态,IT界领先的技术,思想,架构,选择一门自己认为感兴趣,值的学习的语言去学习,去深入的研究。

声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。联系xxxxxxxx.com

Copyright©2020 一句话经典语录 www.yiyyy.com 版权所有

友情链接

心理测试 图片大全 壁纸图片