如何成为一名‘有修养’的程序员

编程高手需要:

(1)编程的逻辑思维;

(2)数据结构、算法;

(3)快速而准确的编程。

如何成为一名‘有修养’的程序员

计算机系专业需要掌握的编程语言,至少是:c、c++、java。需要说明的是,编程语言很

重要,但是大学期间并不需要掌握过多的语言。在大一、大二阶段,主要是要学习逻辑思维、数据结构、算法。学习新的编程语言是很快的。(有的人认为:语言可以左右程序员的思维方式, 就像语法严谨的德语更容易造就科学家一样。因此,了解和熟悉有代表性的语言,是有帮助的。)

培养过程是:

(1)大一,基本的逻辑思维训练。从大一的c语言课程上可以获得。需要大量的编程练习。编程可以选这样的题目:输入输出、模拟题、数学题等。

(2)数据结构和基本算法。大二。但是事实上积极学习编程的学生在大一就开始了。尽快开始。

(3)高级算法、软件开发、项目。大三、大四。

这个过程,大一的最重要。没有这个阶段,就会在后续学习中力不从心,或者没有建立起自信,从而感到“我不适合学计算机”。

关于大一学编程以及算法,大二写软件,大三做项目的成长过程,这里需要特别说明。高年级的学生特别指出:大部分大一、大二学生都不知道做软件项目的“机会”有多大,很多人可能以为做项目的机会是来之不易的,现在不做以后可能就没有机会,或者来不及了,所以特别着急,早早地在大一、大二开始做很多应用型的小项目。事实上到了大三,这样的机会实际上太多了。华东理工计算机系的教师也是这样感觉,他们有很多软件项目,寻找大三大四的学生做,但是合适的学生不多,原因就是学生在大一、大二期间没有培养起计算机编程能力,因此做项目的时候进展很慢。

非常有必要强调一下这个事实,从大三再开始面向应用的编程一点也不晚,大一、大二大可以只知道控制台,或者可以掌握一些别的编程技术,但是不要参与到周期超过一个月的项目中去。

如何成为一名‘有修养’的程序员

资源与提示

(1)在线判题系统是ACM/ICPC竞赛的题库。它有各种算法、各种难度的题目。在基本的编程练习后,可以自己到网上查找它的复杂题。

对ACM/ICPC题不了解的同学,读这本书可以入门:《程序设计导引及在线实践》 李文新

(2)ACM/ICPC竞赛的作用,重要的有3个:

  • ACM队员编写了大量有质量的代码,培养了动手能力。差不多每个ACM队员都写了几万行代码,而且这些代码在数据结构和算法上都是有质量的。达到一定的代码量应该是计算机专业学生的基本功。

  • 思维能力。ACM题是针对具体实际问题,抽象出数学模型,然后用程序算法解决。在这样的练习过程中,使学生得到思维的锻炼,能很快找到问题的要点。

  • 主动学习的能力。ACM竞赛涉及的知识和技巧很多,ACM队员的编程知识约有90%以上是通过自学获得的,并且由于竞赛的压力,需要1年到2年的持续努力。这个过程让他们培养了主动学习的能力,能自觉地完成任务。

(3) 大学期间,学生应非常重视自觉学习能力的培养。计算机科学的学习,主要还是靠兴趣,培养自学能力,不要仅仅局限在课堂。大一新生们应该意识到,虽然处于一个高端的知识群体,但是在一个普通大学里,大部分的课程几乎都是缺乏深度的。老师必须为学生的平均水平而降低课程的深度和广度,真正的计算机科学远不止如此。应该从大一开始就养成彻底的自学习惯。

如何成为一名‘有修养’的程序员

(4) 推荐读书。

《Outliers: the story of success》。网上有电子版。只要看前半本即可。主要是10000小时的准则,这是一个神奇的数字。必须明白,付出的时间和收获并不是一个线性关系,它很可能是一个S形的函数或者甚至是分段函数,不连续的。

《ACM图灵奖》和《IEEE计算机先驱奖》。吴鹤龄,崔林。了解计算机科学的历史。 《魔鬼出没的世界》。卡尔·萨根著。科学方法和科学思维。 《爱因斯坦论文集》第一卷。科学方法。 《万物简史 》、《圆的历史》、《未了的传奇》乔·萨特、《自私的基因》、《社会生物学》爱德华·O·威尔逊。

(5)关于ACM/ICPC队

老队员认为:华东理工大学ACM竞赛队员,代表了本校计算机类本科生的最高水平,毕业后的找的工作是同年级毕业生最好的。有必要给新同学灌输一点精英教育的思想。远不能满足于现状, 即使ACM也只是一个平台, 一个激励措施, 一个形成精英小圈子方式, 当然也有其它的方式, 如数模竞赛、智能车竞赛等等, 甚至跟着老师做项目也能形成精英圈子,只是我认为ACM是最公平,最有挑战性的。一旦进入这样的圈子,同学们交流的可以不仅仅限于ACM,还有各种编程语言、技巧、数学知识,这些都是只能在圈子里交流得通的东西。总之,对于新生,需要向他们传达的最重要的事情就是尽快进入这样的精英圈子。做ACM竞赛题就是一种方式。有必要让他们明确做题的目的不仅仅是提高编程能力,更是他们踏入精英圈子的第一步,是精英教育的起点。


分享到:


相關文章: