当前课程知识点:组合数学 > 组合之美 > 采访邹欣 > 采访邹欣2
可以说大家总说
计算机学科就是一门工程学科
所以有人就说了
那既然这样的话是不是如果想要
做一个计算机从业人员的话
俗称码农
我只要码得多就够了
那我就有工作量了
我就已经完成了很多的工程
那么在计算机学科里面
数学到底是扮演什么样的角色
是不是真的需要的呢
我们真想听听皱对这方面
有什么想法
好
这个问题我觉得还是挺好的
我自己在上学的过程中
就是大学也学的数序课
当时我也很迷茫为什么要
学这么多矩阵啊
高数高代
就有什么用
但是到了这个真正的工作中
你就会发现就是我们软件行业
特别是现在有互联网这个作为
一个催化剂
那真正的好的软件或者是任何
一个领域都是赢者通吃的
就是最好的一个软件
最好的服务可以赢
就你不会去找第三号第四号的
搜索引擎去做
你一定要好最好的
你做最好的程序
你不会找第五名第六名
你要找第一名
那好那第一名第二名和
第三名的差距在哪
事实上大家都可以写代码
就是写程序不是你敲字
打代码打得快
或者说你这个拖动图标
做一些设计做得快
这个真正要比的话就是
如果你真的要做世界级的软件
那还是在于你怎么样
处理数据的快速性
那这个事实上需要很多数学
但是由于我们以前这个
在上学过程中我们学的东西
和用的东西分离得比较多
所以很多同学有一个错觉
或者说他比较迷茫
没有人给他点播一下
所以这种学的这种数学的
东西实际上很有用
我个人感觉就是说也许学和用
实践和提高以及反思都
可以交替着进行
比如说我们刚才就可以做
一些简单的程序
但是你最后发现我需要用
很多数学东西
那时候你再学
学了之后发现我的这个程序
我的这个互联网的服务可以从这个
速度上吞吐量上可以上一个等级
那到那之后你就发现
你需要更多的数序知识
然后你有更多的挑战之后
你会发现我需要越来越多的
数学知识
甚至还有生物知识
那么这样做什么人脑呀
心路学习呀
做很多很多的其他的行业
你不能够说我就敲更多的
代码或者我敲代码的速度更快
或者说我这个语法错得更少
那这个不是一个充分条件
可能是一个不太重要的次要条件
必要条件
所以我觉得数学和工程
是要结合起来
但是这个东西应该交织着进行
而不是把它人为的割裂开来
我学了很多数学之后
我就可以征服软件业
或者说我就写代码
也许我也能够搞定
很多高难度的问题
这两种看法我觉得都是非常偏颇
片面的
所以这也是为什么
我们叫的计算机科学与技术系
对
计算机科学与技术
计算机科学与工程
事实上这个如果你不做工程
你就没有真正的需求
当然你也可以研究很多理科的
很多科学的东西
但是我觉得在现在这个社会上
真正的需求实际上是从用户那里
但是你如果没有做一个
很好的工程的平台
你会发现你的平台不能
做很多科学实验
我用一个我们在研究院做的例子
我们在微软这个
亚洲研究院就有很多研究院
当然做很多科学研究
在发现他说主要他做
科学研究的问题是什么
是我们这个研究员
以及我们的实习生
我们的博士生
他写的代码的工程质量特别差
差到什么地步
就说有一些程序有一些演示
只有某一个特定的
实习生来运行才能成功
别人运用它就会失败
然后当这个实习生他离开之后
他毕业了
那新来的人他就读不懂这个代码
他就觉得这个代码太烂
我要重写
那么这个有些这个研究员
他也没有很深厚的工程数量
他也不知道怎么回事
他又花很多时间重新写这个工程
然后等着差不多的时候他又发现
只能依赖于这一个学生
来做一些研究
那他很多情况下做很多扩展
他就发现是做不了的
那这个我觉得也是很多研究机构
和世界一流的研究机构的区别
就是大家也知道很多世界一流研究
机构中他内部的代码是大家共享
他内部有很严格的工程管理
那这样你才能做很好的科学研究
因为它还有一个加速的作用
因为更好的科学研究
可以提高工程的质量
更好的工程质量可以让你
更好更深的做科学研究
你就可以有一个递进的
相互促进的一个正反馈
否则的话你就低水平重复
你就总是招一个人他做了几年之后
你觉得好不容易打了比较好的基础
让他毕业了
因为我们工程比较差的话
新来的学生他觉得他读不懂代码
他不能继续往下走
那你要重新来做这个事情
那我们就在低水平上重复
你会发现别人做得越来越快
这个我觉得事实上是一个
挺关键的一个因素
就是你怎么样做世界性的研究
如果你没有世界级的工程
或者你没有世界级的实验室
那是很难
皱老师实际上是可以说是
资深的IT人了
已经在业界有将近20年的
业界经验了
所以我们也想听听皱老师对于
比如说即将进入投身IT业的
同学们和已经在IT业
摸爬滚打的同学们
有什么样的建议呢
好
这个问题问得挺好
马老师
那个首先就是我觉得要学好基本功
比如说组合数学
这叫做好
但是还有很重要的一点就是说是
叫在大学里学会怎么样去自己学习
然后自己解决问题
在面试的时候当然我们会这个
各个公司都会考察一些比较
基本的跟组合数学跟基本的
编程相关的一些问题
那你就可以进入这个公司
但是真正的挑战在于说
你怎么样能够学到新的东西
用新的技能解决新的问题
因为我们永远不会说是用你在
学校里学到的所有东西去解决
以后碰到的一切问题
所以这个我觉得是很重要的
另外一个我个人觉得就是
在学校里如果你能够有机会
真正解决一些比较实际的问题
或者是有难度的问题
我觉得这个对你的发展会有帮助
就是我觉得不要满足于
说我好像我的作业都交了
我的考试也还可以
如果你真的有时间
你跟老师去
就做一些比较难的事情
因为我们在面试的时候
我们也会让这个面试者
说你在这么多年的学习
有些人还工作过一段时间
你碰到的困难是什么
对
我们想看看这个人他的这个
他有没有真正竭尽全力
去做一些事情
或者说你碰到有没有一些失败
然后这个我们就可以看到
这个人他碰到困难会怎么处理
他从失败中他学到了什么东西
然后我觉得这个很重要
就是在学校里尽可能做一些
比较难的事情
最好失败一两次
这样的话因为在学校里安全
你失败以后老师会照顾你
你还可以毕业
那你把该犯的错在学校里面犯过了
那你到了工作岗位上
你就不犯错误了
有很多同学他在学校里
特别中规中矩
但是在工作中就是那
他也不太敢犯错误
但是不犯错误在目前这种
IT行业中你大概不能赢
就是我们要有一种术语叫做
(????)
就我们希望大家犯错误
但犯得比较快
你要赶紧爬起来学习
那这种在挑战难题这个
从错误中学习
从错误中恢复
继续在攻克下一个难关
如果有这样一些水平的人
而且再有比较扎实的基础
这才是我们要的人
那其他各个方面就是说
这个人还有很多了
就是你是不是与人合作
事实上很重要的一点是说
在现有的教育体制下
如果你只是就做作业 考试
然后你就毕业了
大概你没有什么机会去与人合作
因为我们中国的系统
都是说你单兵作战
考试的时候你不会与人合作
因为那是违反纪律的
但是如果你真正做到一些
复杂的项目
那你希望合作
跟师兄师弟师姐师妹合作
要不跟老师合作
那在这样的情况下你才能
真正锻炼你这个合作的能力
这个也是很重要的
就说有些非常优秀的同学我们
注意到他到了工作岗位上
他不知道怎么处理一些矛盾
因为你矛盾总是存在的
就用户有需求
这个公司有这个他的业绩的考核
然后那个各个管理中的各个
角色有他的这个分工
就各自利益的趋向不一样
那你怎么得到一个折中
那这个时候你得
而且你又不是他们的领导
那他也不是你的家长
你不能耍赖
你也不能哭
你不能怎么样
大家都是成年人
你也不能拍桌子
拍桌子肯定也没什么用
那你怎么样去影响别人
说服别人
怎么样去做(????)
怎么样去做一些折中
让你能够保持说我能够
能朝稳定的目标去发展
因为我相信我这个方向是对的
这个我觉得是蛮重要的
这也是很多同学在工作的
前三年他比较困惑的
因为他觉得我觉得我会一些语言
数学也很好
技术也很棒
学校成绩也不错
那我就应该一帆风顺
发现他在工作中会出现很多的
这样的问题
那回到那句话
就你应该在学校里就多失败一些
多实践
多实践
多积累经验
比如说你在学校里跟人闹翻了
他大家还是好同学
你在工作中你就不要
跟别人闹翻了
那你就工作比较顺利
我觉得这个是我觉得我以前
也没有这个机会
我回头看的话我觉得这个是
挺重要的一个经验
非常感谢皱老师
非常非常发自内心的分享啊
对
确实是
我们刚才和皱老师一同
分享了有关编程之美
实际上
我们确实从皱老师一番话里
能体会到
其实你说编程之美 组合之美
实际上都是需要同学们去花心思
去花力量
去感受它的
你要通过自己编代码
你要通过自己去实践
你要通过自己去练题
去看视频学习
最终你真正的沉浸在里面
你就能感受到它的美
而一感受到它美的同时
你自己的所有的能力包括你的
数学素养都将得到提升
而这种素养呢
能够让你能够在工作岗位
或者甚至你的整个事业道路上
都会帮助你走得更远
走得更好
-什么是组合数学
--什么是组合数学
--讨论题
-最精巧的排列——幻方
--幻方
-漫谈组合数学--最精巧的排列——幻方
-苦难的羊皮纸卷
--羊皮纸卷
-苦难的羊皮纸卷--作业
-你的手机密码安全吗
-漫谈组合数学--你的手机密码安全吗
-暴力枚举和抽象转换
--世界杯引出的问题
--世界杯引出的问题--练习
--一一对应
--七桥问题
--小结
--讨论题
-大家谈组合数学(1)
--采访武永卫老师
-第一周作业
--作业说明
--H
--U
--G
--作业讨论区说明
-第一周演示程序
--程序讨论区说明
--幻方生成器
--换方计数
--屏幕解锁方案数
--欧拉路计数
--共享程序
-加减乘除来计数
--计数的基本法则
-排列还是组合
--排列还是组合
--小乒乓球的组合之旅--排列还是组合
-各种各样的排列
--圆排列和项链排列
--圆排列和项链排列--习题
--多重排列
--多重排列--练习
-多样的组合
--可重组合
--不相邻组合
--小乒乓球的组合之旅--多样的组合
-钟声里的全排列
--钟声里的全排列
--钟声里的全排列
--字典序法
--SJT算法
-第二周作业
--H
--U
--G
--思考题
--公式测试
--作业讨论区说明
-第二周演示程序
--程序讨论区说明
--全排列生成
--组合生成器
--共享程序
-参考资料:Stirling估计式
-母函数是函数的母亲吗
--母函数的定义(1)--练习
--母函数的定义(2)--练习
-母函数的简单应用
--初识母函数--母函数的简单应用
-整数拆分
--整数拆分(1)
--整数拆分(2)
-Ferrers图像
--Ferrers图像--作业
-母函数与递推关系
--母函数能做什么
--偶数个5怎样算
--母函数小结
-大家谈组合数学(2)
-第三周作业
--H
--U
--G
--思考题
--作业讨论区说明
-第三周演示程序
--程序讨论区说明
--整数拆分
--汉诺塔
--共享程序说明
-Fibonacci数列
--线性常系数递推关系--Fibonacci数列
-Fibonacci数列的应用
--桌布魔术
--桌布魔术--练习
--艾略特波浪曲线
-线性常系数齐次递推关系
--定义
--特征多项式
--线性常系数递推关系--线性常系数齐次递推关系
-说“数”解题
-第四周作业
--H
--U
--G
--GT思考题
--作业讨论区说明
-第四周演示程序
--程序讨论区说明
--程序共享说明
-爆笑花絮
--爆笑花絮
-参考资料:K线分析中的Fibonacci 相关理论
-Catalan数
--计算机界的精灵
--神奇的序列--Catalan数
-指数型母函数
--指数型母函数
--神奇的序列--指数型母函数
-错排
--错排1
--错排2
--神奇的序列--错排
-Stirling数
--神奇的序列--Stirling数
-母函数小结
--母函数小结
-大家谈组合数学(3)
-第五周作业
--H
--U
--G
--思考题
--作业讨论区说明
-第五周演示程序
--讨论区说明
--Catalan数
--程序共享
-且容且斥
--容斥原理
--容斥原理的证明
--容斥原理和鸽巢原理--且容且斥
-容斥原理的精妙
-回忆过去,容斥新解
--容斥原理和鸽巢原理--回忆过去,容斥新解
-鸽子抢巢
--鸽巢原理
--鸽巢原理--练习
--鸽巢原理的应用(1)--练习
-看得见摸得着的鸽巢
--韩信点兵
--中国剩余定理
--容斥原理和鸽巢原理--看得见摸得着的鸽巢
-6人行和Ramsey数
--6人行
--Ramsey数
--小结
-第六周作业
--H
--U
--G
--GT
--作业讨论区说明
-第六周演示程序
--讨论区说明
--程序共享说明
-可以转的世界
--可以转的世界
--可以转的世界--练习
--伽罗华与群
--群的定义
--群的定义--练习
--群的一些概念
-置换群
--置换群
--群--置换群
--共轭类
--对换
--对换--练习
--置换群的应用
-Burnside引理
--着色问题的等价类
--Burnside引理--作业
-闲话群
-第七周作业
--H
--U
--G
--作业讨论区说明
-Burnside引理的困境
-从Burnside到Polya
--Polya定理
-立方体旋转
--立方体旋转(1)
--立方体旋转(2)
--立方体旋转--作业
--立方体旋转(3)
--立方体旋转--作业
--立方体旋转(4)
-母函数型Polya定理
--Polya定理--母函数型Polya定理
-图的计数
--图的计数
-总结
--本章小结
-第八周作业
--H
--U
--G
--GT
--作业讨论区说明
-大家谈组合数学(4)
--采访黄连生老师
-组合之美
--组合之美之计数
-组合之美之线性常系数递推关系
-组合之美之多样的序列
-组合之美之鸽巢原理
-组合之美之转动群与染色
-采访邹欣
--采访邹欣1
--采访邹欣2
-知识点串串烧
--知识点串串烧
-期末测验--期末测验