天天财汇 购物 网址 万年历 小说 | 三峰软件 小游戏 视频
TxT小说阅读器
↓小说语音阅读,小说下载↓
一键清除系统垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放,产品展示↓
首页 淘股吧 股票涨跌实时统计 涨停板选股 股票入门 股票书籍 股票问答 分时图选股 跌停板选股 K线图选股 成交量选股 [平安银行]
股市论谈 均线选股 趋势线选股 筹码理论 波浪理论 缠论 MACD指标 KDJ指标 BOLL指标 RSI指标 炒股基础知识 炒股故事
商业财经 科技知识 汽车百科 工程技术 自然科学 家居生活 设计艺术 财经视频 游戏--
  天天财汇 -> 科技知识 -> 计算机学院的老师们的实际编程能力如何? -> 正文阅读

[科技知识]计算机学院的老师们的实际编程能力如何?

[收藏本文] 【下载本文】
我是这么理解“懂技术”—— 编程能力强,动手能力强,能熟练应用主流框架技术。我觉得,大学老师有一个共同特点,学历非常牛掰,擅长科研写论文。但是我认为绝…
那我就乘机自己夸一下自己。 网上大部分认识我的人是因为看了我在2015年录制的机器学习视频或者是目前成为我的机器学习在线课的粉丝。
可能大家并不知道,我虽然目前是在数学系工作,但我同时还是一个非常优秀的工程师。比如在我的实时计算机视觉演示视频中很多是我在第一个工作的大学 Charles Sturt University (CSU) 工作时完成的 徐亦达教授的个人空间_哔哩哔哩_Bilibili 那个时候从申请经费,购买设备,安装设备(我等不及学校的木匠来安装自己装了)焊接口,写所有的代码, 系统合成,到后面写论文都是我一个人完成。我在当大学老师之前还在IBM Australia 当了5年的码农。我甚至在2015年还一个人参加并赢得一次hackathorn比赛。。
我是2006年开始在大学当老师的。但其后的10年间我坚持自己动手做东西写代码,因为这样的过程才有乐趣。我在2016年后有很多博士生之后确实编程时间少了。所以我一直觉得缺了点啥: 因为编程和数学一样是我的乐趣所在。来浸会数学系工作后,我开始写教学的代码,又开始可以部分享受这种乐趣。
我个人认为教授的文章经费都很重要,但有些学科的个人基本本领一定要超过学生,这样在上课的时候或在博士生面前可以时不时的拿出来秀一下
刚读到某位大学教授的事迹:
理论功底:面试某高校计科系教职时向系主任表示“实际上,我对计算机科学一无所知。”该系主任回答:“没事。我们这里有人懂这个。”编程能力:花5年想到的思路被一个数学出身的学生几天就悟到,高效的GPU实现则要靠另一个学生。动手能力:他六十多岁以暑期实习生名义去某企业合作时连LDAP登录都不懂。牛掰学历:“我并非物理不及格,也不是从心理学专业退学。我是心理学不及格,从物理专业退学——这样讲更有利于维护声誉。”框架应用:他的几篇论文发表数年后相关领域有了“主流框架技术”。职业发展:某大企业通过收购他的公司(就他和那俩学生)来招聘他,获得他兼职。公司卖了4400万$,他要三人平分,俩学生坚持要他拿40%的大头。他说“你们可是放弃了很大一笔钱,回屋睡一觉再好好想想。”
这个叫Geoffrey Hinton的老师太可笑了 [doge]
Genius Makers: The Mavericks Who Brought AI to Google, Facebook, and the World?www.amazon.com/Genius-Makers-Mavericks-Brought-Facebook-ebook/dp/B08CD1M43L/
Google Acquires Canadian Neural Networks Startup DNNresearch?thenextweb.com/news/google-acquires-canadian-neural-networks-startup-dnnresearch-aims-to-improve-image-and-voice-search


我们系有个老师,让我们用 GitHub 交作业, Markdown 写报告,推荐我们用 Stack Overflow 查问题。


我大学教C++的老师,课讲的跟狗shi一样。如果说谭浩强的教材是天书的话,他的语言组织能力就跟github上那个“狗屁不通文章生成器”差不多。时隔多年,我唯一有印象的是,有一次上课,看到大家都在睡觉,他突然动情了,开始回忆读博岁月。反正意思就是压力很大,为了能毕业,自己将近一年没出过门,生啃操作系统。然后告诉我们,我讲的东西,你们爱听不听,但是编程水平如果不亲自上手,永远提升不了。反正我感觉论讲课,他就是学院里顶级混子,随便水一水课,实验课自己带着墨镜对着电脑噼里啪啦从来不管我们。
有幸选修过一学期NodeJS,大学开NodeJS课的简直稀有!但一个学期的课程啊,你知道学了什么。生硬地把NodeJS里的一些API浅过了一遍,后来工作后去学NodeJS时才发现,当时讲得东西基本都是“菜鸟教程”上的案例……最后考试的时候,告诉我们会考http服务器,我就去背创建http服务器那块东西,我背的滚瓜烂熟,虽然不知道那几行代码到底是什么玩意儿,但我愿称它为“十行情书”,反正让我顺利通过了考试。
学Java的时候不错,老师非常靠谱,每个案例带我们敲一遍,教我们调试啥的。体验最好的课是web前端,基本就是前端入门课程了,老师带着我们把那本教材上所有的html、css属性、js语法完完整整的过了一遍。简直是傻瓜式,他教十分钟,让我们敲十分钟,那也是我唯一认真听过的课,觉得有意思的课。这也导致后来选工作时,选择了唯一感兴趣的前端,哈哈哈。因为直到毕业前,我都不能理解用C++能干啥,Java也只学了个SE的知识,调试只知道个小黑框,这就是我见识的天花板了。
以我的揣摩,老师们肯定是懂技术的,他的知识量教你没啥问题,但能否遇到一个好师傅,指引你上路才是难上加难的。
时隔几年,我现在很后悔,一方面是不管老师讲的怎么样,我都很少认真听课,所有的课程都是应付考试完事。另一方面,明知道老师讲课水,也不知道主动找课程学。听人说去github上找项目,但进去之后完全一片迷茫,费了半天劲clone了一个项目,里面各种绕来绕去的引用压根看不懂,然后就启动王者荣耀犒劳一把自己了。
我很羡慕现在的学生,如今b站上各种培训视频,从0入门学语法、带你做项目、还有各种开源大佬分享小技巧。如果你现在觉得老师不行,那趁早选择互联网冲浪学习。唉,我觉得如果当年我能找到一条路径,一路摸索下去,大学那几年也不至于过得那么开心。
国内的多数老师基本上就是学术界,工业界,教育界,这三个领域哪个他们都不沾边,几乎就是混日子,顺便能多混点钱就多混点钱的那种。哪怕到985这个级别的也是一样。尤其九十年代中后期,一直到零几年这段时间入职的老师,水平简直辣眼睛,教学态度更是令人发指。很多老师甚至还很骄傲的说自己已经好几年没写过一行代码了。
而且最离谱的是我感觉他们不仅和业界水平脱节,感觉他们有不少人由于从来没有步入过社会(博士甚至硕士毕业就当老师了,从未离开过象牙塔),所以和社会好像也很脱节,整体的认知水平起码落后五到十年
我到现在还能回想起他们的一些经典言论:
“你这都是调的库,没有自己的创新点”
“大家自己想办法自学做些东西出来,大学不是培养码农的,码农都是低级的技术工人”
写到这里我突然想到一个问题,一个人超长时间不写一行代码,工程能力几乎为0,其计算机水平能有多高?
工作几年渐渐明白一个道理:人的精力是有限的,一个人再牛,他如果花时间用来精进技术,就势必没有精力做其他事,反之亦然。
拿我曾经遇到过的各种我认为技术比较厉害的70后,硕士,博士学历的职场前辈(这里说学历是说他们当年也有资格进学校)。他们属于常年和技术打交道,他们普遍有一个特点,就是对技术有很深的掌控能力,对技术细节也很执拗,同时,他们性格相对比较单纯,比如不喜欢说一些很浮夸的言论,还有对事不对人,刚接触这类人感觉说话直接不好相处。
他们之所以是这样我觉得与他们选择了技术路线,所以每天都把精力花在做一个又一个具体项目,解决技术问题中,没时间关心其他事有关系。
然后在来说下学校的情况,别说70后的老师,80后老师很多也是科研个几年,就不再关心技术了,也就相对来说属于渐渐不太懂技术。
他们之所以是这样我觉得与学校的晋升体系有关,所以他们每天都把精力花在写一个又一个申报材料,参加一个又一个会议,拉一个又一个横向项目中,根本没时间关系技术。
可笑的是在学校只关心技术的老师可能没人与之为伍。他们不会浮夸的介绍自己实验室,也招不到“好学生”。其实,这些不那么“好”的学生反而可能是幸福的,因为他们可能遇到了一个对学生认真负责,也有技术情节,甚至会和学生一起调试,学生有实习机会也慷慨的放学生去,而不是高高在上一个劲催进度,千万不准去实习,把学生当工具的老师。
当然,凡事不是绝对的,企业也有不懂技术的技术总监,学校也有很懂技术的大学老师。
纯属虚构,雷同巧合。
@跑跑小叮当
我的导师,coding能力未知,LaTeX能力无敌,什么稀奇古怪的bug都能修。每次paper都是导师给我排版的……
2004年读研究生的时候,那时候有个老师教计算机体系架构,原谅我已经忘了他的名字,只记得那个老师不修边幅,他上课讲的东西也有点不太能懂。但是,他当时有个论断,我们当时在讨论体系架构的瓶颈,大家往往聚焦在如何提升算力,羡慕IBM的大型机怎么发展下一代,他却说,你们这个时代的人应该讨论一下当网络带宽不是问题的时候,你们如何利用大规模的低成本服务器, 利用虚拟化技术,将成千上万台服务器连接在一起形成一个超级计算机,按需分配资源,统一提供调度弹性。如果你们谁解决了这个问题,我估计会把计算机这个产业带上一个台阶。这个论断他讲了好几次,我每次都不知道他在说什么,以至于他的课和他的名字都忘了,我还记得,也琢磨了很久。当时,我们的讨论也聚焦在他会不会写代码,或者他实战经验有多少。当然,那些都是浮云。
2006年,亚马逊发布全球第一个云计算服务Amazon S3,云计算的商业化时代由此拉开序幕。真的师者,是引领你往前看的人。
我有一个老师,当年上课手撸代码。
讲的是c++。不得不说水平还是很高的。范例代码在VC6里面能跑的过。
后来讲到线程的时候,他在线程中去更新UI。直接程序崩溃了。
调试半天未果,然后有同学提醒他不能在工作者线程去更新ui,改了一节课都还没改好。
年龄大的,零几年高校扩张那一波进去的,可能有一部分是水货。但是近五年内拿到在编教职的,基本个顶个的卷王,你还真别瞧不起。
大学c语言老师讲到指针的时候说指针太复杂了,我们不用学也不会考。严重怀疑她根本不会
我理解编程能力都是逼出来,可以现学的,而不是一种需要保持的能力
我们老师少学生多,最近扩招工作工作更加多了,教务处形式主义材料无完没了
而且最近连着好几个个月没发工资,老师们觉得这样被嚯嚯下去不是事
一群人看样子也不太写程序的老师,好像也不太懂AI,合谋一周左右,接入大模型,写了一个自动分析教务处文件然后自动批量填写各种材料的工具
虽然他们平时都不太写程序,但是人被逼疯了,这些基本的代码也能现攒出来
其实,很多学校培养计算机不太行的根本原因是,没场景,学生学八股文不知道能去做啥,也没动力学习,你努力写code,还不如努力写word容易完成教务处的工作。
一切要写程序的根源,都是为了规模化,这是写程序的最初动力,与其说高校老师代码是否过关,更加应该问他们是否有场景保持写code的欲望
应该是不懂的。其实,现在如果任命我当一个大学计算机学院的院长,我会傻眼。因为,我不知道计算机学院培养什么。培养计算机专家吗?计算机专家是个什么鬼?我不知道。
所以,当初我从电脑中心跳糟到数学系,心情非常高兴,总算找到一个人类社会最轻松最容易的工作,当时就打定主意坚决不辞职,一定要混到退休。现在我的人生目标已经实现。
当时数学系把我挖去,目标是挖去一个电脑专家的。但是我一去就选择教线性代数教概率论,这两门课是我一生的最爱。后来走马灯似地换了了好几个领导,都向我施加强大压力让我教计算机课程,反复以开除相威胁。我对他们说我不会啊,我不是计算机专业的人,我的博士研究的是信号处理,是数学啊。我也不懂C语言,虽然编写C和C++程序倍儿溜,仍然不知道它们是什么鬼。
所以我就社死了,直到退休。
我的计算机老师,上课非常有激情。一边讲PPT,一边咔咔写代码,键盘敲的非常带劲。
讲到网络请求时,给我们演示localhost 和 IP。先用的localhost没问题,请求非常成功。改成192.168.x.x(本机IP)后,惊喜出现了,怎们捣鼓都不能请求。各种环境配置,代码翻来覆去检查了好几遍就是不通。整整一节课都没找到问题,整的老师都开始怀疑人生了。
第二节课的时候老是兴冲冲的跑到教室,问题找到了,localhost的第一个字母l当成1了,正好他用的编译器,l和1几乎一模一样。
我觉得他们可太懂了。
就拿我在CMU上过的几门课来说吧。
数据库系统【15415】,教授是 Andy Pavlo。著名的数据库调优工具Ottertune就是他主导开发的。分布式系统【15440】,教授是 Mahadev Satyanarayanan。支持整个CMU的内部文件系统AFS就是他主导开发的。软件系统原理【15214】,教授是 Joshua Bloch。前Google Java首席架构师,大家每天调用的Java Map等等 Collections就是他设计开发的。他也是Java圣经《Effective Java》的作者。机器学习【10701】,教授是 Tom Mitchell。机器学习的先驱之一,很多著名的机器学习的概念和算法都是他主导提出的。机器学习入门圣经的作者。
其他课的老师也同样是各种牛逼,科研、产业双开花,我就不列了。
当然,开发这些面向业界的东西并不是大部分CMU教授的兴趣,也只会占用他们生涯中的一小段时间,作为自己理论的验证。但他们是【真·懂技术】。有不少老师都会兼职做大厂的顾问或者创业技术合伙人,而且非常成功。
但抛开这些不谈,很多教授都对学术研究和教书育人更有着极大的热情,远比赚钱和在业界开发一个产品要让他们热血沸腾的多。
这可能也是为什么CMU的教学质量高的原因之一吧。


更多文章,请关注我的专栏:
投资理财之路程序员之路计算机科学专栏金融学专栏留学、求职、生活、思考


baicaioyzy
28 次咨询
5.0
卡耐基梅隆大学 计算机工程学硕士
19053 次赞同
去咨询
根据我看过美国一些大学的公开课和在国内的受教育经历来看, 国内计算机学院老师大部分都不怎么懂技术, 但还是有少部分技术很棒, 讲课也很好的, 然而这种老师职称一般都不高.
而在美国的大学, 比如伯克利大学的CS61A, 有课程独立网站, 教材是用Python改编的SICP, 还有配套的自动化作业评分脚本. 这样的老师会不懂技术吗?
看到有些回答说大学老师研究学术, 不会写代码很正常, 计算机这门学科实践性很强, 研究算法理论上并不需要会写代码, 只要数学水平跟得上就行, 但我熟知的算法研究者很少几乎没有不会写代码的, 比如2021年图灵奖的获得者杰克·唐加拉, 他本科是数学, 硕士计算机, 博士也是应用数学学位, 但根据维基百科, 他开发过很多教学软件, 给高性能计算库贡献过代码. 再看其它图灵奖获得者, 光看维基都能看出他们框架没企业开发者用得利索, 但编程能力绝对不差. 图灵奖可以说是计算机学术最高成就, 所以用土木老师不会抹灰来类比并不妥.
计算机系博导,不会Python,不会pytorch等框架,不会C++。搞深度学习需要学生写代码协助实现。深度学习也不牛逼,通常是他提想法和方向,从模型到数据都是学生搞定的。
听说他刚来的时候还是牛逼过一阵子,主要在数学和物理方向,虽然不知道怎么在计算机这边。总之个人感觉他最多从35岁开始就开了中娅沙漏,所有的知识、技术和经验都停留在那个时间点以前。
放在现在的话,他大概率没法本科毕业。
人工智能老师,上课带着慕课的视频让我们看。
路由器老师,调试模拟器不通,调试半节课。
python老师,安装模块出现的问题问她,解决不了,耗时两节课。
物联网老师,指导某组学生毕设,问他一个数据库问题,老师说,你们**届专升本班的***学生学数据库学的6,你可以去问问他。
某.net老师,一学期的课只干一件事,照着书打代码演示给我们看,然后让我们照着打。
老师肯定是有水平的,就是不知道教的东西对不对口。
吉林大学计算机学院陈伟。
十多年前,听他的课,我们认为他是大神。
如今,再看他的课,我们依然认为他是大神。
b站有他的课,可以去看,别看别的,就看指针和存储空间那几课就行了。
至于东北口音,那就别在意了,哈哈哈哈哈。
说几个我听说过的吧,这些算不算动手能力强呢?
《计算机程序设计艺术》作者高德纳是斯坦福计算机大学的教授,研究的方向是算法分析和程序设计理论。高德纳年轻时曾参加过一次编译器竞赛,他轻松打败了所有来自顶尖大厂的工程师。据说当时他写的编译器,无论是编译速度和编译后生成的代码执行速度,都是第一名。
C++之父斯特鲁普,是美国德州农机大学的教授。他参与过美国F35战斗机的飞行控制系统的设计,这种系统对稳定性和实时性要求,应该是秒杀各个互联网大厂的水平吧。
Scala之父奥德斯基教授,被称为是世界上最懂Java的人。为什么这么说呢?因为Java语言是SUN公司发明的,但是奥德斯基教授写了一个更好的Java编译器,替代了官方的版本。
MATLAB 首席科学家 Cleve Moler,做了20年大学教授。后来加入了Mathworks公司,一起开发MATLAB。他当年亲自帮助修复了FDIV bug,这可是Intel CPU设计上的缺陷。这种工程实力,让MATLAB所在的Mathworks公司一战成名。
如果你看过MIT算法导论的视频课,你会发现作者讲了前几节课之后,后面的课都是一个扎马尾辫的年轻人来讲的。扎马尾辫的年轻人名字叫 Erik Demaine,这哥们是研究折纸的。折纸背后有一套非常高深的数学和算法思想。他自己开发了一套折纸软件,可以用来设计非常复杂的现代折纸作品。其作品被美国大都会博物馆收藏。
只能说有的老师技术很好,编码能力也是很强的。
最近在学操作系统的东西,就以操作系统课程为例回答下这个问题吧。
我看过国外大学的公开课,比如麻省理工学院的操作系统课程,老师都是大牛级别,比如 Russ Cox 是 Go 语言团队核心成员、Robert Morris 是蠕虫病毒的作者,课程用到的操作系统 xv6 就是这些老师根据 Unix v6 重写的。下图是课程提供的 xv6 手册封面,可以看到大佬的身影。


xv6 手册封面
课程传送门: https://pdos.csail.mit.edu/6.828/2021/schedule.html
国内的话,操作系统课程可以看下 jyy 老师的课程,课程目前在 B 站有视频,左边是 PPT,右边就是 Shell,大部分时间都是对着代码讲,还有各种现场操作可以让人学习到很多,甚至还有课堂上两小时写完一个操作系统原型的现场操作。


操作系统课程
视频传送门:操作系统概述 (为什么要学操作系统) [南京大学2022操作系统-蒋炎岩-P1]_哔哩哔哩_bilibili
极限速通操作系统实验 (内存管理、线程和信号量、进程和 kputc, sleep, fork) [南京大学2022操作系统-P22]_哔哩哔哩_bilibili
当然,老师怎么上课,还是要看培养计划和课程设计。
===================================
顺便说一下 jyy 老师操作系统的教科书:《Operating Systems: Three Easy Pieces》,是一本开源书籍,官网为https://pages.cs.wisc.edu/~remz,可以免费下载英文版,好像中文版也有开源的。
此书目前出版了中文译本,书名没有采用英文书名直接翻译,而是叫做《操作系统导论》,话说我觉得还是英文的书名比较清晰,个人觉得如果叫《操作系统:并发、虚拟化、持久化》会更清晰,直接展现了书中的主题。


广告
操作系统导论
京东
¥55.70
去购买?
上学期选了我们学校某顶梁柱教授的操作系统,上到期中退课了。
上课给我们讲代码,全程在vim里飞来飞去,我思路真跟不上。自己玩了小半个寒假,这学期再选OS,结果换教授了,一下子压迫感消失了。
=================================================
3月31日修改
昨天去要了一份C语言打基础的代码,顺便问了一下编辑器相关(想要一份vimrc),教授说他用的是Emacs
*上课的时候我还是用nano的,确实分不清(
*教授办公室对面的另一个教授据说是vim guy,不过上次去的时候不在,有机会要一份vimrc
不能一概而论
坐标某末流985
老师A:教C和C++的,会让你寒假跟着他的博客学习wsl,学习git,学习vscode,引导和教学都十分贴进实际,不会像一般老师照着PPT念稿子最后连一段很简单的二分查找都有一堆报错。但工程能力不知道怎么样。
老师B:教计网,带本科生做课程设计,并且同时开了一堆项目类选修课,教课能力据说不咋地,但学校的2.0门户,门禁都是他操办编写的
老师C:教C语言,完全照着PPT念稿子,是教授
偏个题:老师D:外国语学院老师,开发了我们学校口语坊预约系统1.0(目前因为一些bug,用的其他公司提供的现成2.0系统了)
竟然有很多人问我想看A老师的博客 这个真的不能给,没经过老师同意,浅浅放一张截图


评论区说什么发邮件的操作我没懂哈
如果找到了那说明本事过硬,也大概不需要这份博客了
过去几年在读一个在职研究生,有些感触,问题需要几个方向讨论,不是简单的懂或不懂。
大家一般意义上认为的"技术"即编程水平,大学老师自然是差一些的,跟一线的软件工程师肯定没法比。虽然工作可能于此相关,但KPI又不要求,进度压力也不大。几年下来没写几行代码也是正常的。
但有些技术,是需要在工作中总结的,一线的工程师通常没空,也无法接触到足够大的样本,此时积极与产业界合作的大学教师就有了优势。比如软件过程管理这门课,关于软件部署的过程,不仅仅讨论具体的技术,也有很多统计数据来讨论各种风险,甚至还讨论如何跟不合作的甲方人员斗智斗勇。我工作了16年多,台上的老师虽然看着年纪比我大,但估计他一辈子写的代码未必有我两三个月写的多。但他能接触到更多的案例,总结起来的经验却比我个人能总计的更多,也更完善,甚至还有些暗黑,……
在与业界合作总结经验方面,大学教师还可以把一些方法论进行总结和创新。把一些工程领域的玩法标准化。比如数据库范式,正则语言判定等等,就应该是来自于工程与学术的结合。将这些方法标准化,则后人只需要经过短时间的学习就能掌握,成为大幅度提高效率的必备工具。
第三个方向则是来自于计算机科学领域的创新。最近十年活跃起来的深度学习,就是学术界推动的。最初是解决高维度问题的拟合,逐渐发展起一套工具和方法,并成功获得了一些现实环境中不错的结果,进而推广到工业界。此类问题通常需要经年累月的研究和积累。
总的来说,大学教师应该多尝试跟业界沟通和合作。业界提供一些经验,大学教师也可以提供一些理论方向,这样的合作会带来很多机会。
确实是参差不齐,国内国外都一样。
并且还不是年龄大的教授能力就差,年龄小的老师能力就强。
比如说我见过的年龄小的老师,编程能力等于没有,上课全靠念PPT,编程考试做卷子,反正人家是没打开过编译器过。这种考试背课件就完事了,就算一行代码都不打,把课件背下来也能过。
这个国内国外都是类似的情况,因为年轻老师为了找到一份大学老师的工作就已经把自己榨干了,上了岸之后必须得代课,讲理论的课程还可以,因为这些难度不大,都是概念,不太需要动手能力。但是一碰到硬核的编程课,那就不好说了,比如说有的人博士做的是纯理论的工作,基本不需要编程,那么ta要是带这种课,那我只能祝福你,并且好好的上网课吧。
还有就是不一定老的老师编程能力就弱,我国内的硕导,基本上是最早接触穿孔纸带计算机的那批人,你要说ta不会编程,那纯粹是扯淡。
但ta的编程能力放到现在,确实是很差,因为早早的功成名就,离一线干活太远了,据说ta也教本科生的课,但是也一样,理论没问题,动手能力稀碎。
不过也有例外,有些老教授一直都在一线干,比如说我做助教那门课的老教授,一直以来都在编程,曾经从学术界辞职后到工业界干了几年,后来又跳回到学术界教书做科研,一直都在编程。
ta的编程能力我是赶不上,经验太丰富了,并且实战经验也很丰富。
更有甚者,从工业界直接到学术界的人,他们更别说了,老程序员了,编程算个啥。
观察很准确,担忧很中肯。也确实是目前国内大部分大学计科培养不出有用的人才的原因之一。
那他们能写论文就是理论牛掰了么?问问他们写的是多大比例跟随别人思路就可以了解。
计科的理论,就是要在某个计算环节有用的理论,哪怕是用好国外现成框架。否则思路越漂越远,起点也是国外某大牛几十年前的深刻思想,而回不到如今实践里,算哪门子理论!
计科本来就是理论和实践并重的学科,第一要会编程,如题主描述那些先进架构的熟练掌握。那些主流或先进架构并非是由中国创造,更不可能是中国大学教授所创建其中分毫!所以既然没那个理论能力,就要把别人架构理解到位、实践中用得好,也很不错了对吧!进一步,所谓理论强,计科领域就是能够把人类编程需要的编程思维的底层过程,造出一些工具来体现供大家用。毕竟软件工程产业巨大,需要的是架构、工具、语言,而这些的深层“理论”基础,就是好一些的数学、以及结构化等思维的理性化规程化。直接让工程师用“思想”做事是做不到的。一路发展起来,经验要积累进工具和体系,因为计算学面对的计算任务也不断变重。
中国最大最成功的软件互联网产业,目前必须严重内卷996才能存活了,什么根源?除了小中大学占比超高的应试教育、把背诵标准答作为知识以外,就是教育者本身问题啦。靠论文和拿到的项目就能评职称,就是教授们的绝对主业了。
从企业资深软件工程师回到讲台的老师肯定好很多,不论校内还是校外机构。不过也同样需要能够升华到一些理论层级,才能不仅教学生编程实践厉害、也能自己出些像样的对计科新计算学理论上有用的数学,和培养出自家进入国际第一梯队的硕博研发团队人才,然后他们反过来贡献中国软件和互联网产业走深走精来些世界引导的成果。目前中国软件互联网产业所需要的技术基础,完全不来自于中国大学研究所。
当然,大量其它产业也同样,本土大学不提供根源,企业要发展就只有拿来国外现成技术从外部表层集成,所以只能全程跟随了。但计科应该是相对容易改变这个落后现状的领域,因为所用范式、体系、软件工程方法、硬件架构,都已经完整具备,可以方便在这些上面构建了。缺乏的:是思维的深度。


这是大一时期,数据结构课的作业,作业名称为构建哈夫曼树。
在构建哈夫曼树的问题上(其实就是找最小值和第二小的值),老师用的是一直循环去找最小值,我用的是堆,并且我说明堆动态的找最小值比循环来的要快,分析他们之间的时间复杂度和空间复杂度。
然后老师一直说堆排的时间复杂度是nlogn,整个程序复杂度为(n*longn)*n。
我就一脸问号,和老师解释我用的是堆没用堆排,堆可以动态求最小值并且给他画图举例看源码。他不听然后说代码是抄的之类的没必要看,给他画图他说堆我闭这眼睛也会画之类的,最后终于同意画图,画完之后又不认可我的思想。。。我给了个台阶下,说老师可能是熟悉严蔚民版的教材,对于我这种方式老师可能不太知道,老师还是没罢休,问我知不知道堆构建,堆中父亲和孩子下标的关系这类的问题,就这样一直扯了一节课。
后面看时间太久了就叫我下去。。。本来做了30页PPT结果就介绍了寥寥数页就结束了,只能说挺遗憾的。。。
PS:而且在上到堆排的时候,还特意看了我一点,叫我要自谦之类的。不过老师批评的确实是,在这个社会确实应该自谦,但是我应该没啥张狂的地方吧。。。。
----------------分割线-----------------


还有一次数据结构作业,要求实现混合排序。
刚好想起来STL有个sort之前没咋研究过,研究研究顺便交个作业,我原以老师会问啥问题,好歹问个排序的思想吧,为什么要用插入和堆排优化,这样有啥好处等等问题,最后再说啥地方有不足去改进之类的话。
没想到问的最多的是三路快排怎么实现,叫我现场演示给他看 那演示就演示吧,我给他画了图,因为选取的排序元素不是很好想重新选一下,他不让说就是要在这种情况下看排序的优化,我当时又一脸问号,我是在相同元素比较多的情况下有优化(一般快速排序只是把数据分成<=区间和>区间,三路快排把=区间单独划分了),正常情况下的二路排序速度一致,只是在重复元素多的情况下快一些,我也是直接告知老师了,不过还是不让我举一些特殊例子,我咋给你演示。不过我还是按照他的要求来演示了,演示完了之后他就叫我下去,也不问我其他注意的地方了。。。。
PS:另一个上去的同学用的排序是当数据量<=100时用插入,>100 并且 <=100000的时候用快速排序,>100000的时候用归并。这个混合排序获得了他的高度赞许,说那位同学可以走优化算法这条路。。。。。
其实,这位老师是很好的老师,但是对算法这块可能是受到当时时代的影响还是啥的确实是有点问题。。。。
按照你对“懂技术”的定义,国内计算机学院的老师,大部分都不懂技术。
首先,我们要知道的是,国内高校的老师大都是博士毕业后直接进入高校担任教职的。然后,我们再来思考两个问题。
第一,具备博士学位,并且“编程能力强,动手能力强,能熟练应用主流框架技术”的同学,去企业至少能拿到ssp offer,基本是高校薪资的double,为什么会选择高校呢?有人会说,高校更稳定,或者对教育有情怀,但这部分比例占少数。再者说,高校招聘青年教师,不会考编程,也不会考数据结构,大都是看论文。
第二,博士群体中,编程能力强的人少之又少,这是一种普遍现象,为什么?目前国内博士中有多少是真正热爱科研的,大多数只是为了找到更好的工作而选择读博的,还有少部分是恐惧步入社会而宁愿一直待在学校里读研读博。恰恰,编程能力强的同学,由于不缺工作机会,本科毕业或者硕士毕业就选择直接就业了。
所以,我认为国内计算机专业的教育,跟国外有较大差距的原因,就在于师资。国外高校的教师中有较大比例是有产业界工作履历的,这些老师深刻知道前沿科技趋势、技术的落地应用情况以及产业界痛点,这些认知如果能融入教学培养中,那么高校毕业生的能力与企业界的需求差距真得会缩小很多。
就这么说吧,教算法的老师,给他换个版本的快排,看不出来是对的。
当然数据结构的老教授,手撕红黑树,讲的非常有条理。
呵呵呵。。
你说的不会是什么前端主流框架技术。或者是JAVA主流框架技术吧。。。类似于画个网页,调用一下数据库的主流框架技术吧。
这些技术只是因为互联网行业的发展。用的比较多而已。。其实真的不是非常难。。培训机构随便学学就会的东西。甚至对很多有工作经验的人来说,都是几乎不需要学习的。。
我现在工作中也会用到前端和JAVA编程。但是我从来都不学,都是用的时候看看教程,就直接改代码。改完就忘记。。下次用的时候,再看教程。。
[收藏本文] 【下载本文】
   科技知识 最新文章
《消失的问界里》为什么网传华为选择大面积
特斯拉万人大裁员涉及中国市场,销售部门是
媒体报道「特斯拉一天内失去 2 个高管和 10
去年是「大模型元年」,今年会是「AI应用落
2024 年人工智能方向的就业前景怎么样?
如何评价小米汽车SU7全球首例无故抛锚?
如何评价比亚迪与大疆合作发布的车载无人机
如何看待波音「吹哨人」遗言曝光:如果我出
电动汽车为什么一下爆发了?
怎么看待华为太空宽带计划?
上一篇文章      下一篇文章      查看所有文章
加:2024-03-22 13:19:11  更:2024-03-22 13:43:03 
 
 
股票涨跌实时统计 涨停板选股 分时图选股 跌停板选股 K线图选股 成交量选股 均线选股 趋势线选股 筹码理论 波浪理论 缠论 MACD指标 KDJ指标 BOLL指标 RSI指标 炒股基础知识 炒股故事
网站联系: qq:121756557 email:121756557@qq.com  天天财汇