阶段展望系列
以前其实也写过阶段展望啦,而且非常的多,不过今天才写了写博客,记录一下幼稚的自己。
我是北邮本科在读大二,大一阶段一路摸爬滚打从非科班出身小白混到了计算机实验班,听起来还不错哈,实际我的实力我感觉远比不上实验班的水平。我知道运气占了很大的成分,但是我不想放弃自己所得的一切。Walker的理念是“永远努力成为现阶段想成为的大佬”。
阶段展望就是我所谓的现阶段想成为的大佬。所以会看起来非常牛逼,实际上没有那么厉害的哈。当然如果写博客的话,还是希望有哪位好心人能够看到我,为我在某个专业领域指点迷津。小弟孤身前行势必有很多野路子。要不怎么说自己永远是幼稚的呢。
不多比比,首先总结一下大一阶段以来获得的成就和习得的知识。
以往回顾
数学学习:
我以前曾经想过去攻数学,毕竟当时的思维还是打算自底向上的学习模式,先稳基础,再学高级的知识。所以非常重视数学素养。当然现在也是,不过现在和以前对数学的态度有了很大的不同。
我大一是电子系的,高数功底还算过硬,基本可以达到竞赛水平,不过没有参加过正式的竞赛,只能是说说吧。因为意识到电子系今后对高数的要求很高,于是就深入理解了一下数学分析。基本半年就已经拿下数分整本并顺带攻了一下复变。不过因为总也不用复变,而且没有考试考查,我也不知道自己掌握到什么程度。不过要是让我去应用我应该捡起来还是很快的。(我甚至后续还学了一点点的实变,后来因为没有学够十遍所以没有学懂)
线性代数还可以,基本的理论还都记得,不过高深的线代知识我并不算太理解,只能说会用吧,下一步如果有机会攻一攻矩阵论,顺带捡一捡线代,所以下一步学习线代及线代后续课的时候可能就是考研了。
大一阶段还学过一点点的离散数学,不过不够系统,只能说大一欠的离散基础不用使劲补了,可以直接听大二的离散的课。不过离散数学实在是高深,我现在都不敢保证自己对这东西很懂。
跟着电子院使用过一段时间的matlab,自己也琢磨了一点,感觉还可以,至少现在让我用不能说十分利索,但是也可以玩一玩。
计算机理论:
要说计算机理论可真是非科班出身の痛。完全不知道,这也是我一心想要进入计算机学院的真实想法之一。我只通过C和C++了解了一些计算机底层的实现,并逐渐理解了冯诺依曼机的实现原理,但是也只是明白,还远没达到玩转的程度。
数据结构还算可以,至少可以说还算有基础,但是不是完全掌握。算法水平也有过一段时间的练习,不过还是那句话,非科班,做什么都不系统。
不过C++我还是做过很大功课的,从基础语法的实现机理和STL语法都有过了解。这也是我比较有信心进入实验班的原因之一。通过C++确实能学到很多东西。
软件工程技术
大一学过一段时间的HTML/CSS/javascript,不过因为经常不用,忘的也多,尤其是CSS,不过既然学过,捡起来也相对容易。
暑假开始攻java,javaSE大部分的内容都了解了,现在正在通过不断的刷博,尝试使用java做一些东西,并阅读大牛的书籍。慢慢打算从了解到熟练再到精通。
sql 的 crud 基本了解了,不过也是没有实战场景,没办法进入更深层次的学习。
总的来说,对web技术的大致轮廓已经有概念了。
展望一下接下来的学习
数学学习
最重要的当然是离散数学,学习离散数学,去理解,去应用。我认为离散数学涵盖了计算机理论的方方面面,是非常重要的数学理论,像布尔代数之于数字逻辑,自动机之于数字系统,编译原理,关系理论之于数据库,图论之于数据结构。我是个小白,我只能说我对这些理论都是这样的理解。我希望通过离散数学的学习,能将计算机理论打下一个相当坚实的基础。
然后就是概率论。概率论这个学期已经学完了,接下来是两路应用,一个数理统计,一个随机过程,我还是打算两个都去学习一下,如果从我的总计划来看,我想把随机过程放在更重要的位置上,不过数理统计是学院开设的课程,也应该好好学习。
然后因为选择了运筹学作为选修课,而且以前就听说过运筹学的鼎鼎大名,我想了解一下这方面的理论,不过我感觉有点高深。。不知道能学啥样。。路漫漫,感觉半学期拿不下。。平行的选修课是组合数学,数学建模和矩阵论,矩阵论就准备考研阶段捡了线代再去深入了解了。组合数学是离散数学高级计数的一部分,粗浅的认识一下吧,万一以后哪天就碰上了呢。。最后就是数学建模。。噗,感觉建模很重要,但是又很难。慢慢碰,不准备去竞赛了,平时有能力就喽两眼吧。
今后的学习的话,还有一科形式语言与自动机,我打算归到离散数学中去研究,能看到哪就到哪吧。
所以接下来的工作重点就是离散数学了。下周就是离散周。疯狂学离散。
以后的话,我打算从算法的角度多入手,学习算法相关的知识,更深入的图论知识,以及一些应用性比较强的时间序列之类的理论。并简单了解一下连续数学的理论,比如常微分方程和数学物理方法。不过这些理论估计要等考研了。
计算机理论
计算机理论目前开设的一个计算机系统,一个是数字逻辑数字系统还有一个数据结构。都挺重要的吧,不过我感觉计算机系统和数据结构更重要一点。
数据结构的话其实我直接当算法课上了,算法知识必须过关,来了北邮实验班不会算法叫人笑话。现在也在坚持刷力扣洛谷什么的。而且算法是成为一名优秀的工程师必须要掌握的基本功,我对此深信不疑。虽然我也不太可能去参加什么算法竞赛获奖。但是应该每日不断的练习算法,提升自己解决问题的能力。
计算机系统贯穿C语言,汇编语言,操作系统,计算机网络。计算机组成原理各种科目,硬核导论课吧应该算。应该好好理解一下这本大厚书。目前刚刚学了数据存储和机器级表示,学的不咋地,噗。之后还应该学CPU和链接。不过有余力的话还是把书读完吧。写的感觉还不错。而且已经入门了,可以开始深入读一读了。
数字逻辑数字系统的话,数字系统这一块懵,似懂非懂,噗噗。不过数字系统还是很重要的,应该算计算机系统的下一级吧,这两科放一起学确实有加成效果,机器级表示那里对机器表示的运行机理有了一个基本的轮廓,不得不说北邮计算机培养方案还是非常科学的。
总的来说计算机理论这一块都是原理大概清楚了,但是具体的实现细节不太清楚。还需要多练习学习。
以后的学习还会有操作系统,计算机网络。数据库理论等等知识。争取将计算机理论整座大厦好好研究学习一下。夯实自己的计算机基础。
软件技术
目前阶段还是做web吧,做了web再想什么大数据什么的。现在正在主攻java,准备学了javaEE之后就去做一个web全栈的项目,然后进攻大数据。再下一个方向也许就是python什么的技术。不过我还没想好。眼下还是web更重要一点。也算是基本功吧。
web项目的话,java后端是非常重要的。java只是第一步,这种面向对象的语言也教会了我很多东西。我也应该学习很多东西。其中最重要的就是设计模式。一些优秀的设计模式真的很重要。
我首先应该熟悉java开发web项目时用到的框架和技术。然后深入了解一下底层的源码,精通这些框架,并深入理解源码蕴含的设计思想。着力学习设计模式。这对我来说是很重要的。
以后有机会会接触软件工程理论知识。那就是后话了。
加油,莫愁前路
我很棒的!