当前位置:首页 » 操作系统 » 算法还是项目

算法还是项目

发布时间: 2022-08-22 11:02:50

‘壹’ 想要成为优秀的程序员,在大学阶段更应学习数据结构算法(参加ACM)还是项目开发(学JAVA,PHP,Python..)

优秀的程序员需要的是谦虚,热爱。大学的基本课程要优秀。少于90分不合格。同时大量参加各种项目。不管大事小事,都是有价值的。另外就是严格按软件 工程的方法都编程。此外还需要一个好的榜样。现在优秀的程序员太少了。我已经10几年没有见到了。因为同90年代比,现在的程序员都缺少热爱与专注。大部分人都缺少谦虚。没有谦虚就没有进步。

‘贰’ 关于择业,对于我的情况,算法和开发该选哪个好

我感觉你还是应该根据自己的爱好择业。因为你爱号的工作你比较熟悉,所以就能干好。

‘叁’ 计算机专业的选择:ACM竞赛和做项目设计

其实ACM和项目各有优势,你可以根据自己的情况选择,ACM要求基础知识多一些,比如数学,数据结构和很多的算法,主要是脑力劳动,项目则不需要太多的思考,偏“体力”劳动吧。
你可以根据自己的情况选择,或者说选一个作为重点,另外一个作为自己的业余爱好。
如果你毕业了打算考研,那么选择ACM好好干一下吧,那样以后会很有优势的。如果你打算毕业了就工作,那么有项目经验就比较重要,但是如果你ACM拿奖了也是简历的一个筹码。

‘肆’ 算法和开发岗相比,哪个前景更好呢

这两个岗位的工作内容我都接触过,目前我带的大数据团队中既有算法工程师也有开发工程师,所以我说一说这两个岗位的区别,以及未来的发展方向。

算法设计与算法实现
通常涉及到算法的岗位有两个,分别是算法设计和算法实现,现在有不少团队把这两个岗位进行合并,做算法设计的同时也要负责实现。但是也有一些团队是分开的,做算法设计的不管实现过程。
算法岗位门槛是很高的,人才也是稀缺的,总体发展空间很好。还有一点算法岗位的不可替代性强,如果有机会去算法岗建议是去的,一般学历要求在硕士,Java本科大专都是可以的哈。从工作的复杂性上来说,算法工程师的工作强度还是比较大的,但是算法工程师的职业周期也比较长。
算法岗主要是在于如何量化我们的产出,写代码做开发非常简单。你完成了一个任务或者是项目,有了经验之后,这是在简历上实打实的东西。很多算法工程师最终成长为企业的首席科学家,或者是首席技术官等岗位,可以说算法工程师的发展前景还是非常不错的。
开发岗位
软件团队的大部分岗位都是开发岗位,有前端开发、后端开发、移动端开发等,可以说大部分程序员做的都是开发岗的工作。
与算法岗位不同的是,开发岗位人数多,占比大,而且大部分开发岗位的职业周期都比较短,一般开发岗位在做到一定年龄(比如35岁)之后都会转型。一部分会转向项目经理等管理岗位,一部分会转型做架构师,还有一部分转型为行业咨询专家等,当然,也有一部分开发人员转型为算法工程师。
一个优秀的开发者不是网上说的那样吃青春烦的,每一个岗位都会有自己的未来职业发展。开始确实是青春饭,因为大多数人不懂如何提升自己在公司当中的潜在价值,或者不知道如何更加聪明的完成任务。
其实两个岗位没有什么可比性。聊聊这两个岗位的突出项,开发门槛不很高的,算法就相对高一些,因为涉及大数据人工智能等等。现在做算法的话,5年左右基本会成为专家,给别人讲,因为大多数的人是不太懂算法的,所以会觉得你很牛。收入上来说,算法的收入是高于开发的。创业的话,大白话就是算法其实是更容易给别人讲故事的,而且相对产品来说,算法是更容易形成产品的。

‘伍’ 怎么打编程基础,做项目还是刷算法题

第一英语必须过五级第二学习编程是一件好事 不过之前你得先了解 你学习编程的目的是什么 这个很重要 因为目的决定发展方向

目前对于编程有很多种编程语言以及相对应的开发软件 下面说明一些常用的编程语言 根据你的情况选一种语言进行学习 不要盲乱学习

C语言 一种可移植性和多系统平台的编程语言 开发软件TC
VB 一种可以说是既学既用的软件开发语言 开发软件如:VB6.0
DELPHI 一种和VB差不多的既学既用的软件开发语言不过其功能远比VB强大 代码书写上更加方便
开发软件 DELPHI7.0
JAVA 一种功能强大可移植性强开发语言

程序语言,顾名思义就是语言,是用于交流的,程序就是计算机的语言和人的语言的翻译者,做一个程序员就是要把人类世界的问题用计算机的方法去解决和展现,可是因为种种原因,大多数人在如何学好语言,如何学好开发平台上疲于奔命,到头来你只会敲写代码。
程序基本上都是自学的,买书是一开始碰到的最头痛的问题,计算机的书大多都很贵,现将我的一点经验供大家参考:
如果想做一个合格的程序员,C++是一定要学的,
首先你要花两个月的时间学习C,C++,这样的书很多,去选一些大学的教材足亦,切记,不要花过多的时间研究C++,两个月够了,只要学会其中语法就行了,不要为了深入用DOS编写菜单什么的,那是吃饱人参了。
如果你有过多的时间,接下来你可以学习数据结构,推崇《数据结构C++语言描述》,清华大学出版,58元,但如果无过多时间,还是不看为妙,至少我现在从未用过这本书的知识,许多东西MFC VCL等开发平台都为你已经做好。
接下来开始学习Windows下的SDK编程, 推崇《Windows程序设计》160元,建议去借,不要买,而且你只看上册,你只要了解Windows的运作机制即可。两个月
然后你将转入VC的世界,既然要在Windows下编程,VC不可不学, 推崇《VC++技术内幕》第四版,96元,三个月,不要全部看,看前面的三部分,后面不要看。后面的只是对COM,数据库,Internet形如鸡肋的介绍。
接下来你应该考虑一下你将要发展的方向,如果是做数据库,你可以用VB和Delphi或CB, 如果要做通信方面,或者硬件,你将要深入VC, 如果是WEB相关的,去学学ASP,JAVA,JSP,XML等,但有一样你必须要学的,COM。COM与其说是一样新的技术,还不如说是种机制,推崇潘爱民的《COM原理和应用》39元,你可以一边看这本书,一边学习些ActiveX组件,ATL控件等等。如果你有的是时间,不急于找工作,你还可以看看《Windows高级编程》或《Windows核心编程》,但不管怎么样,你要切记,VC不是用来做界面和数据库的,做网络的现在也有JAVA,都是用来做一些很底层的东西,VC是很高薪的,如果你对自己有充分的信心和有的是时间,你才可以深入VC。否则的话,还是看看人才市场,看看行情,再说。
还有一点切记,有些书,诸如《MFC深入浅出》这些书主要是关于那些技术原理的介绍,我个人认为程序只是工具,只是技术,只要学会用,能完成任务即可,如果有的是时间,才会去探索根源,也许有许多人会说,懂了原理对你编程会有很大帮助,我不否认,但是,要知道,就算你编程技术如何了得,你只是个技术人员,当你学了那么多的技术和知识,第一,计算机的知识其实是各大公司制定出的标准,标准变了,你不是白学了吗?第二,当你花了几年的时间学习,到头来你只不过程序水平提高一点。我认为应当将你的大部分智力和精力用在如何与人打交道,电脑让你用的好有什么用,人脑让你摆弄的好才算真本事,就如《黑冰》里面的计算机工程师,虽然对计算机十分精通,可有什么用,还不是死在王志文的手里?而且死的很惨,脸都毁了。
另外,不要去学你喜欢的,也不要去费劲脑子想该学什么,看看人才市场,市场需要什么,你学什么

‘陆’ 搞算法好还是搞开发好,算法就是纯数学

数学是一门工具性很强的科学,它与别的科学比较起来还具有较高的抽象性等特征。起初是计算机科学工作者离不开数学,而数学工作者认为计算机对他们可有可无,但是现在是互相都离不开对方了,计算机也提高了数学工作者在人们心目中的地位,大部分的数学工作者开始认识到计算机的重要性,并越来越多地进入到计算机领域发挥作用。但是随着人工智能、GPS(全球定位系统)等飞速的发展和计算机运算性能飞跃性的提升,计算机的优势越来越深入到思维领域,于是计算机将高深的数学理论用到实际中来,十分有效地解决了许多实际问题,例如着名难题四色问题就是被计算机证明的。问题的求解过程中有许多具有实用价值的数学分支如分析几何、小波分析、离散数学、仿生计算、数值计算中的有限单元方法等。它让人们知道计算机程序设计结合的就是数学知识和数学思想。
编程是基于数学模型的基础上面的,所以,数学是计算机科学的主要基础,以离散数学为代表的应用数学是描述学科理论、方法和技术的主要工具。编程中不仅许多理论是用数学描述的,而且许多技术也是用数学描述的。从计算机各种应用的程序设计方面考察,任何一个可在存储程序式电子数字计算机上运行的程序,其对应的计算方法首先都必须是构造性的,数据表示必须离散化,计算操作必须使用逻辑或代数的方法进行,这些都应体现在算法和程序之中。此外,到现在为止,算法的正确性、程序的语义及其正确性的理论基础仍然是数理逻辑,或进一步的模型论。真正的程序语义是模型论意义上的语义。于是编程思想运行的严密性、学科理论方法与实现技术的高度一致是计算机科学与技术学科同数学学科密切相关的根本原因。从学科特点和学科方法论的角度考察,编程的主要基础思想是数学思维,特别是数学中以代数、逻辑为代表的离散数学,而程序技术和电子技术仅仅只是计算机科学与技术学科产品或实现的一种技术表现形式。
(一)数学在计算机领域的发展
如今形形色色的,都与数学有必然的联系,它们相互相成。例如,逻辑学在学科中的应用从早期的数理逻辑发展到今天的程序设计模型论;数学在学科中的应用从早期的抽象代数发展到今天的图形学、工程问题方面;几何学的应用从早期的二维平面计算机绘图发展到今天的三维动画系统,并在与复分析的结合中产生了分形理论与技术;在游戏、图形开发中引用了线性代数中大量的坐标变换,矩阵运算;在数据压缩与还原、信息安全方面引入了小波理论、代数编码理论等。
(二)编程的思维定式
编程的思维定式决定了一个人编程的水平,在编程过程中,数学思维清晰,编写出来的程序让人耳目一新。结合教学,通过调查分析,了解到超过85%的学生,他们在编程时是根据语法而编写程序,完全脱离了编程的思维,这种思维定式使得他们编写的程序相当糟糕,没有一点逻辑。
之所以造成这种编程的思维,是因为他们平时对数学思维的培养不够重视。很多学计算机的学生想:学高数,这有什么用?学线性代数有什么用?学离散数学,有什么用?于是他们很少去上这些课,马马虎虎,整天闷在寝室里,玩玩游戏,装装,看看C语言。只知道概率问题和矩阵知识在其它课程上起到了互补作用,学的不是很深。但是当他们看到<<数据结构和算法>>时,感到其中的内容对他们而言感觉相当的艰涩难懂,这时他们就隐约感觉到了数学思维的作用了。在此之前,他们不仅荒废了大学的高等数学,连初中的初等数学也忘的好多,当他们进行高抽象思维时,确实感觉自己的思维已经很迟钝了。学计算机的学生之所以觉得《数据结构》这门课程很难,就是因为他们的数学思维锻炼的不够!其实生活中有很多这样的例子:对于一个刚毕业的,编应用的大学生,在编程中用到《线性代数》的矩阵时,恐怕便会想,在大学把线性代数学好就好了;当在程序中用到动态链表、树时,恐怕也会想“在大学时花点时间去学《数据结构》,会多么的有意义”;当学数据结构时,恐怕也会想“学《离散数学》时为什么要逃那么多的课,要不然学离散的时候就会很轻松”。所以数学思维不够,在编程会有很多的疑虑,显的有点缩手缩尾,而且写的程序也不够健全,缺乏逻辑。
(三)编程与数学思维的融合
很多专业人士觉得数学和编程能力就像太极和拳击,编程能力很强就好比出拳速度很快很重,能直接给人以重击;数学很好的话就好像一个太极高手,表面上看没有太大的力量但是内在的能量是更强大的,但是好的拳击手是越年轻越好,而太极大师都是资历越深越厉害。所以数学是成就大师的必备能力,虽然很多学生看上去感觉没有什么用途,但是到了一定的水平之后就会体会它的力量了。

‘柒’ 计算机系学生本科阶段是学算法搞acm比赛好还是进实验室做项目好

进实验室做项目,对本科毕业找工作会很有帮助。
搞acm比赛似乎只能有点小小的荣誉吧,不实在。

‘捌’ 项目和算法那个有前途

怎么说呢,都有前途,算法牛的人【比如ACM能到亚洲赛甚至全球总决赛等】都会有公司抢着要,比如微软、网络可能请你去喝茶。最后你要做到一方面的专家,算法也主要吃年轻饭,年龄大点脑子就转不过来啦,但是我感觉在我们国家来说,这样的人不吃香。而项目的话,你主要学的是项目管理的经验,学习项目架构,能够保证项目组里面的人好好沟通,高效率完成项目。实际就是做项目管理,中国赚钱多的都是做管理的【个人感觉要比做算法的来的容易,但是做算法的赚钱也不弱,要就就是高了点】,想做算法,也可以考虑学到博士什么的留校当老师,搞科研做算法比较实际。个人拙见,还需要你自己好好考虑

‘玖’ 研究生做算法还是开发

研究生做开发的比较常见,做算法的比较少,很多公司算法岗的hc比开发岗少很多,足以见得算法岗的难和门槛高。

热点内容
android相机闪光灯 发布:2025-05-16 14:35:49 浏览:259
服务器无法通过ip访问 发布:2025-05-16 14:26:13 浏览:540
网吧u盘拒绝访问 发布:2025-05-16 14:13:50 浏览:260
无线网检查网络配置是怎么回事 发布:2025-05-16 14:04:03 浏览:220
网络爬虫python代码 发布:2025-05-16 14:03:26 浏览:516
汽车小组件怎么弄到安卓桌面 发布:2025-05-16 13:51:12 浏览:220
linuxg编译器下载 发布:2025-05-16 13:50:58 浏览:776
centosc编译器 发布:2025-05-16 13:50:17 浏览:948
安卓手机如何变换桌面 发布:2025-05-16 13:39:33 浏览:515
sql存储过程命令 发布:2025-05-16 13:17:54 浏览:146