从13年计算机本科入学以来,转眼已过7个年头了,期间从一个什么都不懂的小白到现在的略知一二,感谢党和国家给予我学习的机会,给予我不断成长的空间。
7年间,从本科到研究生,我对于课程的学习还是相当认真的,平均绩点是3.7,最怀念的时光还是从早到晚泡在图书馆里,平日里下课后去图书馆完成作业,看闲书,期末认真复习迎考,一位难求的学习气氛。
7年间,学习过不少编程语言,算法。在开发应用中也对许多库的用法进行了研究和实践。仔细数数的话,大一学了C和JAVA,大二的Python和C#,大三的PHP、Mysql、JS也玩了一下。用c#开发过客户端程序,php开发过网站,java开发过安卓应用。本科的时候只觉得python挺简单的,但一直没机会使用,研究生时的方向是计算机视觉,得益于这几年人工智能的火爆,计算机视觉论文的代码实现基本上都从matlab转为python了,让我对python刮目相看,在我这三年的研究中,基本上python就足以完成科研任务了,在面试找工作的过程中,用python来刷题也相当方便,代码通常要比C写的少很多行。
虽然已经学了很多了,但是我心中仍然有些遗憾的,希望能在毕业之前来完成。很重要的一个就是c++的学习,本科时最遗憾的事情是不知道acm的重要,只觉得开发应用很有趣,但现在我才理解老师说的算法与数据结构才是计算机的灵魂所在,所以建议本科生们还是多多参加acm,个人觉得acm的重要性远大于数模。当然acm只是学c++的一个理由,深度框架的底层都是c++写的,python只是对功能的调用组合,当需要对理论进行进一步创新的时候,就需要进行底层代码的编写才能完成,这是第二个理由。此外,许多游戏引擎比如虚幻,开发苹果应用,都需要c++的基础。因此,虽然之前一直没学c++,但是现在还是想来系统学习一下,毕竟相对来说,计算机专业的学生还是应该往下钻一点,不要停留在应用层面会比较好,算法该学的要学,理论公式该推导的自己推导一遍,受益良多。
好了,闲话不多说了,我选择《C++ Primer Plus第六版》作为学习c++的教材,一方面是实验室师兄的推荐,他在tx搞游戏开发的,之前也是名acm的选手。另一方面是这本书内容相对多一些,会比市面上一些c++入门的书要详细一些,比较适合像我这种已经有其他编程语言基础和C语言基础的人来看,什么21天入门的这种书还是随便翻翻就好了,真正的好书还是那些经典书籍,得到很多人推荐的书。
之后,我会按照书的顺序对学习到的每节知识进行记录,不会是面面俱到的,而是我觉得比较重点的,感兴趣,或是对我有启发的地方。当然这个笔记的初衷还是为了鼓励自己好好看书,疫情这段时间里还没好好地看过书,都是看看微信公众号推送的文章为主。
那就先这样,加油看完。定个小目标,一个月!