和弟弟聊大学计算机

作者: 插着扇子的石头 | 来源:发表于2017-07-29 14:09 被阅读1049次

去年表弟刚参加完高考,在我的极力忽悠下,他把所有专业志愿都填上与计算机相关的专业,最终被网络工程专业所录取。刚进大学那会儿,他对我说,他觉得很迷茫,问我大学要怎么过。第一次有人问我这个问题,我也有点懵,就和他东拉西扯了一会儿,想到哪儿说哪儿。

他们学校的学习安排比我们当年要紧凑得多,老师还让他们牢记,“大学比高三更紧张”。而我们学校对我们差不多是放养政策,课时少,作业更少,每天都有大把大把的自由时间。大一上学期,我闲得发慌,不知道干什么,曾去街上发过传单,去别人家里做过家教,去社团写过新闻稿,去学生会打过杂,去长白山旅过游,和闺蜜讲过两次相声,还和班草谈过一段小恋爱。真的是小恋爱,两个月不到就分手了。虽然时间很短,但毕竟是我的初恋,要说不伤心是不可能的,感觉整颗心就好像浸泡在陈年老酒之中,又酸又涩。情场失意,考场得意。刚失恋的那半年,我用学习来麻痹自己,结果年级排名直接从50名左右一跃成为年级第一,体重也直接掉了15斤。后面,我就一直开启学霸模式,直到保研结束。

表弟听说我在大学玩ACM,觉得很高大上。我告诉他,ACM是用来打基础和培养兴趣的。他们学校有OJ网站,刚开始的时候,表弟兴趣浓浓,天天刷题,还经常和我探讨。从他发的消息中,我能够明显感受到他ac掉一道题目时的那种激动心情,我也经历过那些兴奋的时刻。我对他说:“厉害啊!第一个学期结束时姐姐连scanf都不会写。”有一次,他碰到《求一元二次方程的根》的题目,提交了8次都没过,就让我帮他看看。我读了一遍代码,也没有发现问题,就设计了一些测试用例,重点测试边界情况,最后发现是“-0”和“0”输出不一致的问题。我先简单给他说了一下问题出在哪儿,以及怎么修改,然后提醒他要注意代码规范,争取以后能写出优雅的代码,最后告诉他要学会自己调试程序、设计测试用例。

表弟玩ACM就是三分钟热度,玩了一个月就坚持不下去了,兴趣点转移到了社团乐队上,听说他还是乐队主唱。他特别喜欢张国荣,几乎会唱哥哥的每一首歌,他还把自己翻唱的歌发布在网上,并给我发了链接。我一个音盲,自然是听不出他唱得好坏。但妈妈曾告诉过我,弟弟唱歌唱得很好,音全在调上,而且很有韵味。当弟弟问我唱得怎么样的时候,我立马说:“唱得特别好听!羡慕嫉妒恨啊!”

弟弟说微积分和线性代数好难学,泰勒公式好难掌握,矩阵什么的已经听不懂了,问我这些东西是只有考试会考,还是以后也会用得上。我条件反射地回答数学很重要,以后也会用得上。但真要我回答哪里用上了,我一时半会也答不上来。当初学数学的时候,我就是单纯地觉得数学很有趣,并没想过以后有没有用。

我的所有数学成绩:(100+95+95+100+99+98+96) / 7 = 97.57

我翻了翻自己的大学成绩单,发现自己数学科目的平均分竟有97.57。这份大学成绩单勾起了我的很多回忆,仅《组合数学导论》就勾起了我的两段回忆。一段是在最后一堂课上做了一次《组合数学之趣味题》的报告,其中有一节是讲错排问题的。这节快讲完的时候,我抛出了一个问题:“当n大于8时,全错排的概率接近于一个常数36.79%。这是我用程序跑出来的数据,但我不知道为什么是一个常数。有兴趣的同学可以试着自己证明。”结果还没等到下课,一个不认识的男生就给我递了一张纸条,上面写满了证明过程。我看得云里雾里,下课又和那个男生讨论了一下才弄明白,原来那个常数36.79%是1/e(e是自然常数,约为2.71828)。因为这件事,我俩成了好朋友。他比我低一级,是数学系的,两年后得了辽宁省数学专业奥赛第一名,学校大门的宣传栏里还放过他和他老师的照片。认识他之前,我觉得自己数学很厉害,认识他之后,我觉得自己数学很一般。另一段是中科院笔试时,有一道Ramsey定理的证明题,即世界上任意6个人中,总有3个人相互认识,或互相皆不认识。《组合数学导论》这门课让我对组合数学产出了兴趣,暑假的时候就花了三天时间看了60集北师大的组合数学视频。因为只看过一遍,所以对具体证明过程印象很模糊,但主要思想还是记得的,即将原问题转化成线段的二染色问题,并利用了抽屉原理。当时这道题只有我一个人证出来了,科院的老师和师兄都很惊喜,这也成为他们收下我的原因之一。

全错排问题:一个人写了n封不同的信及相应的n个不同的信封,他把这n封信都装错了信封,问都装错信封的装法有多少种?都装错信封的概率是多大?

提示:F(1)=0; F(2)=1; F(n)=(n-1)*(F(n-2)+F(n-1));

答案:装法有F(n)种,概率为F(n) / n!

其实,工作中直接用到数学知识的时候比较少。直接用处少,并不代表数学不重要。数学是一门基础学科,对一个人的理性思维会产生潜移默化的影响。数学和计算机更是密不可割,起初大部分玩计算机的人都是从数学系转过去的,计算机领域的很多算法也离不开数学。除了数学,大学还会开设很多专业课,有些课在短时间内你并不能看出其价值,但几年后你很可能会在某个项目中用到大学学过的某个知识点。

排序算法流程图

以我研究生的第一个项目为例,内容是海量浮点数的快速排序。排序算法谁不会写,C++库函数中就有sort函数。如果数据量很大,内存装不下,就可以将其分成一个个小组,每个小组进行排序,最后再合并结果,这中间使用的就是分而治之的思想。小组内排序,我们最常用的是快速排序算法,但是它的时间复杂度为nlog(n),而基数排序算法的时间复杂度为n,在数据量大的时候,其时间差异会更加明显。基数排序虽然快,但它要求数据范围不能过大,我们就可以把一个64位的浮点数看成4个16位的整数,然后进行多关键字排序。为了进一步优化算法,我统计了每一个步骤的时间消耗,发现瓶颈在于二进制和十进制的相互转换。文件中的数据是以十进制存储,而计算机中的数据是以二进制存储。我设计了一种组合编码方式,即BCD编码+二进制编码+行程长度编码,并在编码和解码过程中使用了hash查找算法和移位操作,大大节约了整体时间消耗。老师为此,还奖励了我500块钱,希望我在未来的日子里能设计出更多更好的算法。

这个项目是研究生老师给我布置的,但我做这个项目的时候,还在读大四,用的也全部都是大学老师教给我们的东西。分而治之的思想和各种排序算法是《数据结构》课上的内容;BCD编码和移位操作是《计算机组成原理》课上的内容;行程长度编码是《图像处理》课上的内容;编程是《高级语言程序设计》课上的内容。各种科目的知识点会在某一时刻聚焦到一点,这一点可能激起了创新的火花,也可能解决了实际项目中的问题。

现在很多大学生吐槽课程学习没啥用,懒得花力气认真去学,工作后出现“书到用时方恨少”的局面时,甚至还意识不到大学那会儿他们错过了什么。有时,我会觉得社会的节奏太快,容易让人紧盯眼前的利益,容易让人问出“读书有没有用?学这门课有没有用?”的问题来,容易让人看不清自己的心。

对于弟弟的大学学习,我只给出了很少的几条建议。一是认真听课,把理论基础打好;二是坚持去OJ网站刷题,把算法和编程基础打好;三是多去图书馆看书,扩宽自己的知识面。“先博后渊,厚积薄发”,大学的积累对后续深造和工作都非常重要。

相关文章

  • 和弟弟聊大学计算机

    去年表弟刚参加完高考,在我的极力忽悠下,他把所有专业志愿都填上与计算机相关的专业,最终被网络工程专业所录取。刚进大...

  • 破天荒和弟弟聊电话

    昨天晚上,弟弟打电话给我,聊了有半小时。我和弟弟很少聊天,过去他打电话必有事。想想或许真的长大了。 弟弟和我相差不...

  • 送给正在为自己学习的你

    距离高考还有100余天,过年时,哥们让我和他高三的弟弟聊一聊关于上大学的事情。聊了为什么要上学,上什么样的大学和怎...

  • 焦虑的大姐

    01. 本以为千里迢迢来到重庆——弟弟家,可以畅所欲言地和弟弟说说话,聊一聊,可与弟弟相处的这几天里,我和弟弟却并...

  • 和弟弟聊人工智能

    今天和正在上大学的弟弟聊天数小时,有很多收获,总结一下。 1. 所有道理在其逻辑体系内都是成立的。如果不站在任何角...

  • 我的弟弟

    今天再来聊一聊,我的家庭成员,我的弟弟。 之前说过,我和弟弟是留守儿童,爸爸一直不在家,我10岁,弟弟7岁的时候,...

  • 在给之前,想想,这是别人所需要的吗?

    弟弟,最近失业了,和妈妈简单沟通之后,决定和弟弟聊聊。 初衷是好的,想着让弟弟能够有所觉知,有所觉察,但是聊完以后...

  • 聊大学

    好久都没写过文章了,感觉无从下手,就和大家随便聊聊。 我今年读大二了,一年多了,发现自己并没有多大变化...

  • 20170920

    1.和婆婆大人聊天,聊弟弟的各种搞笑事情,弟弟听了后说到:不要说了,不要说话,快点做事! 2.和弟弟说好今天送哥人...

  • 放手也是一种能力

    和弟弟打电话,聊一些修电脑之类的事情,同时问了他放假什么时候回家。 老公说我和弟弟打电话怎么这么生疏? 我解释弟弟...

网友评论

  • 千秋怎落墨:话说 姐姐 我也是软件工程专业的🐱 班里有的男生觉得都对我们有偏见一样~加油!!!前几天 有个男生还说,为什么我不去学日语,英语。。。觉得超级过分~
  • 维真_dfb9:其实姐姐 感觉当初我们大一时老师光讲数学分析书,满书全是理论的证明,然后还没有练习册,期末考试前我把那本书几乎看了两遍,可还是没有考高分,最后只有69.记得当时我们做的第一道题是证明√2是无理数
    插着扇子的石头:我记得以前证明无理数用的是反证法。
    插着扇子的石头:你可以看下相关的其他书,不要拘泥于课本。有时其他书看懂了,与课本相关的知识点也就懂了。
  • 196健身:姐姐厉害了,我数学直接听不懂。
    196健身:@插着扇子的石头 嗯,谢谢

    插着扇子的石头:你可以下载一些相关视频或者相关书籍,多看看就懂了。以前我学不懂的时候,就会广涉猎,看很多相关书籍。也不是全看啦,就是挑一些感兴趣的、相关的看看。然后,某一刻,你会发现以前学不太懂的知识点都懂了。
  • e8e976845a84:姐姐棒棒哒🤗
  • e8e976845a84:我就感觉我等学渣,在学霸面前,只有顶礼膜拜的份啦~哎~
    e8e976845a84: @插着扇子的石头 😌😌😌感谢失恋成为了你逆袭的转折点。。。
    插着扇子的石头:我读研的时候,也做过半年的学渣,门门科目60分飘过。就是研一刚谈恋爱那会儿,班上倒数前10名就有我和我男朋友。:sob:
  • __北落師門__:怀念大学时光
  • 维真_dfb9:学过数学分析的表示高数简单死了,数值分析很神奇。姐姐看过最优化方法没有呀?那里的BFGS算法就是goole大脑分布式迭代下降的算法。数学系里边最难的肯定是数学物理方程啦。简直就是天书
    插着扇子的石头:@维真_dfb9 哪部分内容听不懂?是哪一版的?
    以前我们的教材是同济出版的绿皮子书,特别薄的一本,内容不太深。
    维真_dfb9: @插着扇子的石头 姐姐 当时上数学物理方程时老师讲得激情澎湃,我们在下面真的非常想挺懂,可就是听不懂
    插着扇子的石头:看过一些,之前上过《运筹学》的课,里面讲了一些最优化方法,比如有约束条件和无约束条件的优化,线性规划和非线性规划。
    很多课程学懂了就简单,没学懂就觉得难。
    数学系里边最难的真不一定是数学物理方程。只是数学物理方程需要你具备数学和物理两门知识而已,或者说需要具备多种能力。
  • 沐流尘:跪舔楼主脚趾😁
  • DailyOne:向会玩数学的同专业学姐递上膝盖
    插着扇子的石头:祝你大学学习愉快!:smile:
  • Garming_wu:向大佬低头😂
  • 炎殿:ACM大佬,萌新路过。
    插着扇子的石头:真算不上大佬,就是ACM初学者一枚。
  • 31365db40436:9月份,我也将成为一位学软件工程的女生啦!大学一定要好好学英语,数学,刷ACM!
    插着扇子的石头:嗯嗯,加油!:candy:
  • 一点也不想吃辣:算法有用到数学的。
    线代的可以在一些密码破解体现。
    其他的不太了解,我数学学的并不好,我是学渣,你老弟最后网络专业走研发了么
    一点也不想吃辣:@插着扇子的石头 嗯。
    插着扇子的石头:现在特别火的机器学习中的很多算法就涉及到线代。数理统计相关知识也用得很多。
    不过现在公司很多搞机器学习、数据挖掘的人都是偏应用的,对底层算法要求不够。我平常也很少动底层算法,大多数都是黑盒子操作。不过我们组有个清华博士,是专门研究底层算法设计的。
    我弟弟才大一,不清楚他以后是走研发还是其他的。顺其自然吧。
  • Cinderella0709:真的好强啊!我一直对女生在计算机方面有偏见......🙊你好棒!
    插着扇子的石头:@Cinderella0709 我们学校都没有ACM队,也没听说有谁玩ACM,等我大四快毕业的时候学校才开始组织弄ACM。:sob:
    还好我当时比较幸运,在网上认识了一群玩ACM的大神,和他们一起刷题,也蛮有动力的。之前我们主要是在hdu ( http://acm.hdu.edu.cn/)刷题。找工作前,流行在LeetCode (https://leetcode.com)刷题。
    每天刷两道题目,等刷完几百道后,就会感觉自己编程水平明显提高了。
    Cinderella0709:@插着扇子的石头 嘻嘻是的,计算机科学与技术的,开始也是小白啊,身边的厉害的人感觉都是有基础的,开始错过了ACM的入选,然后自己去做的时候又坚持不下去,怎么说,看了你的经历真觉很棒,而且你居然每条信息都回复,嘿嘿,small surprise🙈
    插着扇子的石头:你也是计算机专业的吗?
  • 木林森道:学长棒棒哒 😁一只网络工程的妹纸。
    插着扇子的石头:我也是妹纸啦:blush: 我表弟也是网络工程方向的,我是计算机科学与技术硬件方向的:cherries:
  • 无祈云溪:计算机后期都是数学的天下
    道士爱学习: @无祈云溪 😂那请问人工智能虽然主要是数学逻辑,但是人工智能主要的神经元系统恐怕不单单数学问题吧?计算机底层原理也就加法运算而已,其他都是微电,集成电路等物理技术。
    道士爱学习: @插着扇子的石头 太深奥了,好像搞研究一样😂😂😂😂
    插着扇子的石头:一般读博,或者研究计算机理论,需要特别扎实的数学基本功。其他的,数学基础过得去就行了。我和同事基本上都是大学学了几门数学课,研究生第一年学了几门数学课,后面就一直做项目,很少再有理论熏陶了。
    可能现在我们都还处于计算机前期,还没有“计算机后期都是数学的天下”的觉悟。有句话不是说:“学得好物理的人,数学都不弱。学得好数学的人,不一定学得好物理。”应用到计算机上,就是“学得好计算机的人,数学都不弱。学得好数学的人,不一定学得好计算机。”:smile:
  • 0627fd7ad03d:我学了一年,感觉这一年也是废了,以后要更加努力吖😂
    插着扇子的石头:@蓝胖子ly 年轻真好,好怀念大学时光,以后如果有机会,也许我会回大学进修。大学的学习氛围很好,自由度也高,可以有大把的时间看自己喜欢看的书,做自己想做的事。
    加油哈!
    0627fd7ad03d: @插着扇子的石头 嗯
    插着扇子的石头:你也是大一么?

本文标题:和弟弟聊大学计算机

本文链接:https://www.haomeiwen.com/subject/sdrgkxtx.html