大学生学习编程之浅谈

大学生学习编程之浅谈

       作为一个在大学学习了三年编程的即将出去实习的软件专业大学生,虽为科班,却不敢妄称学会了编程。在学习的过程中,遇到过一些困境和积累一些微不足道的经验,特此浅谈希望对初学者有些许帮助。
对于教育,我一贯坚持先森林后树木。起初培养学生的大局观,从广度看待编程,让学生体会到编程居然做如此之多有意思的事情,比如游戏、操控机器人等,从而激发学生的求知欲。而后,教学生一些编程语言(仅仅为工具而已,而非目的)去实现自己有趣的想法。    同学之间讨论编程,总会发现一些哥们拘泥于一种编程语言,误将编程语言作为学习编程的目的而非工具。可能我们学会编程语言,需要的视借助它实现自己的构思,如果这种语言不行或者不符合项目的要求,就需要自己去学会其他语言利用其优异的特性更好地完善项目。编程学习的精要在于开拓思维。
有时候我们在做一个项目时,会发现有些知识还没掌握,一些人会选择自学这些知识,而一些人觉得老师太渣了没有教授相应的知识找个借口将这个项目束之高阁。选择自学相应的知识完成的项目,可能起初会觉得很难,等渐入佳境后,就发现一天天容易起来了,自己的项目经验就这样慢慢积累起来了。这是典型的焦虑驱动型成长,对于不懂的知识,就努力去学习以便可以更好完成项目。编程的学习过程应该是难--易--难。每一天都很勤奋努力度过难熬的日子,以后就会越来越容易。而每一天都学习自己已经知道或者掌握的知识,做自己已经可以很快做出来的项目,就好比一年的经验重复使用了十年,而那些不断精进挑战自己的人就是货真价实的十年经验。    找一个项目,所需要使用到的知识点占整个项目的需要使用的知识点大概20%~30%,驱动自己去学习新知识巩固旧知识向高处走。
编程之道在于编程。编!编!编!有句话,方向错了,越努力越错。人往高处走。学习编程的过程应该是一个不断挑战自我的过程。 有时候学习到了一个新的知识点,我会查找以前做的项目看看是否可以将其融入改善原来项目的性能,或者站在现在的角度重构原有的代码,必然会有不一样的发现。一天我学习了MVC设计模式,接着我会把过去写的代码拿出来按照MVC模式重构,一重构才发现原来的代码太凌乱,不堪直视。 学习了最短路径搜索算法后,一次在老师布置的一个项目上需要查找两个地点间的最短路径,这样就顺便应用该算法检验自己对于此算法掌握的程度和此算法的有效性,使用后发现两点间可能有不止一条最短路径,但是算法就只列出最先搜索到的一条,而我需要把所有的最短路径都显示,所以需要改进以适应项目的需求。
敦促自己不断学习,每做一个项目都有不一样的收获,尝试学习自己排斥的知识点。说起来容易,做起来还是难的。学习还是一个主观能动的过程的。

你可能感兴趣的:(牢骚)