wujr5 / c-and-cpp-language-learning

C和C++编程语言学习 - 2015级
67 stars 34 forks source link

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

Open ghostbody opened 8 years ago

ghostbody commented 8 years ago

经历了半个学期的痛苦、煎熬、无奈、彷徨的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程序。

总结

希望大家能学的更好。

SaltyFish123 commented 8 years ago

师兄的一番发言让我找到了安慰,太感动了。师兄是个好TA,好TA一生平安。

guoxiongfeng commented 8 years ago

既然是水贴,我也来水一水(话说线代 离散都提了,唯独对高数避而不谈, 是真的没啥子用吗 ~.~...

zhongjh97 commented 8 years ago
我就过来看看
ghostbody commented 8 years ago

@guoxiongfeng 有的,忘记写了。最起码泰勒展开,傅里叶级数,傅里叶变换是很有用的。各种积分也是基础啊。

Icenowy commented 8 years ago

师兄是嵌入式的?!搞什么平台呢?

ghostbody commented 8 years ago

@Icenowy winCE,linux

Icenowy commented 8 years ago

@ghostbody 师兄也做linux嵌入式啊,求指导!(我以前都是做桌面的,前几天才准备入嵌入式坑

ghostbody commented 8 years ago

正在被坑 orz

fengyh3 commented 8 years ago

不多说,加油~

mj397062482 commented 8 years ago

这周的实验报告 好高大上- -。。。。。。好无助

ghostbody commented 8 years ago

@mj397062482 哪个?

zzzgggsix commented 8 years ago

希望我也有一天能笑着说出来这些痛苦的经历

linjiafengyang commented 8 years ago

多谢师兄分享学习经历,给渣渣的我一些安慰。希望以后也能像师兄一样愉快地说出这一段经历,我会坚持的!我会努力的!

Z-Zhijie commented 8 years ago

棒。

most-cute-fangfang commented 8 years ago

看了TA大大的话,突然对人生又充满了希望啦!虽然我高数挂了,程设渣渣,作业也不会做,但是......怎么越说越难过?!!什么鬼!只是感觉好多好多东西要补啊....要哭了~不过还是谢谢TA大大作为大神的安慰(好多师兄跟我说他们以前也是渣....可是现在都很牛逼啊!!这让我怎么相信!)

MarshallW906 commented 8 years ago

thx4hlpin,chrs;)

sugerpocket commented 8 years ago

万一智商有缺陷该怎么办呢?不是老夫爱装逼,只是程设水太深= =。摸不清,不知道往哪个方向探究。

cc598 commented 8 years ago

老是說好好學慢慢學,現實是每次作業都涉及一堆“不急着學”的東西....

ghostbody commented 8 years ago

@cc598 For example: 1. 在老师讲链表之前,TA让你很痛苦地去尝试实现一下,结果做不出来。 然后再上理论课,老师讲到链表,然后你尝试听一听,结果听到了自己实现不了的问题。 然后再实现,感觉简单多了。

2. 直接去上理论课,一切都像讲天书一样,好像跟我压根没有关系,越听越困。

在大学的学习和中学的学习,我认为最大的不同在于,知识永远不会只局限于老师所讲的东西。最好的学习方法就是“lookahead学习”,永远走在课堂之前。

所谓“不急着学的东西”,不是指老师没讲的东西,而是一些后续课程需要研究的东西,比如离散数学中的图论,比如非常复杂的算法。

普遍刚上大学的同学的思维都是浮于表面的,不会尝试深入的理解一个问题。

我们这个学期学习的就是C语言,他是我们学习软件工程的基本工具,这个工具不是指语言本身,而是其中渗透的计算机思维,所谓功夫在语言外。

而且,这个学习学完你会觉得,C语言可能只学了十分之一,真正的学习还远得很。

所以,这并不是你停下来不学习的理由。

cc598 commented 8 years ago

TA你的意思就是做不出來也沒關係吧. 然而無論怎麼難的題,總會有人做得出來,只能怪自己能力不足了

dzc15331066 commented 8 years ago

ta说得真有道理,我终于有了一些信心了

ghostbody commented 1 year ago

啊,突然翻到这个帖子。大家过了这么多年,还好么? 🤔