为什么很多大学教的软件技术都是过时的,还乐此不疲的继续教学生这些淘汰的课程?

其他昵称11314611


其实也不全是这样。有些喜欢钻研探索的老师还是相当与时俱进的。他们不断与最新知识与技术接轨,会在课程中穿插很多最新的发展。那么,如果说课程中有些过时的技术课程,那么其实有以下几个原因。

第一种,也不乏一些老教师甚至是新教师只会照搬教材,知识体系过于老旧,长期不更新知识储备,仅仅待在自己的舒适区,教一些自己非常熟悉的技术,而在这之外的更新就没有跟上。

第二种,学校老师所教授的课程并非自己能完全掌控的。每个科目的任课老师都属于自己的教研组。那么所教授的课程也大同小异,用的教材、ppt等课件、讲义都是教研组经过讨论、研发等等一系列过程准备来的。所以,很多情况下不是他们想教什么就教什么的。

第三种,也许老师教你的不是最新的最前沿的,但一定是符合考情,能让你通过考试的(前提你认真学了)。其实这也是应试教育的一个局限所在。最前沿的知识不一定考,但老师一定是最熟悉考试的人,他们能教你在考场上致胜的法宝。其实这也是很多老师需要探索和学习的方向:如何能让学生对该领域充满兴趣的学习,保持与时俱进,同时又能通过考试?

第五种,现在大学里的很多课程其实只是教一些皮毛,或者说是一个引子。他们教你最基础的内容,而你通过他们的抛砖引玉,去了解进入这个领域,授人以鱼不如授人以渔。最新的技术老师永远教不完的。最重要的是你自己如何通过自学,自己去摸索学习不断发展的知识和技术。


决胜网


很多大学教的软件技术都是过时的,还乐此不疲的继续教学生这些淘汰的课程,是由于教师能力和学校条件所限!

由于IT技术现在真的是日新月异,因而作为培养适应市场人才的大学,按道理应该要教给学生最新的技术。但是,由于很多教师即使以前是从IT市场的从业人员,但是由于从事教学以后,就开始远离市场,从而不需要用几年时间,他们就完全脱离了IT技术的最前沿。从而使得学生不能只能学习已经落后的技术。这也是很多IT毕业生,不能适应市场,不能找到好工作的主要原因!

还有一点就是即使有的教师能够掌握最新的IT技术,很多学校也未必有很好的配套条件来进行最好的教育。毕竟很多学校都是有一整套比较僵化的体制,人才培养方案和课程教学大纲,都要做到整个学校统一标准,从而也不能适应IT教育需要的极速变化。再加上很多电脑、软件方面更新的滞后,从而使得学校也不能提供真正适应形势的IT教育!

而解决这一问题的方法就是,学校要和相关企业协同培养学生,将很多专业课程交给发展比较迅猛的IT企业,而企业可以从中找到自己需要的实习生,甚至优秀的还可以为公司所用。最终达到产、学、研、用相结合,达到学生、学校、企业和社会的四赢!


地震博士


作为计算机科学来说,各种语言层出不穷,更新快,门类多,不可能跟上形式发展,d大学设立课程也不可能紧跟流行,那是速成班干的事儿!大学教的是学习方法,教大家打的是基础!但是,只要基础打好了,学习方法掌握以后,想学习语言还是比较轻松的!


比如,大学教大家BASIC,这东西很多人认为过时了,现在都是VISUAL STUDIO了,还学这么老掉牙的?但是,正因为简单所以才专注!BASIC很简单,但是作为入门语法来说,可以让大家轻松掌握计算机语言的基本逻辑。比如C语言,现在都c++,为什呢学C?而实际来看,学好C语言正是为以后打基础,的确c++功能强大,但是当你进行深入的高质量编程以后,你就会发现最基本的条件循环、判断、才是编好程序的基础,而所谓的可视化面向对向编程基本上只是个框架而已。实际上,当计算机语言学习到后期基本理论都是一样的,c、basic、pascal、等等只不过长得样子不一样,核心还是循环、条件、判断等组合,因此,当你工作以后就会发现,从c转到java很难,明明语法长得样子都差不多为什么难,关键还是各种框架和类库的融汇贯通,不要认为学会了C++会做jsp、asp就称为高手了,windows底层又了解多少?计算机这东西,越学到高深就越觉得渺小!


大学里学的数据库原理,表面上没什么实际意义,但是,当以后在工作中很多基础的原理性的定义都会在这门科学里找到理论支持!

数据结构、算法、这些都很枯燥,很多人毕业以后参加各种招聘会,你会发现考的题目都是最基本最最容易忽略的。。很多做大项目的资深程序员,让他做一个冒泡排序却不会,这样的高能人才我国比比皆是!这其实是整个程序员界的悲哀。

举个例子,国外研发出一款游戏引擎,没有美工之前,可能只是个框架,但是卖到国内经过腾讯一美工就成了王者荣耀,开心消消乐、天天爱消除这类游戏,除了界面风格不同,基本上的算法都大同小异,为什么?大家思考!

当然,事实上也存在着老师知识更新慢、课程设立有待改善的问题!


众口说车


不清楚这所谓的过时如何理解?如果非要从严格意义上定义,我们学校学习的所谓的软件技术只能称为软件框架。

很多时下最流行的技术都是一堆框架,而我们把这框架用的贼溜就觉得掌握了最新技术,比如hadoop,spring等等,但实际上我们产生出来的都是高级框架组装员,而非真正意义上的程序员。真的程序员是能从最底层技术开始,设计开发出一套新的框架或者软件产品。用框架溜不能说明技术有多牛逼,离开了框架什么都不是,相反能从无到有的才是真的大牛。

如果与国外学校比,特别是对标MIT和伯克利,国内的高校计算机在工程领域是不及格的。比如国外的操作系统课程是要做东西的,最起码也要改一改模块或者内核什么的,国内很少有高校这样做,基本上是停留在纸上谈兵阶段。而作为计算机工程领域的硬核技术,操作系统数据库和中间件,这里面所包含的技术才叫真技术,不是拿几个框架就能搞定的,而恰好这三个领域也是我们国内最薄弱的领域。

最后技术过时与不过时受太多国内公司炒作影响了,炒作的就是最新,没炒作的就过时,实际上如果多在国外论坛里面混就会发现,我们视为奇葩的东西,如vb,Delphi,pascal等等在国外还是大有人在用的


小罗同学


作为大学教计算机的老师,我来回答这个问题吧。软件技术是一个更新很快的技术,但软件技术的基础知识却没有多少变化。冯诺依曼体系,七十年前提出的,现在仍然适用。TCP/IP协议也有几十年了,现在的互联网依然基于这个协议。计算机的新语言很多吧?但他们实现的冒泡排序算法和几十年前的冒泡算法还是一样啊。大数据技术很牛吧?但大数据用的SQL语句还是几十年前的东西。腾讯阿里很牛吧?你看看他们的笔试题目,考的还是数据结构、操作系统、数据库、计算机网络中的几十年前的基本技术。所以大学教给你的是基本功,是为了你今后能更快地掌握时髦的技术打下坚实的基础,是教给你透过现象看本质的洞察力。


一个有态度的大学教师


先说一个真实的例子吧:我一同事的孩子,2000年左右在北方某大学上学,后来知道还是所985高校。他学的是材料与冶金专业,当时所用的教材据说还是六七十年代,源自苏联,教授所讲的冶金工艺也是六七十年代的。当时,我听了之后吓了一跳,这么落伍?

再来看看我们的小学课本,以综合实践为例,十年前编的。关于手机的图片,都是十五六年前的。学生都吐槽,这手机还有人有用吗?我告诉学生,是为了让你们认识古董。智能机都普及多少年了,这内容也该更新了。类似的还很多,也就不举例了。

从小学到中学,许多教材的内容确实应该与时俱进,当然大学也不例外。一线教师知道教材落伍,特别是进入人工智能时代,电子技术更新速度加快,软件技术落伍了,教师有时只能反映一下,谁理你呢?凑合着用呗!


虚无品人生


可别说大学,小学教计算机课了。我碰见过3件事。第一件,我朋友网吧(2001年左右)来了一上网的人,问他有软驱吗。他说,网吧里哪有安装这东西的。又回问他要这个软驱干嘛。他说,中学增加了计算机课。他负责教授。他的软盘是有课程,他要学习。我那朋友一听,来兴趣了。也想学学。恰好他真有一块软驱。就给安装了。在那老师身后看了一会儿就看不下去了。老师正看着课件,学习怎么把一个文件复制或剪切到另一个目录。朋友说,老师,你们就学这个啊?老师回答,是啊。朋友说,我们这儿上网的小孩都会。。。。第二个,公司原先一同事。也算是我一个徒弟。有点关系。后来,进入大学教计算机。后来碰到他。他说,在学校里懂电脑的老师几乎为0。他不止要教学生C语言。还得帮其他老师修电脑。他说,本来就是一写代码的,来到大学硬是被逼成硬件高手。。。第三个,一关系单位,是教plc的。他们与学校口对口的教学。学校学生来这儿定期实习和考试。他说,也有学校愿意自己教。就派老师来学习。他们教的自然是专业,因为将来面向的就是这一行。那些老师却不愿意跟他们系统的学习。拿出课本来说,你就按着上面的课来叫我们就行。我那朋友竟然没看懂那本plc教学的书。。他说,书里面教的东西东一撇西一捺。按那书学出来的还不如不会的好。


打死vcduhv


第一次回答,不好请见谅。

我大学是计算机专业的,全称计算机科学与技术。个人对计算机很感兴趣所以选了这个专业,但上了四年大学我都没太明白我到底学的是什么?编程语言有c有java,有汇编有算法,有硬件有软件,但老师也是照本宣科,只是讲了理论却忽视了实际应用场合,以至于上学的时候考试成绩不错,但写个程序完全不会,学习方法依旧停留在高中的死记硬背阶段。现在在做前端开发,工作了也需要不断的学新知识,自己看文档学习的时候明白了一个道理,文档上的原理和简单的实例与真正开发过程中遇到的问题完全不是一个级别的。文档上会告诉你遇到问题alert,但不会告诉你实际应用场合你需要的不是原生的alert,而是一个功能很全的自定义弹窗,需要考虑水平垂直居中,要考虑里面的内容和操作按钮的交互以及回调函数,需要考虑封装成组件调用,这么一个组件其实需要html,css.,js等多个语言结合在一起做,而文档上只会告诉你怎么alert。编程需要的是多维度全面思考,并不是照本宣科就行。

其次,说说题主的问题。这个问题很巧的是上学的时候我也问过我们老师,而老师也很负责的跟我说了实话。他们也没办法,因为这是教育部规定的。学校在开一门专业课的时候需要先制定教学大纲并呈报教育部审批,通过了才能开课。教育部有个不成文的规定,教学大纲不能频繁更改,因为会显得制定的时候很不严谨。于是你知道2010年的时候计算机专业的教学大纲多长时间更新一次吗?答案是十五年!对,你没看错,在这个信息技术高速发展的时代,产品技术几乎三个月更新一代的环境下,我们的教学大纲十五年才更新一次!(当然我不确定现在学校里是什么情况)这只能说是国内教育的悲哀,用过时的思想来教育新时代的学生。

另外,老师们乐此不疲的教这些也是有原因的,因为他们只会这些。。。计算机专业的老师有的是科班出身,有的是一线公司退下来的研发人员,不管哪一种,由于长期生活在校园的教学环境中,他们已经与最新的技术发展脱节了,已经跟不上最新技术了。你问他们为什么不主动跟进技术发展?因为他们大部分时间要忙着写教案,制定教学计划,为了评职称写冗长的论文,参加各种政教活动已经让他们分身乏力了。再说就算跟进了新技术发展又能怎么样,最终他们还是只能按照那份过时的教学大纲来讲课。这依然还是教育体制的悲哀。

总结一下,很多大学的计算机专业教的不是技术而只是课本内容。基础知识体系固然重要,但我仍不相信一本九十年代版本的c语言课本和一个几乎没啥用的计算机二级证对我以后找工作和技术发展职业规划有什么实际意义的帮助,因为那课本的版本跟我的年龄差不多大。。。在大学里要学的第一件事就是学会独立思考,不要一切听老师的,学校教的内容还是得学,毕竟不能挂科,但要学会自己去思考和寻找自己想学的只是和应该学的最新技术。想学好技术知识的话,自己多上网了解一下学校外面的情况,多了解现在的市场环境和未来的发展方向,然后根据这些来制定自己的学习路线,多去实践练习,网上有一大堆很棒的教程和开源项目的。学会摆脱老师教什么我们学什么的固化思维,尝试自学新知识才是大学里最重要的。因为等毕业了,工作了,没有人会像老师那样教你,最终一切还是要靠自己。

纯手打,有说的不对的地方多多体谅,谢谢~


想尽139262182


题目有根本问题,例证暴露题主知识缺陷。

题主没有把什么是软件技术搞明白,没有学到(明白)真正的知识,把鸡毛当成了令箭。我讲过一个故事,这里简述一下,一个学生用三天从老师那里学会了书写:一、二、三3个字,第四天就试图用扫帚书写“万百千”。学生应该抱怨老师吗?也许吧?

JSP是一种脚本技术,他后面的基础java- web规范了。java web规范对web技术的示范性影响,任何真正学过软件开发的人都是理解的吧?有多少“新”技术,仅仅是阉割(切割)一下JSP技术?

学习web开发,JSP技术是非常好的入门点。


景151276607


我在国外大学教过课,也搞过研究,可以负责任的说,这跟大学课程定位很有关系。有很多回答是有道理的,大学本科是打基础的阶段,所以理论基础很重要,而理论对于具体软件的依赖很小。比如练习排序算法,可以用C。也可以用Java,我们当年还用Pascal呢。至少大学前两年是这样的,到了大三开始就有分支了,专业方向是偏理论和基础技术,还是偏应用,对软件的掌握能力就要求不一样了。

我们1996年开始学计算机的时候,大一编程学的Pascal,第二年在Unix系统课程里学习了C,同时学了Java。大三开始就不强调语言了,课程用什么语言就自学什么语言,比如人工智能学Lisp,函数式编程学Haskell等等。那时候年代早,没有现在这么多框架啦IDE啦什么的,大四毕业设计都是自己选要用什么工具来实现,我那时候用了VisualStudio,全部是自学。后来研究生阶段上一些选修课,接触了更多的工具,比如计算机动画设计学了Maya等等。

总而言之,计算机的理论基础是必须的,也是大学课程强调的。同时计算机专业大多又是强调应用的,所以又必须对动手钻研有足够的勤奋与热爱,不然无论是搞科研还是去外面做开发,都会吃不起苦。很高兴当年学校让我打下了比较好的基础,让我多年来保持了动手的热情。我36岁以后还是不停的自学:Web开发,iOS开发、安卓开发、Ruby开发,现在除了前端开发弱一点,基本一个人可以搞定一整个项目,非常有成就感。


分享到:


相關文章: