当前位置:首页 » 编程软件 » 编译原理收获感悟思维提升

编译原理收获感悟思维提升

发布时间: 2022-12-31 22:37:23

A. 如何程序员提高自己的逻辑思维

1、 学习一门脚本语言
可以让你摆脱对底层语言的恐惧感,脚本语言可以让你很快开发出能用得上的小程序。实践项目:
处理文本文件,或者csv (关键词 python csv, python open, python sys) 读一个本地文件,逐行处理(例如 word count,或者处理log)
遍历本地文件系统 (sys, os, path),例如写一个程序统计一个目录下所有文件大小并按各种条件排序并保存结果
数据库打交道 (python sqlite),写一个小脚本统计数据库里条目数量
学会用各种print之类简单粗暴的方式进行调试
学会用Google (phrase, domain, use reader to follow tech blogs)
为什么要学脚本语言,因为他们实在是太方便了,很多时候我们需要写点小工具或是脚本来帮我们解决问题,你就会发现正规的编程语言太难用了。
2、 用熟一种程序员的编辑器(不是IDE) 和一些基本工具
Vim / Emacs / Notepad++,学会如何配置代码补全,外观,外部命令等。
Source Insight (或 ctag)
使用这些东西不是为了Cool,而是这些编辑器在查看、修改代码/配置文章/日志会更快更有效率。
3、 熟悉Unix/linux Shell和常见的命令行
如果你用windows,至少学会用虚拟机里的linux, vmware player是免费的,装个Ubuntu吧
一定要少用少用图形界面。
学会使用man来查看帮助
文件系统结构和基本操作 ls/chmod/chown/rm/find/ln/cat/mount/mkdir/tar/gzip …
学会使用一些文本操作命令 sed/awk/grep/tail/less/more …
学会使用一些管理命令 ps/top/lsof/netstat/kill/tcpmp/iptables/dd…<</p>
了解/etc目录下的各种配置文章,学会查看/var/log下的系统日志,以及/proc下的系统运行信息
了解正则表达式,使用正则表达式来查找文件。
对于程序员来说Unix/Linux比Windows简单多了,学会使用Unix/Linux你会发现图形界面在某些时候实在是太难用了,相当地相当地降低工作效率。
4、 学习Web基础(HTML/CSS/JS) + 服务器端技术 (LAMP)
未来必然是Web的世界,学习WEB基础的最佳网站是W3School。
学习HTML基本语法
学习CSS如何选中HTML元素并应用一些基本样式(关键词:box model)
学会用 Firefox + Firebug 或 chrome 查看你觉得很炫的网页结构,并动态修改。
学习使用javascript操纵HTML元件。理解DOM和动态网页,网上有免费的章节,足够用了。或参看 DOM 。
学会用 Firefox + Firebug 或 chrome 调试<</p>
在一台机器上配置Apache 或 Nginx
学习PHP,让后台PHP和前台HTML进行数据交互,对服务器相应浏览器请求形成初步认识。实现一个表单提交和反显的功能。
把PHP连接本地或者远程数据库 MySQL(MySQL 和 SQL现学现用够了)
跟完一个名校的网络编程课程,不要觉得需要多于一学期时间,大学生是全职一学期选3-5门课,你业余时间一定可以跟上
学习一个+ Ajax (异步读入一个服务器端图片或者数据库内容)+JSON数据格式。
HTTP: The Definitive Guide 读完前4章你就明白你每天上网用浏览器的时候发生的事情了(proxy, gateway, browsers)
做个小网站(例如:一个小的留言板,支持用户登录,Cookie/Session,增、删、改、查,上传图片附件,分页显示)
买个域名,租个空间,做个自己的网站。

B. 读书活动个人读书方法总结

读书活动个人读书方法总结

书是智慧的翅膀,书是我们人类最宝贵的财富。在学校组织的营造书香校园系列活动中,为了给学生营造一个书香环境,为了让每一个孩子都与书交朋友,为了激发他们读书的兴趣,让他们想读书、爱读书、会读书,从小养成热爱书籍、博览群书的好习惯,我班主要做了以下系列工作:

一、阅读时间,得到保证

1.每两周安排一节课外阅读指导课,主要是利用早读进行必要的指导。

3.回家后学生自主阅读40分钟,并做好读书笔记。基本上每周两次摘记。

二、为学生提供了阅读交流和展示的平台

1.生生共读。每天利用课余时间最少进行四十分钟的阅读,并进行读书心得交流。

2.师生共读。从老师自身做起,以身作则,每天做到和同学们一起读书。师生同读一本书,在班上讲故事相互交流。

3.教给学生掌握几种常见的阅读方法:一是精读法,要求每分钟读200字以上,理解率在90%以上;二是略读法,要求每分钟读200~400字之间,理解率在80%左右;三是快读法,能一目十行法,要求每分钟读400字以上,理解率达到70%。

4.指导学生针对性的阅读。

(1)告诉学生读书要在心中有个自读提纲:比如①看见了题目你想到些什么②读后你知道了什么还想知道些什么③你还有哪些不明白的问题要求学生做到眼到心到。

(2)然后重点强化“不动笔墨不读书”的方法:①圈点勾画。即用相关的符号在书上记录下自己阅读时的见解、感受。②做批注。即在文章旁边写出自己的见解和感受。

5.布置实践性作业,锻炼实践能力。为了检查学生的阅读质量,开展相应的活动。如利用读书卡开展“向你推荐一本好书”、“读书心得”等内容,让学生联系实际谈读书心得,大家一起进步。通过读书笔记、手抄报让学生展示从课外阅读中获取的知识。

三、阅读内容,得到落实

1、发挥班级读书角的作用。鼓励每位学生从家里拿五本书来,和学生交换看,丰富读书资源。

2、利用好语文同步阅读。和课文配套的同步阅读我们都要求学生能阅读好。

3、利用好校本教材《国学》,进行经典阅读。

有付出必有收获。一学年来,学生读书并没有多少可供量化的成果,但从很多学生的写作水平的逐步提高就可见端倪了。雨果说:“书籍是改造灵魂的工具。”确实好书就如同是好的生活教科书,它能够教人怎样做一个正直的人。我相信,随着时间的推移,只要学生能在老师的引导下,变得热爱读书了,变得喜欢思考了,学会怎样做人了,就是他们读书后最大的收获。

个人读书方法总结2

不过看这个的前提是:每个人的读书习惯都是不同的,不要随便“全盘”拿别人的习惯来培养自己的习惯,找到合适自己的才是最重要的。“全盘”二字重点,不要全盘接受别人的习惯。我下面所说的也不一定是读到我文章的人所需要的。

我的读书方法,一些是我爸爸培养的,一些是我以后总结的。

1、挑选合适的时间连续阅读。

我也一样不推荐计划阅读。看了Jun Yang的文章,在这一点有些共鸣。

C专家编程的作者Peter Van Der Linden曾经玩笑的解释“什么时候数组与指针相同”这个标题的时候说:

The C Programming Language,第二版(K&R)99页的底部是:

作为函数定义的形式参数,

然后翻到第100页,紧接前一句,

char s[]和char* s是一样的。

呜呼,真是不幸,这么重要的一句话竟然在K&R第二版种被分别印在两页上。

嗯,如果按计划看这样的书,恰巧看到99页,而不看100页,那么100页的关键部位岂不是看不到?呵呵,玩笑。

毕竟连续阅读头脑才有印象。看书不是锻炼,看书不是锻炼记忆力,获取书本知识不能“量化”。

2、快速浏览,然后多看几遍。

这个是我爸爸在我小时候就给我提的,我接受了这个建议到现在。他给我说:书你一遍看完就掌握其中重要的内容是不现实的。但是在掌握之前要有个大概的印象,掌握这个印象的方法就是快速浏览,不要知道某些条目是为什么,需要研究的重点就记下来,第二次看的时候再去仔细看,能理解多少就是多少,第一次要以看完为目的。而真正掌握,是随后的通读,有了第一遍的基础,随着看这本书的次数增加,看书速度会越来越快,因为头脑里早已经知道那些是没有掌握的,已经掌握的就会快速略过,但是会加深印象。此后可以带着实际问题从新来翻阅该书,会有更深的理解。《C++Primer第三版》潘爱民老师翻译的版本,我在2002年购买到现在看了不知道多少遍了。从最初的花了近3个月的浏览第一遍,到现在的可以花一天就可以通读一遍。期间给我带来了不少好处。

曾经非常非常不待见这种方法,自从亲身使用过好感到确实是好方法。特别是一些技术书籍,尽管你第一遍看的很仔细,你仍然不能记住对你来说第一次接触到的概念,读多了(可能跟艾宾浩斯曲线有关吧),记住的概念多了,也就更好理解了。

3、学会记忆也要学会忘记。

记住重点,尽量忘记细节。甚至记住哪本书可以找到这个概念就够了,然后忘记它。每个人对待书的态度不同的,或许与自己的成长经历有关。我的习惯是,记住重点,想了解细节再去查。学会记住很难,其实学会忘记也很难。有时候记忆是一种负担,日积月累会很沉重,不用的知识会越来越多,而且书承载的是作者他的想法,看书在吸收知识的时候,无形中也在被作者所“干涉”思想。但模仿的过程是学习的重要过程,但脱离不了模仿就不能成为自己的思想和知识。学会查是一种重要的手段,还是《C++Primer》,前几天我还就构造函数和析构函数的细节,特别对多继承的析构函数作为重点仔细看了一下,有时候一些类似常用的概念,有很多种形式,平时也就用最常用的,那些不常用换言之特殊的概念,能查就可以了。嗯,看了Jun Yang的第二点,他说“知识存储机器”,呵呵有些夸张了。不过也可以理解他这么说,上面我已经提到书本给我们带来的负面影响了。

“看书”而不是“读书”,读书也是中国常用词语。英语就是read book。很多人都喜欢用嘴去“读”书,或者边看书边自言自语。这是不太好的一个习惯,读是一种干扰人思维的方式。语言虽然能加深记忆,但会影响思考。

4、不要“太”强迫自己。

不喜欢就不要看,看不进去可以极端的选择干脆不看,或者隔一段时间再看,或者静下心来的时候再看,或者换一本同类的书,按照自己需要的知识点来寻找书籍。曾经和朋友交流过,他说《编译原理》也就是那本经典的“龙书”,虽然他也知道很好,可怎么也看不进去,不知道为什么。但是看《编译原理与实践》,他很容易的就看进去了,之后,他根据掌握的编译原理写了一个汇编语言的代码着色器,可以生成UBB代码和HTML代码。

我为什么要突出不要“太”强迫自己这个“太”呢?有时候也需要强迫一下自己,不能太随性,也得掌握一个度。有时候很重要的概念书籍,看起来是很枯燥的,朋友建议看的书,可能有他受益过的地方。比如我看《Structure and Interpretation

of Computer Programs(SICP)》,就是那位只能看《编译原理与实践》的朋友推荐我看的,北大裘宗燕老师已经翻译为中文版。经典的SICP是用Lisp描述的,一本古老的介绍functional编程的书。看一点就感觉很乏味,但稍微强迫一下自己,就知道这本书的优异之处。我就是看了求解费波那契数列的使用递归,以及递归优化那一章,对我以后写任何语言递归的分析,受益那是一辈子的。比如C++之父写的书,就被公认的哲学味太浓,不适合绝大多数人阅读,但我就很喜欢看,书本就是这样,因人而宜,就像配偶一样,自然有适合自己的一位。

5、有时候需要追根溯源一下,有时候需要换一种角度来看书。

下面是来自:Bejarne Stroustrup在《C++语言的设计与演化》里面有关“引用”这个概念的提出时候的细节,更多的描述见该书裘宗燕老师翻译的版本第56页和第57页:

引入引用机制主要也是为了支持运算符的重载。Doug McIlroy还记的,有一次我向他解释某个预示了目前运算符重载模式的问题。他用的术语引用挑起了我的思绪,我嘟囔了一声谢谢就离开了他的办公室。当我第二天再出现时就带着已经基本完成的目前模式。Doug使我想起了Algol 68。

现在引用机制得到了大家认可,一些崇尚C语言高效,但有些抵制C++的牛人们也称赞了它,这是C++优于C的地方。这里不是讨论语言的,关于这些我就不再多说了。自从我看了这一段话之后,我头脑中所记忆的引用的概念就是“为了支持重载运算符而添加的机制”。嗯,现在可以在很多书或者文章里找到解释这个引用字眼,引用也不仅仅只用在“重载运算符”上。不过追根溯源看了重载运算符这里,什么时候该用指针,什么时候该用引用,我自认为写的代码里用的还算合适。中国人非常喜欢对某个知识追根溯源,如果时间允许的话这是好事,从源头找起,更有助于加深理解。

6、做笔记只是手段而不是最终目的,总结为自己的思想才是最重要的。

看书的最终目的,就是吸收书本知识,成为自己的思想。我个人不喜欢做笔记,我也不喜欢批注,我就喜欢一遍遍的看书。但记住,这是我个人的喜好而已,我父亲40岁之前看书就喜欢做读书笔记,而且很喜欢用没有条格的速写本做笔记,但是现在年龄大了看书多反而不去做笔记,喜欢小批注。喜欢做笔记的人,一般是喜欢把自己想要知道的重点记录下来,可以省却再次阅读书本的时间。或者用纸张记录自己的观点,给自己做自我总结。这是好习惯,但是我自己就是不喜欢,哈哈:)。我喜欢用我头脑需要的概念在头脑中总结,哪怕挑重点的再把这本书看两遍。以前研究COM的时候做过一段时间的笔记,后来逐渐就放弃了。

7、看到好书后不能读死书,更不能信奉为“天书”。

看书后不能白看,多多的反思自己,然后有批评的眼光看待这本书,看待自己甚至别人的观点或者代码。很早就感悟到“适度”的重要性,尽量不走极端,包括批评本身。但不知不觉就会慢慢走向极端,这时需要适度的修正自己,应用书本的知识。我听到过许多别人的话,比如C/C++已经过时,JAVA才是最先进的,或者C#有多么多么先进,或者UNIX哲学一派,面向对象就是些花哨的东西C语言就足够用了。这类极端的话有些是自己想的,但绝大多数是人云亦云的跟风和受书本的影响。说JAVA先进的,我会问他,你能用JAVA写操作系统嘛?说面向对象花哨的,我会拿出一些C语言很不容易编写的方面给他看,比如3D游戏。听到我的话这些人会闭嘴的,总有长处和短处存在。知其然,知其所以然。

8、书面知识是死的,实际应用才是活的,根据自己的需要,活用参考书。

有些书涉及的知识面很广,比如参考书,通读真的很难。如果条件允许的话,寻找一些实际的问题看书,会更好的理解。为了工作,我曾经就快速排序做过研究,也和许多朋友交流过。我带着这个问题翻看了许多算法书籍,包括《计算机程序设计艺术》《C算法》《编程珠玑》之类的经典着作,也参考了许多代码。《计算机程序设计艺术》很厚,我只取其中一章而已,这本书我没有看完,不过里面单独的几章,我看的很仔细。当然,我没看完也没资格给盖茨发简历.

9、给自己定位,你是否适合从书本获取知识。

我有个朋友,他几乎不看技术书,但是他的思维很开阔,很容易理解新概念和方法,我只需要和他说一说他随便上网看看资料就够了。他做的系统很耐用,我也不容易挑出毛病。看书反而限制他的思维方式,这点我拍马赶不上,我只能看看书,呵呵。所以说获取知识并不一定只有看书,朋友们的交流,网络上的论文和资料都是很好的资源。只给自己一个定位,是不是真的适合看书才能增长你的知识。记得以前和tinyfool有过一些交流,此人就是不需要看太多书籍的.人。

10、最好能和作者交流一下。现在互联网丰富,我们也可以通过邮件和作者交流了。

我研究快速排序的时候,曾经和Julian Bucknall,《Delphi算法和数据结构》的作者用电子邮件交流过,他给我指出了我理解上的偏差,让我受益匪浅。高山仰止,外加猜测理解,还不如直接去问作者。

最后,就用《论语》里的那句话来总结一下:学而不思则罔,思而不学则殆。

很赞,其中的几个建议也是我的习惯.

此外,我在学习一个知识点的时候,心中始终抱着一个目标,就是最终要能写出一篇很好的survey,这样一来在阅读思考的时候总是有意无意地在整理知识的结构,并且往深处想。我的实践表明这是一个很棒的技巧。

在楼主的基础上,补充几个我自己的读书习惯

1、在看新书的时候,就会拿几本一起联合着来看(而不管那其中的某一本书有多经典)。理解->总结->求交集->挑毛病->求证->结论或疑问(算是critical thinking的一种表现吧)

2、经常重复阅读。就是说,在这次开始读的时候,不是接着上次停掉的地方读,而是多向前覆盖一些,比如:一大段,几页,甚至前面的一整章。有时候还随机地翻开一本书来读,如果一旦发现找不到感觉,跟不上作者思路,就努力补充知识直到满意。

3、先在某些人面前表现得"强大"一些,然后为了弥补自己的过度膨胀,就必须要努力加倍地读书了……百试不爽的办法,呵呵,从小学时就这样干了

我的想法是,有时候换个角度从作者的角度来思考问题,比如说作者为什么要这么组织结构,作者是怎么说明某个问题的,这样思考的话,有时候会有意想不到的收获:-)

楼主说的很对,最近在看《算法导论》,症状基本和你说的差不多,刚开始时雄心勃勃,但过了一阵,效率降低很多,感觉楼主好像在说我,呵呵,开玩笑了。

前一段时间,为了自己的成就感,我只读书或者说只在意今天读了多少页,对于习题,做得不多或者做得不好。因为读书的时间相对于做题来说少的多,对于《算法导论》,你一个小时能看不少页,但当中的习题,有的一个小时根本做不完,因为你得思考。所以读书时的成就感大受打击,久而久之,就只看书,不思考了。当然,但我很兴奋的读完一章之后,发现自己的收获没有想象中的那么多。所以现在,自己把读书分为两个阶段--首先,对于一章,我会不看习题,一口气把它快速读完,这可以提高自己的成就感;之后,我会一节一节的细读、思考和做题,这期间自己的成就感很高(我一看完这一章了,呵呵),不过第二阶段的时间不宜过长,否则自己的成就感会降的很低,所以关键还得靠努力。这样用的时间或许很多,但收获也会很多。以上两个阶段,有点像预习、读书和复习。当然,这只针对于好书。一般的书,以增长见识为主。

个人读书方法总结3

一、 存疑。

要带着质疑的眼光去读书,不被作者的观点和思路牵着

鼻子走,任何事情都有特定的环境,任何观点都是辩证的,任何真理都是相对的,如果不抱着怀疑的眼光去看书思考,就会越看越迷惑,就会“尽信书不如无书”,无法获得真知。为了存疑,甚至可以强制自己对作者的观点去攻击一番,不把作者的观点驳倒不放手。

二、 精选。

尽量选经典和畅销书看,对难以读下去的书尽快丢进垃

圾桶。

三、 系统。

最好成系统地看书,围绕一个课题看书,在一段时间集

中看某一方面的书,通过对比、联系、发散、总结,形成对某个问题的较深入和全面的认识;

四、 浓缩。

每看完一本书都要浓缩成摘要,对好书最好回顾,做笔

记写心得,写出自己的概括,贴在书前,作为自己以后复习的内容。看一本消化一本,再看其他的书,以达到书越读越薄、能力越积越厚的目的;

五、 提纲。

但凡看一本书或者一篇文章,务必先看其目录或结构,

并记忆揣摩这个结构,如果是一篇文章,还可以先考虑一下作者会写一些什么。然后再看某段下边又写了几个层次,这样从宏观到微观逐步领会。在读完之后,再对自己感兴趣的内容进行重读精读;

六、 复习。

定时对看过的书和文章进行复习。

七、 带着问题去读书。

;

C. 编译原理和算法分析与设计哪个更难

编译原理和算法分析与设计相比,算法分析与设计更难。

算法分析的话比较偏重整数规划,数列的求解,组合数学等等,设计那就要靠悟性了,而且要见多识广,不管你使用的是什么语言,也不管语言怎么发展,数据结构是变不了多少的。算法设计也差不多,帮助你改善解决问题的思维。

算法分析与设计的内容:

算法设计与分析是整个CS课程体系当中最为重要的几门课程之一,因为这门课是现代计算机科学发展的核心课程,和离散数学、数理逻辑四论地位相当,号称必修中的必修,不过一般CS系不需要学数理逻辑四论,国内大学的四论教学开展的也不多。因此请大家一定要在这门课打好基础,学好这门课能让你未来的工作和学习非常轻松。

D. 如何提高编程的思维逻辑能力

想提高编程的思维能力就要把握好编程思维的这四点:

把握好“理解问题——找出路径”的高效思维过程,它由“分解—抽象—模式识别—算法”这四个步骤。

1、分解,简单来说,就是“把复杂的大问题,拆解成更可执行、更好理解的小步骤”,它能锻炼我们拆解复杂问题的能力。

2、“抽象思维”能力,它能锻炼我们聚焦重点,忽略无用信息,并抽取关键信息的能力。

3、模式识别,就是“如何找出相似的模式,并高效率解决细分问题”,它能极大锻炼我们规律整合的能力。

4、算法,就是根据之前一系列对于问题的理解,设计一步一步的解决路径,并解决整个问题。

反复训练提升这 4 项重要的思维模式,建立一种真正“抗打”的认知思维和学习能力,酒客快速提高了!

E. 大哥 大姐 求一篇 学计算机新技术的感想作文 我们听的是演讲 == 800字左右 拜托 急用啊 .......谢谢了

1.开场

自我介绍, 简单讲述我大学的学习的历程,成果和感想。(1分钟)

我一直都感慨本年级许多同学在大一时因为缺乏好指引,在一开始就对编程很害怕,对计算机的学习没有开好头,动手能力长期跟不上,空会理论,不会实践,一直拖累到大四,最终选择忍痛考研或者抱怨找工作难。我也帮助过不少在这方面比较弱的同学,但是总是因为基础没打好导致难以提高。我也一直希望学校能在大一的时候就让同学们明白学习的重要性,打好扎实的专业基础。现在终于有一次这样的机会站在这里,为指引大家如何在大学专业技术学习的道路上开好头做点贡献。
今天我将结合我自身的经历和我对计算机的理解,我对编程的感悟,我对大学学习的认识,给大家做报告。

首先问三个问题:
1) qq聊天软件是用什么语言写的(第二天要换个问题)

答对的演讲结束后留下来,我要亲自给他传授宝贵经验,没人答的话,很遗憾

2) 谁玩电脑游戏比较牛

恩,人很多,大家很踊跃,很好
展示下我写的人工智能黑白棋游戏,声明真正的编程高手基本从来不玩游戏
(结合大四同学长期沉迷游戏最后找不到工作的例子,说明一个严肃的问题,只会玩游戏没有用,会做游戏才牛,鼓励大家努力学习,让会玩游戏的同学也热爱编程,最后也能自己写游戏)
请大家记住:只会玩游戏没有用,会做游戏才牛

3) 有没有人对计算机特别感兴趣 (为什么感兴趣)

如果有兴趣,对学习计算机有巨大的帮助
兴趣是最好的老师,鼓励他们,勉励其他人,兴趣是可以培养的,要学会培养兴趣

2.概述

计算机"科学"与"技术" 包含两个层面
"科学" 指计算机硬件、软件与应用的理论知识 理论的学习
"技术" 指软件开发、工程实践等技能与方法 能力的培养
我主要讲的是如何学习技术(计算机技术)
讲之前 澄清一个观点 计算机技术 不等于 编程技术
编程只是一个工具,编程没学好不代表你技术就学不好
计算机技术应该是与计算机软件、硬件和网络三个部分相关的各种科技成果和应用的综合,包括了多媒体,数据库,操作系统,嵌入式系统,计算机安全,计算机网络,计算机管理和维护,计算机应用,人工智能,模式识别,管理信息系统等,在我们生活的方方面面计算机技术几乎无处不在。
(举几个例子)在现在社会,它几乎与我们的生活息息相关。
(大学和高中的学习方式的区别)(学好技术的重要性)
在大学,学习的方式与高中或小学是有很大的区别的,大学更大,大学更自由,不再是完全跟着老师,不再是只要吃透了老师教授的内容就万事大吉了,从我这一届的情况看,许多同学特别是女生在大学还沿袭着高中的学习方式,勤奋刻苦,天天自习,非常认真,上课笔记做得秘密麻麻,把理论学得非常扎实,但是却严重地忽略了实践能力的培养,理论考试分数很高,但课程设计做不出东西来,显然这种学习方式是不对的,这和高中的偏科又有什么本质区别呢。
我觉得理论的学习和技术的学习是同等重要的,二者都不应该轻视,没有侧重点是不可能的,至于如何侧重,如何在二者之间找到平衡点就取决于你自己的人生目标了。如果你喜欢研究理论,以后想继续读研深造可以稍微偏向理论,把理论基础打得扎实一些,毕业以后可以留校任教或到科研院所去发展。如果你想走技术路线,那么你就可以稍稍偏向技术,在不落下理论学习的情况下,把技术学好学精,毕业以后可以去IT企业发展,也可以自己创业,有了一身技术不怕没饭吃。切莫完全忽视技术最后变成书呆子或完全不顾理论最后只是个代码搬运工。

大家每个人,从现在开始就要下决心学好技术,那么,如何学好技术呢。

3.如何学好技术

3.1制定好的学习计划

3.1.1大一大二:打好基础

3.1.1.1计算机方面的基本技能的学习

包括计算机众多的应用技术的学习 和 常见的硬件维护
(大家应该尽量多多掌握计算机方面的基本技能,如word excel ppt access* photoshop* flash* dreamveaver* 结合我的经历讲讲,我大一在自己没有电脑的情况下把这些基本全学了 举一个考研的同学不会在excel里找自己的名字的例子,如果这些最基本的技能都不会,只能说计算机还没入门)大二有电脑之后,终于有机会整自己的电脑了,要学习常见的常见的硬件维护(系统崩溃了怎么办,如何安装操作系统,如何分区等)

3.1.1.2专业理论基础和编程基础的学习

技术是将理论运用到实践中去,不能轻视理论,没有理论何来应用。计算机"科学"与"技术" 中的"科学"和"技术"应该是相互依赖和促进的。

先学好《高级语言程序设计》《数据结构》等专业课,理论基础扎实了,学应用性技术就更容易了

编程基础:学精C++(为什么),可以考虑过渡到 java 或 C# (最好只学一个,为什么)
(编程的学习会在后面再详细讲)

3.1.1.3珍惜这两年大学自由学习的黄金时间
(曾经和一家公司的经理开玩笑,总经理感慨的说现在在大学里找一个又能力的学生来帮忙做项目真是很难啊,我说是呀,大学四年,大一的刚进校还在打基础没法做,大二的还刚起步没足够的能力做,大三的课程会很紧没时间做,大四的找工作的找工作去了,考研的考研去了,没人做了),大学四年,实则三年,希望大家不要把最宝贵的时间荒废在游戏和娱乐上

3.1.2大三:深入学习,确定方向(技术方向,职业规划)+多多实践

到了大三,各种专业课会非常多,包括很重要的操作系统,汇编,组成原理,编译原理,数据库,计算机网络,软件工程等等,大家将深入学习计算机的各大核心课程。这时大家的基础打得也差不多了,可以选择一门自己比较感兴趣的技术并确定自己的技术的一个方向,比如选择j2ee, .NET,WEB技术,数据库技术,嵌入式,linux内核开发等等。当然也会有非常丰富多彩的专业选修课可以选择学习。这段时间大家可以利用课程设计的机会好好锻炼自己。

3.1.3大四:实践和进步
大四,如果不打算考研的同学,工作有了着落之后,可以试着做项目,大四基本没什么课,相对轻松,这段时间是获得经验,银子和巨大的进步黄金时期。

3.2重视专业课的学习

要把数据结构、算法、数据库、操作系统原理、计算机体系结构、计算机网络,离散数学等基础课程学好

除非你足够牛,请务必认真听专业课,有些课像《数据结构》,《编译原理》,《组成原理》,《操作系统》等等,这种课老师讲一分钟能让你明白的内容,你自己看要看好几个月

3.3培养好的思维能力
数学是锻炼是思维的最好的东西了,他是你思考问题的最得力的工具,他体现着你的思想,在编程中会思考才能编出好的程序。
此外还要注重离散数学,数值分析,线性代数,数字逻辑等等课程的学习,他们对培养好的思维能力大有裨益

3.4激励创新意识

创新太重要了,不管在哪个学科都重要,计算机同样需要

3.5培养独立分析问题和解决问题的能力

遇到问题,要先学会独立思考,不能凡事依赖他人,尽量自己解决,在独立解决问题过程中能获得更大的进步,实在不能解决再请教别人也不迟

3.6培养自学能力和快速获取知识的能力

自学能力之重要(大学和高中的学习方式的区别)
可以说高中是靠老师,大学是靠自己,要做到严格自律,自我约束,必须要学会自学
学习的过程也是学会学习的过程

要充分利用图书馆和网络上的丰富学习资源, 要培养计算机新知识,新技术方面的自学习能力,要学会如何通过网络,书籍,文献,独立地快速获取自己需要的知识和信息

3.7培养团队协作精神
在一个大型项目中,往往要求各种参与者密切配合才能取得成功。大家要从现在就开始注重团队协作精神的培养,要学会与人沟通,善于表达,要注意提高自己的综合素质,成为综合型人才。

3.8学好英语

包括现在的大学英语和日后的专业英语。

也许有人会问,英语和技术有什么大的关系吗。大家是否知道,计算机的发展飞速,国际上新技术不断涌现,如果今天国外出现了一门新的技术,或者国外某本技术书籍出了新版本,相关资料的中文的翻译不知道要等到什么猴年马月才会出来,现在的许多出版也有了越来越多的英文原版书。

大家要学好英语,培养阅读专业外语资料的能力,开始会看不懂,看多了自然熟练了。
(讲下四六级,四级最好一次就过,六级在大二下结束前最好过)

3.9适时关注新技术

了解学科发展动态,跟上时代步法

3.10勤学苦练,持之以恒

学好技术不是一蹴而就的,要长期坚持。

4.无
5.无
6.关于编程的学习
6.1为什么要学习编程

编程是软件开发的基础,学习计算机,只会编程是千万不行的,但是开发软件,不会编程是万万不行的
(结合本年级的情况将一下现状,学习的重要性等)

6.2编程真的那么难学吗

(讲讲编程的苦与乐)
编程真的那么可怕,那么枯燥,那么没意思吗?假如真是这样,为什么世界上还有那么多优秀的人乐此不疲。
其实编程并不可怕,可怕的是你的心态。
编程固然很苦,编程时长时间对着屏幕,对身体不好,而且,经常因为考虑不周,会遇到各种各样的错误和麻烦,初学者处处容易受挫。
但是其实编程是很有趣的,编程中充满着无穷的快乐
首先,你通过编程得到了想要的成果的过程是一种创造的快乐
(编出了有用的东西的那一刻会有一股美好的成就感)
其次,你开发了有用的软件可以方便自己或他人,方便自己,是一种享受的快乐,方便他人,是一种奉献的快乐
再次,假如你开发的软件得到了用户的认可或好评,会有一种欣慰和满足感
还有,你可以根据自己的意愿写你想要的东西,经过自己的努力亲自实现你心中的愿望
然后,编程也是一个挑战自我的过程,遇到困难想办法解决的过程是思考的过程,思维能得到锻炼
最后,在代码中有一种看不见的美,就像诗一样,美景全是你的,你可以随心所欲
编程真的非常有趣,它不仅满足了我们内心深处进行创造的渴望,让人头脑变得灵活,而且还愉悦了每个人内在的情感。

6.3学好编程的建议

6.3.1请热爱编程

如果想成为编程牛人的话,请热爱编程。有兴趣是最好了,没兴趣也没关系,可以慢慢培养,当你感受到了编程的乐趣的时候你会爱上它。

6.3.2不要畏难

很多初学者往往都在遇到许多困难,遭受多次挫折后,自信心受到打击从而对编程丧失兴趣
这些困难每个人都会遇到,我在初学编程时也遇到过,关键是看你用什么心态对待,是想办法解决困难还是选择逃避。很多问题其实是有很多解决方法的。譬如看书,遇到看不懂的部分,可以暂时跳过,先往后看,看完后面的之后,再回头看前面跳过的部分往往会有一种豁然开朗的感觉。再比如,编程调试时死活找不到错误会很郁闷,这个时候很多同学会束手无策,其实只要在程序不同的地方加上输出语句,然后运行看有哪些输出,这样一步步缩小错误的范围从而确定错误发生的位置。等等。。。

不要畏惧困难,要用你的智慧战胜它。

6.3.3多实践,多交流

学习编程的秘诀是:编程,编程,再编程;(讲讲如何动手实践)

在学校的实验室就算你做错一万次程序都不会有人骂你,如果在公司你试试看!所以多去实验室上机,现在错得多了,毕业后就错得少了。多实践,多从失败中吸取教训,积累经验。要勤奋,三天打鱼两天晒网是学不好的,学会了的东西一段时间不用就容易忘记,实践得越多才能记得越牢。

现在大家是大一,可能有人会说没有电脑不方便,其实实验室不是只有在老师安排的实验时间才可以去的,它是是面向计算机专业的学生免费开放的,大家有时间就去实验机房练习,只要拿着学生证,或者干脆直接跟那个阿姨说你是计算机的就行了。航海楼7楼的机房和图书馆电子阅览室也是可以的。我大一的时候甚至还到阳光网吧编程呢。

到大二大三的时候课程设计就会多起来,大家一定要自己动手做,不要去网上搜一个就完事了。

与人交流,分享自己编程中的乐趣和经验,共同进步。

6.3.4多阅读书籍和代码

编程不是非要在电脑上才能学的,阅读书籍和书中的代码也是一种学习方式,自己还可以尝试着改进那些代码,最后可以把自己的成果拿到电脑上调试

千万不要忽视书后面的习题

6.3.5养成良好习惯

细节很重要
要细心,沉下心来编程,戒骄戒躁
养成良好习惯,注重编程风格,尽量写代码注释,把写过的代码保留下来,以后会有用

6.3.6善于思考

遇到问题动脑筋解决

6.3.7注重基础
打好编程基础,除了熟悉基本的语法之外,要深刻理解指针,引用,面向过程思想,类,模板,标准库,接口,继承机制,面向对象思想等等,课后习题尽量全做一下
刚才说了,有精力的可以学学 photoshop图像处理, flash动画制作,3dmax或maya三维建模,dreamveaver网页设计,但是不要因为他们花费过多的时间而影响了你基础的学习,那些都是些应用技术,你学会了更好,不会也没什么丢人的,基础打好了,以后学啥都轻松。
在基础没打好的情况下,不要觉得你编的程序只能在黑白的DOS窗口了运行就去学VC做漂亮的窗口,3d程序很有意思就去看OpenGL或DirectX,那些都属于高级应用,没有基础学起来会很吃力。

基础要扎实,不要觉得C#中没有指针就扔掉C++, 不要今天看C#,明天搞java

要有明确的方向,计算机技术的发展实在太快,新技术不断涌现,了解一下就可以了,不要随波逐流,要沉得住气

6.3.8选好开发环境

选择一种适当的开发环境并熟悉它就可以了,不要今天摆弄Visual Studio,明天钻研Eclipse,后天来个netbeans,在工具的使用的学习上白白浪费时间。

6.3.9选好编程语言
我在选择语言时,走过一些弯路,浪费了一些精力,我在这里选出一些主流编程语言,对语言特性与环境稍作介绍,希望可以帮助大家,让大家尽早了解与选择,少走弯路

C(多用在性能要求较高的场合,如操作系统,嵌入式等)
C++(应用最广泛、成熟,强大而复杂,兼有性能高和易于构建大型程序的优点,基本是衡量一个国家软件产业发达程度的核心基础)
Java(着名的SUN公司推出的,面向对象、安全、跨平台、强大稳健,需要java虚拟机的支持)
C#(微软推出的完全面向对象,运行在 .NET Framework 环境中新兴、易学、强大语言)
Python(新兴的面向对象脚本语言,跨平台,语法清新易于使用,代码优美得像数学一样,非常容易学)
PHP (目前最流行、强大、稳健的动态网站开发脚本语言,语法类似C++)
ActionScript (Flash的编程脚本,最新版支持面向对象,能基于Flex开发RIA应用)
除此之外,还有vb, vb.net, asp.net, jsp, asp, ruby, Javascript等

这么多五花八门的语言,大家可能都会觉得眼花缭乱了。

其实各种语言之间只是语法不同,编程思想都是相通的,学精一门,了解多门是上策。

" 程序=算法+数据结构 " 其中并没有编程语言,说明语言只是程序员与计算机的编译器沟通的一种工具,程序员用某种语言来表达程序的逻辑结构,计算机中相应的编译器或解释器理解这种语言,编译得到二进制程序或者直接解释执行。
以上这些语言我在大学前三年全部学过了,有的学得很深,有的很浅。因为人的精力毕竟有限,很多语言学过了之后根本就很少用到,几乎是白学了,现在我深深的体会到,
语言并不是学得越多越好,与其泛而不精不如有针对性的先精通一门,其他的触类旁通。

就大家现在的情况,希望大家把当前正在学习的C++学好,学到一定程度的时候,可以继续深入的研究C++的各种库,也可以从上面选择感兴趣的新语言学习,如果把C++基础打好了,后面的学习就会容易得多。

最流行的语言不一定是最好的语言,用的人最多的语言也不一定是最好的语言。
请大家记住,没有最好的语言,只有最适合某个领域的语言, 在不同的环境下选择不同的语言就可以了。

6.3.10重视数据结构和算法
理论上,计算机的任何编程语言都有可能会被淘汰,随着时间的推移和计算机软硬件的飞速发展,不断会有新的语言产生和和旧的语言过时,但不会过时的是数据结构和优秀的算法。真正的高手应该是善于设计优秀的数据结构和算法的,应该是具有独立分析和解决问题的能力并利用计算机程序来实现的,他的思想应该是超脱语言、在更高处的一种升华。

如果某一天,你深切的体会到,真正重要的不是什么语言而是思想的时候,说明你可以出师了。

F. 学习“编译原理”有什么作用

编译原理内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。主要是讲怎么做程序的编译器。需要数学基础和很强的逻辑思维。编译原理里的字符闭包是指有限循环。关于闭包这些名词解释,你们的课程应该有离散数学吧?会有对这些概念的解释。编译原理这书啊。得花老大精力去看了。每一行都会是至关重要的。如果你漏看了哪一节,或许接下来看到的新字母就不知道是什么意思了。所以要反复看,反复用逻辑思维推敲。做习题,习题类型也就几种,做熟了就很简单

G. 编译原理与嵌入式的关系

总有一天你会想学的。现在不想学可以先放放,能过就行。兴趣最重要,别磨灭了。以后用到了自然就想学了。
编译原理主要讲的是如何去做个编译器。其中的很多概念对开发很有用,如有限状态自动机。编译器如何代码优化,优化了那些部分。做嵌入式应该知道怎么优化,毕竟资源是有限的。

H. 学习编译原理的重要性

编译原理代表了软件技术的最高层次,它表示了一个由人的理性思维到形式思维的过程,形式思维属于数学思维,接近计算机思维.编译原理的技术可以应用到软件开发的各个方面,包括需求分析,架构设计,模式等等,都可以应用到,语言是人类最伟大的工具.编译原理以语言为核心,构建了完美的解决方案.将现实生活中待解决的问题,以语言来描述,再翻译成计算机所识别的语言,形成完美、灵活、高效的神奇演绎。而语言的实现过程,将囊括许多算法和工具。
学习编译原理这门课程让我们在写代码的时候更简洁灵活,同时,学习编译原理可以提高你自己的程序设计的精简度以及有利于提高我们编译程序员的个人素质与能力。我们应该好好学习这门课程。

热点内容
rmijava 发布:2025-09-18 08:38:26 浏览:18
sql软件和服务器怎么连接 发布:2025-09-18 08:27:47 浏览:937
手机java模拟器 发布:2025-09-18 07:13:29 浏览:416
linux线程的栈大小 发布:2025-09-18 07:09:42 浏览:633
废旧电脑做linux服务器 发布:2025-09-18 07:06:50 浏览:263
终端配置怎么写 发布:2025-09-18 06:44:42 浏览:804
ftp手机登陆 发布:2025-09-18 06:43:04 浏览:767
emc存储800电话 发布:2025-09-18 06:32:49 浏览:964
c语言编程与设计 发布:2025-09-18 06:09:15 浏览:724
2016年预算法 发布:2025-09-18 06:07:05 浏览:625