我是一名信息与计算科学专业的普通本科生,目前还是大一暑假
从今天开始,这个博客也将会见证一个新手程序员的成长。
我呢,从小学就开始接触电脑并且可以熟练的使用电脑,不过那阵用电脑基本上都是用来娱乐的,看看电影啊在网上冲冲浪啊。而随着年龄的增长,使用电脑的频率也越来越高,而在高中有一次,收到了同学给我发的一个文件,打开之后电脑好像就被控制了一样,过了一会它就自动关机了,这也算是我第一次对编程有了认识。
而到了大学,学会了使用chrome浏览器的tampermonkey插件,在里面有各种各样的实用脚本——网页翻译、迅雷限速破解、网页限制解除。而他们的代码全都是公布的,你甚至可以根据自己的需求来修改他的代码,而这彻底激发了我对编程的兴趣。
在大一的时候,通过学校的课程和自己在大学mooc 知乎 b站等自己经常用的一些途径,学习了c语言,对编程也有了大概的了解,进行了一个编程入门过程。
因为疫情原因,在家待了很久,我也用这段时间对我自己未来的编程之路有了一个大概的规划。
首先我的专业算是数学专业但也会学到许多有关计算机方面的基础知识,而在我看来,数学与计算机之间的联系也算是蛮密切的了,举个例子,离散数学囊括的数理逻辑、集合论基础、关系代数是最直接与编程思维相关的内容,其最厉害的一点就是完全脱离编程语言,从最基础的公理推理出来的各种理论,都可以应用在任意一个编程语言中。图论和树论,可以构筑起基本的数据结构基础以及有限状态自动机基础,为复杂的编程思想打下非常坚实的理论基础。我感觉在计算机编程里面遇到大部分很难解决的题,大多可以从这里面找到解决的思路。
在大二大三大四的时候,充分利用好专业课以外的时间来系统性的学习JAVA并对数据结构、算法、计算机组成原理、计算机网络、操作系统、数据库等一系列计算机基础知识进行初步学习了解,主要通过《操作系统》《计算机网络》《数据结构》《计算机组成原理》等书籍以及网上各种资源进行学习.尽量在大二下学期的时候将 剑指offer 刷一遍,掌握每道题的最优解.期间充分利用github,随着对编程的不断学习,可以在github上做一些开源项目.而Leetcode刷题同样也是一个很重要的过程,定个小目标,在大二大三大四三年的时间里能刷300+题.
在大一期间对编程的学习,我意识到了多学多练才是提升编程能力的真理,而博客可以很好的记录自己的学习感悟,方便日后进行回顾.
总的来说,现在认真学习编程,是为了在毕业后获得进大厂的机会.虽说我的学校并不是985.但我觉得,如果我真的做到了以上提到的事情,那我的编程能力将会得到一个巨大的提升,总之,不能因为自己大学期间的不努力而在毕业之后才后悔吧,那还不如少玩,多学.努力提升自己的能力才是大学期间最应该做的.