爲什麼很多大學教的軟體技術都是過時的,還樂此不疲的繼續教學生這些淘汰的課程?

其他暱稱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開發,現在除了前端開發弱一點,基本一個人可以搞定一整個項目,非常有成就感。


分享到:


相關文章: