《软件开发工程师的进阶之路》

《软件开发工程师的进阶之路--2 如何面对"囧境"》

幡然悔悟的道理:

  直到工作后、才晓得计算机科学与技术是一门很宽广的专业;也懊悔高数和线代没有更好的掌握。时过境迁流逝的岁月无法重来;一如既往岁月洪流呼啸而过。书写信息与君说,望君莫入后尘路。

 

如何提高打字速度:

  这个困境是我遇到的第一个难题!班上同学打字分两派,一个是双手派,另一个是“一指禅”。 很不幸我是“一指禅”中的蜗牛班;打字都出错更别说什么键位指法等如此高深的技能。我对这种现象并没有觉得丢人,因为我确实不会敲键盘(初高中很少接触计算机)。我没有刻意训练,后来伴随上机的课程越来越多且在笔记本电脑上也练习。自己无意间就学会了键位指法以及盲打。这一切很自然也水到渠成。所以我认为计算机专业的压根不必担心自己的打字能力,因为后期会有堆积如山的code。。。

 

如何学习较深奥的专业理论:

  大学专业课程的学习生涯中,我遇到两个拦路虎: 数据结构和离散数学。我来说一下自己的学习方法。

    1. 数据结构:不要先上代码,先梳理逻辑用画图去解决。数据结构很抽象,基本逻辑理不顺的情况下别祈愿看代码能看得懂。别说递归了, for循环搭配2个指针能倒下80%的人。所以说 数据结构不要先上代码,要先形成逻辑,在复盘逻辑。 最后代码才有的写,才写的对。

    2. 离散数学:多和老师同学讨论。离散数学的妙招就是多问。没有捷径可走。

 

只有做不到没有数学办不到:

  高等数学和线性代数是CS专业的基石。基石就是承载能走多高多远的基础。如果想做一个最基础的编码人员;会不会高数和线代无所谓。 真的无所谓! 但是想搞人工智能或者图像处理就是考验高数和线代的时候了。举个例子:

  1. 在Unity开发中想让UI或者模型更出色怎么办? 需要写Shader。 这里面就用到了线代。想搞一下图像处理使用OpenGL那就得会线代,要不然空间如何变换。如何节约显存等。

  2. 我用PyTorch搞点神经网络,不会高数怎么行?线代不精怎么好? 

 

注意听讲收益无穷:

  计科是我盲选的专业,但是后来我喜欢上了他。《计算机操作系统》让我着迷CPU调度算法,内存分配逻辑,硬盘是如何工作的;甚至我都能模拟出我的C语言代码如何从硬盘加载到CPU以及如何执行的。《计算机导论》让我明白前人是多么厉害,多么有智慧。《计算机网络》让我知道TCP协议栈真的是伟大的规则,CSMA/CD如何巧妙的解决冲突。这些都是专心听讲的积累。大学生涯是最最美好的,不管是时间还是压力都是最最优解的。所以心无外物的去听课吧,去学习吧。 虽然这个过程比较难,但是却收益良久。

 

posted @ 2023-08-23 15:46  扣丁格子  阅读(28)  评论(0)    收藏  举报