Skip to content

软件&计科:学了这么久,吹吹水 #43

@ghostbody

Description

@ghostbody

经历了半个学期的痛苦、煎熬、无奈、彷徨的DDL

如题。很多同学已经产生对编程无比的抗拒了,大家油然而生一种感觉,我是当初脑子进水了才报软件工程专业,这个专业各种各样的作业,看着别的同学上大学悠闲自在,自由飞翔,羡慕死了。

我们天天被西西里虐成狗,被TA出的实验题玩成熊。天天打代码,周末也一去不复返。

看着无奈的wrong answer,time limit exceeded,memory limit exceeded,runtime error,restrict function,不知道怎么改。“我这个程序绝壁没错,不可能啊”

看着实验题就是恨着TA为毛文件结果错一点点就给个0分。

看着一堆不懂的概念,和不知道说什么的英文。什么指针什么玩意,什么函数原型什么鬼,什么i++,++i什么鬼。

看着这么难的东西居然有大神却能从容自若,谈笑风生,还可以轻易装逼,简直了。

看着老师上课就像在讲天书,哇啦哇啦不知道说什么,隐隐约约听到一个call by value, call by value,也不知道啥意思。

书本如砖头,呵呵。

有人说,你正在痛苦地经历着一切,终有一天你会笑着说出来。没错,这些就是TA的经历。

我们虽然在作业最难最多的专业,可是我们也在最有前途的专业,也许别人开开心心地玩着上大学,以后就哭着 找工作养家糊口。

也许,有挑战的事情才是真正的学习。记得小学期有个外教说过,“you should remember how you struggled when you feel it easy” (你要记得你在掌握之前曾经多么纠结)。

也许很多同学上大学就很迷茫,特别在软件学院,懵逼了,找不到方向,有一种我的人生失去了希望的感觉。其实没那么夸张。

最终的结果取决于,你能否坚持下来

其实看到你们现在的状态就看到了我当年的自己。很遗憾,TA并不是大神,只是你们一个师兄,而且还是嵌入式方向,呵呵。很遗憾,个人特长还是搞Web的,c语言学的也不是特别好,c++就更不好了。算法也是学的很渣,离散数学等于没学。现在其实很后悔,如果当初怎么怎么。。。。现在的知识水平也许会更高。

下面给些实质性建议:

个人总结(技术博客)

其实你们学的很好,只是自己感觉比较差而已,我觉得你们应该多做总结。总结是学习很重要的工具,可以知道自己到底学了什么。
所谓总结,并不是说,写一段比如这篇水水的东西一样。最好的办法是,针对一个特定的问题,比如西西里一道纠结的题目,“运算符的优先级和结合性”等问题,写一些个人的博客,进行深度学习,这也是给你们出deepthinking的目的,而不是三两句话就带过

深入学习思考

很多同学的思维通常只会浮在最表面,很多深入的东西并没有认真去思考。比如,函数原型,可能大家看到的定义就是,函数的函数名,函数参数,返回值,书上也会举个很简单的例子A+B。然而,函数原型设计是面向过程程序设计里面一门大学问。当其涉及到指针的时候,一切都变得不简单。所以很多时候大家只会去看到一些很表面的东西,这,远远不够。

关于算法

很多人都很执着于去搞算法,和数据结构。我这方面比较差,连快排也要百度那种。其实怎么说呢,很多时候对于工程来说,最基本的算法确实是必须了解。做工程的人,在能深入研究算法和计算机科学的人面前就是非常弱鸡的。可是我们毕竟是工程师,对于很多问题的实际解决是跟算法有差距的。
也许很多人很惧怕嵌套循环,不过做大型项目的时候,这个东西经常用,甚至都不会考虑用哈希去优化什么的。
教Web的王青老师说过,优化和不优化的问题关键在于,优化的成本很大(写复杂的算法),不优化对性能也造成不了多大的影响。
我个人建议,在大二的时候好好写学数据结构与算法,现在把语言基础都弄扎实。

关于高数、线代:

很多人会有疑问,我们来软件学院不是应该学web技术、机器学习、人工智能、安卓开发、游戏开发等等这样的东西。为什么要学那么多数学。其实当时我也不懂。现在懂了,可能晚了,发现之后的课程里不知不觉之中用到了很多数学的知识,特别是离散数学,线性代数。其实计算机科学就是数学的一个分支(个人观点)。你能学多远,就取决于你数学的抽象思维有多深入。

对于兴趣的建议

如果有些同学觉得纯粹抽象的编程太难,其实不用着急,先把现在的东西学好。兴趣是慢慢来的,前端的技术其实是偏技术性的,可以参考家荣TA的github,里面有很多可以运行的很好玩的web程序。

总结

希望大家能学的更好。

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions