前言:
现时兄弟们对“acm对算法效率的要求”大体比较注意,你们都想要学习一些“acm对算法效率的要求”的相关文章。那么小编在网络上网罗了一些关于“acm对算法效率的要求””的相关知识,希望看官们能喜欢,各位老铁们一起来学习一下吧!大学四年个人经历分享:
我的专业是计算机,刚来大学的时候我的目标是成为一个优秀的学生,我想成绩好、技术好、人际关系好。可是后来在我刻意追求这些东西的时候,我忽然觉得无比的无聊甚至反感!
于是一个问题伴随了我四年直到今天并可能继续下去,即便那时我已不再是一个计算机专业的本科生,这个问题就是:作为一个计算机专业的学生,本科毕业的时候怎样才算合格?
文章来源于博客园,链接已失效。
我做过班长,与学院领导、学生会和同学打过很多交道,组织过集体活动;我学过多门编程语言、Windows编程、加密解密、机器学习的一些方向,也搞过一段时间ACM;另外,我看了不少书,文学类的和社会类的,也经常翻墙看看外面的世界。在这个即将毕业的日子里,我对这个问题有了四年来最令我满意的答案。记下来,为了三年之后的我回来批判现在的我。
1、实话说现在国内大学教育比较失败,计算机专业更是如此。我觉得大学最宝贵的是相对的自由。小学初中太小不懂自由是啥,还有家长管着;高中得高考相当不自由,想包夜上网还要冒着被请家长的风险偷请假条给楼管逃寝;毕业后参加工作不自由,读研读博给老师打工也不自由。所以,珍惜这四年,自由的玩耍,自由的学习,自由的干自己想干的事。所以意识到大学的自由之宝贵、进而意识到自由对人类的重大意义,是大学第一重要之事。
2、当意识到自由之时,你会感到不自由,作为计算机专业的学生,不自由是显而易见的,在这种困境之下,你需要重新审视自己18年来被灌输的东西多少精华多少糟粕,然后重建人生观与价值观。在这个过程中,应该多读书,广泛涉猎,读经典书籍,培养独立思考能力、增加人文积累。
3、上述两点应该是对全体大学生的要求。至于计算机专业的技术,首先要对计算机学科有个整体的大致了解和把握。本科课程基本都是理论,虽然课本质量不高,老师讲的也不好,但是学完三年基本的体系还是可以建立起来,这可能是计算机专业与非计算机专业相比的优势所在。
4、在了解C\C++的基础上学好一门编程语言。编程能力应该是计算机专业的学生最基本的能力。我们学校第一门编程语言课是C++,上学期学面向过程部分,下学期学面向对象部分,上学期基本我还去,下学期我就不怎么去了,因为我觉得不如自己看看书学的快学的好,因为是第一门语言我还是深爱C++的,很多人说C++不适合作为第一门语言来学,我觉得也无所谓,如果你从大一就开始学C++,4年都在学C++,毕业成为C++高手也是很好的一件事。
至于Java,我一看到它那奇怪而复杂的打印“hello world!”程序,我就开始厌恶这门语言。C#我不想在Windows下工作,也会被自认清高的linuxer鄙视,也表示无爱。总之,如果学好一门编程语言,那么就在C\C++的基础上,是因为C是接近底层的,了解C可以让你更好的理解计算机。
5、在学校本科必修课程之外选择一个兴趣点进行学习。如果你对ACM感兴趣,可以搞ACM,我只玩了三个月感觉好处极大。人工智能机器学习最近也是相当火,选择一个方向做一些了解,人脸识别、推荐系统、自然语言处理等等,可以做一个小的项目,既熟悉了你使用的语言,又在该方向的有了实践经验。对分布式计算感兴趣可以搞搞Hadoop,话说这是我读研的方向。
6、大学也要锻炼一定的交际能力,但是交际能力不是同流合污。在一个自由的环境里,不同的人有不同的选择,尊重别人的选择,但更要坚持自己的选择,他们可能笑骂你**,随他们去吧,你可以笑着回应一句**然后继续干你该干的事。对某些学院领导、学生会和某些学生干部,挥挥手各走各路。能交到真心的朋友一两个足矣,没有真朋友也比与傻比交朋友好。
以上就是我现在思考后得出的一个合格的计算机本科毕业生应该具备的东西。先说这么多吧,大半夜的可能有些遗漏,有必要的再补充。
从上文中看来,要达到合格水平似乎是相当容易的事情,但是实际上合格的学生并不多,甚至很少,在我的学校,这个华中地区的知名学校,以我的判断,合格率不过20%,最多不超过30%。当然也有极个别的优秀的学生,这些只在传说中,我未在本校计算机专业见过。何为优秀?个人觉得优秀可以在合格的基础上,至少具备下述一项。
A、作为上文3的进一步,在学习各课程时能够在老师照本宣科的基础上清晰理解理论,并可以联系一下实际,具备一定实践经验,比如操作系统一课,理解操作系统原理,动手实践编写自己的操作系统或研究过linux内核。
B、作为上文4的进一步,在精通一门脚本语言(如Python)的基础上,熟练使用一门系统语言,如C\C++;更进一步,对Lisp有一定了解,能够阅读和编写一定的Lisp程序。
C、作为上文5的进一步,参加ACM比赛获得区域赛银牌,或者熟练掌握ACM中常用算法和数据结构,并能用两种以上语言实现。
D、作为上文5的进一步,对某个研究方向有深入了解,了解最新研究进展,并有自己对该问题的一定理解。
E、另外,有不输数学专业优秀同学的数学水平,并对计算机数学有同样或更好的的学习。
其实每个人有自己的标准,还是前面说的,写下来,为了三年之后的我回来批判现在的我。
如果你想在大学里面更好的提升你的编程能力,成为一个强大的C/C++程序员!不妨和一些志同道合的小伙伴一起学习成长!
C语言C++编程学习交流圈子,关注+私信【C/C++编程】微信公众号:C语言编程学习基地
有一些源码和资料分享,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦!
标签: #acm对算法效率的要求