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

其他昵称11314611


这种现象在大学里面是事实存在的,这种属于历史遗留下来的问题,毕竟学校和直接社会上企业出发点有着本质的区别,很多人在校的大学生反应在学校开设的课程感觉距离直接出去找工作存在非常大的差异,既然不好找工作倒不如直接参加个培训来的直接,话虽然可以这么说,但学校的本质主要培养的社会各行业的人才,没法每个人都能拿到自己想象的东西,学校不是职业学院没法直接给出明确的方向,不能把所有的人都进行定制化。

在很多大学里面很多教材相比社会上可能属于过时,就拿C语言的编译环境,现在还是有很多大学的微机室用的turbo C这种已经持续很多年的东西,很多微机室都存在这种现象,这也我们现在教学和社会上脱节之处,但不能因此就否认大学教育的无用论,上完大学能不能对社会有大的贡献主要还是依赖于后天个人努力,不能以偏概全全面否定大学教育。

学校主要从理论上灌输,让大家有大致的概念,就拿C语言举例能够知道大概的意思,真正到企业中有点理论指导就能很快的适应项目实战,对于编程技术而言即使用到了和企业一样真正做项目的时候还是需要梳理思维开始,工具从来都不是自己不去学好的理由,只是相比较而言有点过时而已,并不会真正的影响到是否能够学好,所以还是需要从自身找原因。

现在很多人埋怨谭浩强的C语言编程书籍误人子弟,只是由于历史原因显得落伍一点并不能否认,老谭对中国行业做出的贡献,在空白期能够找一本中文编程书籍学习就已经很不错了,这种历史奠基作用谁都抹杀不了,任何事物都不能十全十美,对于一个有志于在技术领域有所建树的小伙伴,也不会太在乎什么环境什么样子的大学老师,根源还在于自身。

为什么大学里面的软件技术过时的如此快?

主要是现在软件技术更迭速度快,而且软件的运行环境的更新涉及到很多环节,单独书本的更迭会稍微快一些,涉及到硬件方面的升级这个工作量会变得相当巨大。软件更新速度非常快,一个标准的程序员如果两年的时间不更新自己的技术库,就会有被淘汰的危险。

如何应对过时的教材?

直接在网上买一本相对新的教材,基本上大学生都有自己的电脑直接按照书上要求搭建编译环境,这种对于一个真正想学编程技术的大学生来讲不算是多难的事情,环境是无法改变,唯有自己的改变才能应对困难,大学期间要学好编程,首要条件把基本功磨练好,一旦离开校门想要拿出时间弥补一点不足会显得相当吃力,虽然已经编程十几年,如果有一个机会在一个好的工作和一个深造的机会上选择,一定会选择继续深造,工作机会早晚会有,但深造的机会一旦错过很难弥补回来。

珍惜自己拥有的大学时光,是一件很幸福的事情。


大学生编程指南


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


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


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

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

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

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


众口说车


我们国家的本科教育阶段有两个任务,一个任务是为企业培养应用型人才,另一个任务是为培养研发型(研究生)人才打基础,所以大学本科阶段的课程既注重基础学科的教育,同时又兼顾实用技能的培养。

对于专业课的设置也分成两个部分,一部分是基础专业课,以计算机专业为例,包括操作系统、数据库、计算机网络、算法设计、数据结构、编译原理、计算机网络等内容,另一部分是实用技术,包括编程语言、开发工具等内容。

目前大部分高校开设的编程语言类课程以C和Java比较多,实际上这两门编程语言在实际的开发场景中也是应用比较多的。对编程语言的讲解大部分情况下都属于比较基础的介绍,因为编程语言本身就是工具,也并不是很复杂。

有的高校会开设Java Web开发课程,课程中会涉及到JSP、JavaBean、Servlet这些内容,这些内容在Java Web开发领域已经使用了多年,有大量的项目案例,虽然目前在大型项目中采用JSP已经比较少了,但是学习JSP技术本身对理解前后端开发还是有一定帮助的。

纵观整个大学的课程体系,我们会发现基础课程占据了大量的比例,留给编程语言的课时本身并不多,而且由于编程语言的技术体系更新比较快,所以即使在学校学习了目前流行的技术,也难免不会在工作中重新学习新的技术框架。所以大学教育的根本在于打下一个扎实的基础,而编程语言本身就是一个工具而已,只要多使用,总会熟练的。

如果想在某一个方向做深入的研究,那么可以读研,读研会进入到课题组,课题组从事的研发内容往往都具有一定的前瞻性。

我的研究方向是大数据和人工智能,目前也在带大数据方向的研究生,我会陆续在头条写一些关于大数据方面的文章,感兴趣的朋友可以关注我的头条号,相信一定会有所收获。

如果有软件开发方面的问题,或者是读研方面的问题,都可以咨询我。

谢谢!


IT人刘俊明


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

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

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

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


地震博士


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

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

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


虚无品人生


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


打死vcduhv


很多计算机专业的朋友都可能会有这种感觉,大学一直在学习,但又好像又什么都做不了;感觉学到了都是理论性知识,自己做不了任何实战项目。譬如此类的问题,无论是在专科还是本科,都是普遍存在的。


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


另外从教学的角度而言,不能新技术出来就教哪个,因为新技术并不稳定,能否延续还不知道,像java、C语言都至少15年了。万一教了个2-3年就没落的,一样被人骂。从而使得学生只能学习已经落后的技术。这也是很多IT毕业生,不能适应市场,不能找到好工作的主要原因!


即使有的教师能够掌握最新的IT技术,很多学校也未必有很好的配套条件来进行最好的教育。新技术也没合适的教材,等到有了合适的资料、老师也学会了,最快也要5年。毕竟很多学校都是有一整套比较僵化的体制,人才培养方案和课程教学大纲,都要做到整个学校统一标准。


大学的教学初衷是很好的,为了给学生打下夯实的基础,让学生能够理解底层的编程思想和算法,以便于步入社会以后方便再学习。事实却是,例如BAT这样的大型互联网公司只会招收985院校毕业生。而一般本科、专科毕业生更多的是进入中小型互联网公司。中小型互联网公司是很少会像大型公司一样拿出大把的时间和财力再去培养你,你如果技术上达不到公司的要求,很可能被拒之门外。


所以大家会看到一个奇怪的现象:大量非计算机专业社会人士通过培训机构进入IT行业,为了就业,重新学习新的技术。而计算机专业大学生毕业以后却没有从事专业相关的工作。


所以说,利用好学校的学习时间,把学校的课程学好,夯实基础,再把空余的时间充分利用起来,选好方向,规划好学习路线,系统的学习企业需要的知识点。


以前学习的时候是在“如鹏网”上学习的,有网络的地方就可以学习,学习时间灵活,极大的降低了学习成本,根据自己的时间灵活安排学习进度,有问题随时提问,老师实时在线答疑。有新的课程更新了,也是可以继续来学习的。


玩着学编程


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


一个有态度的大学教师




首先有两点:

1、大学确实有很多过时的技术课程,大部分应该是选修课

2、计算机行业技术更新太快了

为什么说大学还有很多过时的技术呢?像答主本人是计算机科学与技术专业,在武汉住了4年冰箱和烤炉。确实选修过多媒体技术、visual basic等课程。



首先:这些课程并不是让我们毕业后就去从事这方面的工作的,它是让我们对计算机行业有个更全面的认识,恐怕现在很多IT行业的都没听过vb、pascal等吧

其次:大学课程系统还是比较庞大的,没办法跟着技术发展的步伐,技术更迭太快太快,学校的教课材料跟不上的,教师力量也跟不上的,他不像一个公司,今天这个技术,明天可以立马迁移到其他技术的,好在我也发现大学课程在变化了。

最后:一个精彩说的话题,大学应该是一个学术的地方还是一个技能学校?计算机专业课程一般有编程语言、数据结构和算法、操作系统、汇编、编译原理、计算机网络、数据库、计算机组成原理、还有很多数学课程,计算机专业同学应该都接触并学习过。你会发现很难直接去应聘Android、ios、前端、python等,对吧,需要自己业余时间去学习这些技术,计算机技术这么多,学校教不完的,学校能教的是你对计算机有个全面完整的认识,教你学的方法,认知。还是有很多有社会责任感的大公司还是愿意去培养有优秀计算机基础的应届大学生,去学习更多社会技术,去接受更多锻炼。

所以,我们能看到大学很多过时的技术,学校还是要去教的,至少大学在改变了,但不是一时半刻的。

在学校就应该学习扎实的计算机基础,业务时间去学习培养自己的兴趣方向。


编程教育布道师


我是02年毕业,大学专业是化学工程,自己喜欢计算机在校时自学的计算机,跟了一些课。当时学校数据结构教的是pascal,自学c语音。毕业设计是给我们化工实验室设计一套自动处理实验结果的软件然后打印处理结果,用的vb。

毕业出来找到第一份工作很艰难,但是很庆幸在第二份工作时遇到一个好师傅,他大学是机械系的。他是硬件画板到软件开发都精通,我是跟他学的嵌入式软件开发。现在工作主要平台是嵌入式arm m0~3,c51类,linux,Windows,Android,语音主要是c/c++,Python,Java。个人觉得自己有资格评论这个话题。

过时的软件技术?提这个问题的人基本上我可以断定其眼高手低,自己不努力就怨天尤人而已。大学教的是软件基础。就说说vb吧,vb和.net差多少呢?就我看来差仅仅是语言,其原理都是一样的,事件驱动,写响应事件代码。何为过时?Windows失去市场前都不会过时。

你喜欢什么语言什么平台,你完全可以自学,连一点自学能力都没有的人今早离开IT行业,你不自学随时被淘汰,工作后还会有人教你?


分享到:


相關文章: