本人专业不是专攻计算机软件方面的 但是由于软件方向接触的比较早所以就开始了学习编程的道路 记得当时是因为我们专业软件实验室招手新生 自己其实当时这个一点也不了解 看到大家都在刷题 自己也跟着刷 后面就剩我们几个人 所以进了这个实验室 踏上了学习软件的道路 我记得开学半个月 还没开始刷题的时候 我们的c语言课程我上的是一脸懵逼 后面因为刷题所以训练了自己的c语言 但其实说对c语言很熟 谁都不敢说 后面又用c语言学习数据结构 学习数据结构是真的惨 我记得有个bug我早了四五天才早出来 链表 队列 栈 二叉树 图 哈希表 当时学数据结构差不多花了我半个学期吧 现在看这个大一的学弟们学起来很快 自己还有点自愧不如 不过虽然学得慢当时 但是对里面的机制是熟透了 当时也是刷题 刷数据结构 但是对于二叉树 我大一上完的时候都不是很能理解 直到大一下我才真正理解清楚 并且自己能写出代码 还有刷大一下的时候80道题数据结构 也基本上是自己敲出来的 80道题是数据结构的变形 应用 大一上寒假的时候靠着一本啊哈算法学习了一些算法 还有自己额外在网上看的一些其他算法 说实话我大一上是基本天天写代码 逃课写代码 以后可以给自己儿子吹一波 但是大一上的时候我发现自己有强迫症 我当时基本不怎么依靠百度全是自己想 查阅书籍 当时感觉一定要自己想出来(别怼我) 大一寒假的时候还趁时间看网课学习了c++ 但是自己学了就学了 没怎么实际应用 所以相当于白学了 还把那该死的c++ Primer Plus看了一遍 我发现当时的我是多么的愚蠢 光看其实相当于没看 要自己多动手 这样我的大一上册就完毕了 大一上可算是我到大二上这段时间写代码最多的一段时间了 到大二上完毕之前 自己想学很多东西 导致自己动手操作的东西很少 所以效率比较低
大一下册呢!刚刚开始去参加了蓝桥杯 很悲催的是得了个三等奖 第一个题都被我给pass了 还有涉及到动态规划 自己也是觉得难没去看 结果碰上了 结束完蓝桥杯 自己硬是去把动态规划的背包问题搞懂了 然后后面还有个我们学校信息学院举办的acm (我们学校acm还是很强的 去年和今年亚洲赛区分别一枚金牌 两枚金牌) 当时就考虑要不要去高acm 很纠结 当时看很多博客帖子对acm的看法自己想了差不多一天 最后还是决定不去 现在看来我的选择是正确的(我不是说acm不好 只是我适合我) 然后后面就开始学习java了看了将近300集的网课 很累 但是自己写的代码也少 大一暑假就在开始搞java的一个方向(android)
到了大二上 自己这学期一直在猛学,学了很多东西,像安卓,javaee,数据库中的mysql,以及前端的相关知识。这段时间的心得体会是,对于有些暂时不用的东西看一下就Ok,知道有那么个东西,用的时候再去看,比如mysql因为平时需要用到我就稍微看了下基础的常用的,后面遇到相关的时候不会再去看。还有就是团队合作的重要性,一个人学习东西会很累,会经常躺坑,学习起来效率会比较低,所以如果多有几个关系好的在一起学习,学习的积极性会提高很多,效率也会高很多。
我这学期最开始的时候是学的安卓,因为自己平时经常用app所以对这个比较感兴趣,但事实是去年暑假开始学的,但是暑假花的时间不多,看了一本叫做第一行代码的书,跟着敲了一遍,对安卓有了一个大体的了解。但是有些东西还是不懂,这学期花了几天再把那本书看了一遍,发现第二遍看的时候很多疑惑也解决了,后面又买了一本安卓的书籍拿来当作字典。然后就是app,自己做了几个很小的app。然后去github上clone一个别人的项目下来,发现自己完全看不懂,原因是自己安卓的代码写的不够,很多东西不熟,所以还是得多写代码东西才能变成自己的。
接下来话了一周时间学mysql,学习了一些基础的msql常用知识。学完数据库自己终于知道数据是存储到哪里的了,比较开心,花了一周时间感觉以前很多东西自己突然就明白了。
然后就是javaee,上个暑假一位老师发给我一个jfinal框架,当时自己看了一整子,发现自己一脸蒙蔽,当时对javaee也根本不了解于是就放弃了。然后这学期看javaee是买了一本书籍,上面介绍了BS架构和CS架构让我们对javaee有一个初步的认识,然后就是介绍了一些基础的Html js xml 和java对xml的DOM操作 java提供的数据库操作 jsp 以及java原生的servlet tomcat的介绍 还有就是struct框架的介绍。我看完这本书对javaee有了一个初步认识,并且自己尝试着用jsp写了一个小项目。接着就是开始看jfinal这个很火的框架,结合别人的项目来看的。反正还是一句光是看是用远不能把东西变成自己的地。
之前对前端不是很熟悉,就是大一的的时候,看了下前端,后面都没怎么看过,平时自己用到的前段知识也不多。这段时间就学了下前端的一部分知识,包括html5 css js jquery,还有用了一个ui框架bootstraps,自己也实际动手写了很多东西。
这学期还学了一些比较零碎额度知识,像maven git我了解了下。
感觉自己这学期学的很多 ,自己对编程的认知也更深了一些,但是由于学习的效率比较低 自己真正掌握的东西不多,除了自己掌握的之外其他的都只是知道。学习的时候感觉没什么目标学了也没用,所以自己学的时候有时候是比较浮躁的。所以学习应该静下心来学习,多交流。
大二上完的时候 我转实验室了 到这边我自己动手写的东西更多 在这边呆了一个月 比我在之前实验室从打一下到大二上完结一年的时间写的代码都多。很充实。
这就是我经历。最后我再总结一下。代码不是看就能会的 必须自己动手才能变成自己的 每次学了一个东西都必须拿一个东西练手 不要一下子想学很多东西 (大一下到大二上我就是这种状态 想学很多 动手少 千万别和我犯一样的错)还有就是 不是学得多不好 有些人可能会说学太多了 没一样精通 不好 但是敢问现在外面厉害一点的程序员 谁不是都懂的很多 我们必须拓展自己的知识面 但是自己必须有一门拿得出手的 至少大学毕业出去能找一份理想的工作 还有学习必须抱团 团队学习效率会非常高 因为团队学习很多坑你可以帮别人排除 别人也可以帮你排除 大大提高了效率 相互交流得越多 成长得更快 还有千万不要觉得自己知识不能告诉别人 别太自私 要学会相互分享 这样才能进步得更快 要学会总结 自己做过的事 每次完成之后都要学会总结