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

其他暱稱11314611


我們國家的本科教育階段有兩個任務,一個任務是為企業培養應用型人才,另一個任務是為培養研發型(研究生)人才打基礎,所以大學本科階段的課程既注重基礎學科的教育,同時又兼顧實用技能的培養。

對於專業課的設置也分成兩個部分,一部分是基礎專業課,以計算機專業為例,包括操作系統、數據庫、計算機網絡、算法設計、數據結構、編譯原理、計算機網絡等內容,另一部分是實用技術,包括編程語言、開發工具等內容。

目前大部分高校開設的編程語言類課程以C和Java比較多,實際上這兩門編程語言在實際的開發場景中也是應用比較多的。對編程語言的講解大部分情況下都屬於比較基礎的介紹,因為編程語言本身就是工具,也並不是很複雜。

有的高校會開設Java Web開發課程,課程中會涉及到JSP、JavaBean、Servlet這些內容,這些內容在Java Web開發領域已經使用了多年,有大量的項目案例,雖然目前在大型項目中採用JSP已經比較少了,但是學習JSP技術本身對理解前後端開發還是有一定幫助的。

縱觀整個大學的課程體系,我們會發現基礎課程佔據了大量的比例,留給編程語言的課時本身並不多,而且由於編程語言的技術體系更新比較快,所以即使在學校學習了目前流行的技術,也難免不會在工作中重新學習新的技術框架。所以大學教育的根本在於打下一個紮實的基礎,而編程語言本身就是一個工具而已,只要多使用,總會熟練的。

如果想在某一個方向做深入的研究,那麼可以讀研,讀研會進入到課題組,課題組從事的研發內容往往都具有一定的前瞻性。

我的研究方向是大數據和人工智能,目前也在帶大數據方向的研究生,我會陸續在頭條寫一些關於大數據方面的文章,感興趣的朋友可以關注我的頭條號,相信一定會有所收穫。

如果有軟件開發方面的問題,或者是讀研方面的問題,都可以諮詢我。

謝謝!


IT人劉俊明


作為計算機科學來說,各種語言層出不窮,更新快,門類多,不可能跟上形式發展,d大學設立課程也不可能緊跟流行,那是速成班乾的事兒!大學教的是學習方法,教大家打的是基礎!但是,只要基礎打好了,學習方法掌握以後,想學習語言還是比較輕鬆的!


比如,大學教大家BASIC,這東西很多人認為過時了,現在都是VISUAL STUDIO了,還學這麼老掉牙的?但是,正因為簡單所以才專注!BASIC很簡單,但是作為入門語法來說,可以讓大家輕鬆掌握計算機語言的基本邏輯。比如C語言,現在都c++,為什呢學C?而實際來看,學好C語言正是為以後打基礎,的確c++功能強大,但是當你進行深入的高質量編程以後,你就會發現最基本的條件循環、判斷、才是編好程序的基礎,而所謂的可視化面向對向編程基本上只是個框架而已。實際上,當計算機語言學習到後期基本理論都是一樣的,c、basic、pascal、等等只不過長得樣子不一樣,核心還是循環、條件、判斷等組合,因此,當你工作以後就會發現,從c轉到java很難,明明語法長得樣子都差不多為什麼難,關鍵還是各種框架和類庫的融匯貫通,不要認為學會了C++會做jsp、asp就稱為高手了,windows底層又瞭解多少?計算機這東西,越學到高深就越覺得渺小!


大學裡學的數據庫原理,表面上沒什麼實際意義,但是,當以後在工作中很多基礎的原理性的定義都會在這門科學裡找到理論支持!

數據結構、算法、這些都很枯燥,很多人畢業以後參加各種招聘會,你會發現考的題目都是最基本最最容易忽略的。。很多做大項目的資深程序員,讓他做一個冒泡排序卻不會,這樣的高能人才我國比比皆是!這其實是整個程序員界的悲哀。

舉個例子,國外研發出一款遊戲引擎,沒有美工之前,可能只是個框架,但是賣到國內經過騰訊一美工就成了王者榮耀,開心消消樂、天天愛消除這類遊戲,除了界面風格不同,基本上的算法都大同小異,為什麼?大家思考!

當然,事實上也存在著老師知識更新慢、課程設立有待改善的問題!


眾口說車


很多大學教的軟件技術都是過時的,還樂此不疲的繼續教學生這些淘汰的課程,是由於教師能力和學校條件所限!

由於IT技術現在真的是日新月異,因而作為培養適應市場人才的大學,按道理應該要教給學生最新的技術。但是,由於很多教師即使以前是從IT市場的從業人員,但是由於從事教學以後,就開始遠離市場,從而不需要用幾年時間,他們就完全脫離了IT技術的最前沿。從而使得學生不能只能學習已經落後的技術。這也是很多IT畢業生,不能適應市場,不能找到好工作的主要原因!

還有一點就是即使有的教師能夠掌握最新的IT技術,很多學校也未必有很好的配套條件來進行最好的教育。畢竟很多學校都是有一整套比較僵化的體制,人才培養方案和課程教學大綱,都要做到整個學校統一標準,從而也不能適應IT教育需要的極速變化。再加上很多電腦、軟件方面更新的滯後,從而使得學校也不能提供真正適應形勢的IT教育!

而解決這一問題的方法就是,學校要和相關企業協同培養學生,將很多專業課程交給發展比較迅猛的IT企業,而企業可以從中找到自己需要的實習生,甚至優秀的還可以為公司所用。最終達到產、學、研、用相結合,達到學生、學校、企業和社會的四贏!


地震博士


先說一個真實的例子吧:我一同事的孩子,2000年左右在北方某大學上學,後來知道還是所985高校。他學的是材料與冶金專業,當時所用的教材據說還是六七十年代,源自蘇聯,教授所講的冶金工藝也是六七十年代的。當時,我聽了之後嚇了一跳,這麼落伍?

再來看看我們的小學課本,以綜合實踐為例,十年前編的。關於手機的圖片,都是十五六年前的。學生都吐槽,這手機還有人有用嗎?我告訴學生,是為了讓你們認識古董。智能機都普及多少年了,這內容也該更新了。類似的還很多,也就不舉例了。

從小學到中學,許多教材的內容確實應該與時俱進,當然大學也不例外。一線教師知道教材落伍,特別是進入人工智能時代,電子技術更新速度加快,軟件技術落伍了,教師有時只能反映一下,誰理你呢?湊合著用唄!


虛無品人生


可別說大學,小學教計算機課了。我碰見過3件事。第一件,我朋友網吧(2001年左右)來了一上網的人,問他有軟驅嗎。他說,網吧裡哪有安裝這東西的。又回問他要這個軟驅幹嘛。他說,中學增加了計算機課。他負責教授。他的軟盤是有課程,他要學習。我那朋友一聽,來興趣了。也想學學。恰好他真有一塊軟驅。就給安裝了。在那老師身後看了一會兒就看不下去了。老師正看著課件,學習怎麼把一個文件複製或剪切到另一個目錄。朋友說,老師,你們就學這個啊?老師回答,是啊。朋友說,我們這兒上網的小孩都會。。。。第二個,公司原先一同事。也算是我一個徒弟。有點關係。後來,進入大學教計算機。後來碰到他。他說,在學校裡懂電腦的老師幾乎為0。他不止要教學生C語言。還得幫其他老師修電腦。他說,本來就是一寫代碼的,來到大學硬是被逼成硬件高手。。。第三個,一關係單位,是教plc的。他們與學校口對口的教學。學校學生來這兒定期實習和考試。他說,也有學校願意自己教。就派老師來學習。他們教的自然是專業,因為將來面向的就是這一行。那些老師卻不願意跟他們系統的學習。拿出課本來說,你就按著上面的課來叫我們就行。我那朋友竟然沒看懂那本plc教學的書。。他說,書裡面教的東西東一撇西一捺。按那書學出來的還不如不會的好。


打死vcduhv




首先有兩點:

1、大學確實有很多過時的技術課程,大部分應該是選修課

2、計算機行業技術更新太快了

為什麼說大學還有很多過時的技術呢?像答主本人是計算機科學與技術專業,在武漢住了4年冰箱和烤爐。確實選修過多媒體技術、visual basic等課程。



首先:這些課程並不是讓我們畢業後就去從事這方面的工作的,它是讓我們對計算機行業有個更全面的認識,恐怕現在很多IT行業的都沒聽過vb、pascal等吧

其次:大學課程系統還是比較龐大的,沒辦法跟著技術發展的步伐,技術更迭太快太快,學校的教課材料跟不上的,教師力量也跟不上的,他不像一個公司,今天這個技術,明天可以立馬遷移到其他技術的,好在我也發現大學課程在變化了。

最後:一個精彩說的話題,大學應該是一個學術的地方還是一個技能學校?計算機專業課程一般有編程語言、數據結構和算法、操作系統、彙編、編譯原理、計算機網絡、數據庫、計算機組成原理、還有很多數學課程,計算機專業同學應該都接觸並學習過。你會發現很難直接去應聘Android、ios、前端、python等,對吧,需要自己業餘時間去學習這些技術,計算機技術這麼多,學校教不完的,學校能教的是你對計算機有個全面完整的認識,教你學的方法,認知。還是有很多有社會責任感的大公司還是願意去培養有優秀計算機基礎的應屆大學生,去學習更多社會技術,去接受更多鍛鍊。

所以,我們能看到大學很多過時的技術,學校還是要去教的,至少大學在改變了,但不是一時半刻的。

在學校就應該學習紮實的計算機基礎,業務時間去學習培養自己的興趣方向。


編程教育佈道師


作為大學教計算機的老師,我來回答這個問題吧。軟件技術是一個更新很快的技術,但軟件技術的基礎知識卻沒有多少變化。馮諾依曼體系,七十年前提出的,現在仍然適用。TCP/IP協議也有幾十年了,現在的互聯網依然基於這個協議。計算機的新語言很多吧?但他們實現的冒泡排序算法和幾十年前的冒泡算法還是一樣啊。大數據技術很牛吧?但大數據用的SQL語句還是幾十年前的東西。騰訊阿里很牛吧?你看看他們的筆試題目,考的還是數據結構、操作系統、數據庫、計算機網絡中的幾十年前的基本技術。所以大學教給你的是基本功,是為了你今後能更快地掌握時髦的技術打下堅實的基礎,是教給你透過現象看本質的洞察力。


一個有態度的大學教師


我是02年畢業,大學專業是化學工程,自己喜歡計算機在校時自學的計算機,跟了一些課。當時學校數據結構教的是pascal,自學c語音。畢業設計是給我們化工實驗室設計一套自動處理實驗結果的軟件然後打印處理結果,用的vb。

畢業出來找到第一份工作很艱難,但是很慶幸在第二份工作時遇到一個好師傅,他大學是機械系的。他是硬件畫板到軟件開發都精通,我是跟他學的嵌入式軟件開發。現在工作主要平臺是嵌入式arm m0~3,c51類,linux,Windows,Android,語音主要是c/c++,Python,Java。個人覺得自己有資格評論這個話題。

過時的軟件技術?提這個問題的人基本上我可以斷定其眼高手低,自己不努力就怨天尤人而已。大學教的是軟件基礎。就說說vb吧,vb和.net差多少呢?就我看來差僅僅是語言,其原理都是一樣的,事件驅動,寫響應事件代碼。何為過時?Windows失去市場前都不會過時。

你喜歡什麼語言什麼平臺,你完全可以自學,連一點自學能力都沒有的人今早離開IT行業,你不自學隨時被淘汰,工作後還會有人教你?


Darkise


第一次回答,不好請見諒。

我大學是計算機專業的,全稱計算機科學與技術。個人對計算機很感興趣所以選了這個專業,但上了四年大學我都沒太明白我到底學的是什麼?編程語言有c有java,有彙編有算法,有硬件有軟件,但老師也是照本宣科,只是講了理論卻忽視了實際應用場合,以至於上學的時候考試成績不錯,但寫個程序完全不會,學習方法依舊停留在高中的死記硬背階段。現在在做前端開發,工作了也需要不斷的學新知識,自己看文檔學習的時候明白了一個道理,文檔上的原理和簡單的實例與真正開發過程中遇到的問題完全不是一個級別的。文檔上會告訴你遇到問題alert,但不會告訴你實際應用場合你需要的不是原生的alert,而是一個功能很全的自定義彈窗,需要考慮水平垂直居中,要考慮裡面的內容和操作按鈕的交互以及回調函數,需要考慮封裝成組件調用,這麼一個組件其實需要html,css.,js等多個語言結合在一起做,而文檔上只會告訴你怎麼alert。編程需要的是多維度全面思考,並不是照本宣科就行。

其次,說說題主的問題。這個問題很巧的是上學的時候我也問過我們老師,而老師也很負責的跟我說了實話。他們也沒辦法,因為這是教育部規定的。學校在開一門專業課的時候需要先制定教學大綱並呈報教育部審批,通過了才能開課。教育部有個不成文的規定,教學大綱不能頻繁更改,因為會顯得制定的時候很不嚴謹。於是你知道2010年的時候計算機專業的教學大綱多長時間更新一次嗎?答案是十五年!對,你沒看錯,在這個信息技術高速發展的時代,產品技術幾乎三個月更新一代的環境下,我們的教學大綱十五年才更新一次!(當然我不確定現在學校裡是什麼情況)這隻能說是國內教育的悲哀,用過時的思想來教育新時代的學生。

另外,老師們樂此不疲的教這些也是有原因的,因為他們只會這些。。。計算機專業的老師有的是科班出身,有的是一線公司退下來的研發人員,不管哪一種,由於長期生活在校園的教學環境中,他們已經與最新的技術發展脫節了,已經跟不上最新技術了。你問他們為什麼不主動跟進技術發展?因為他們大部分時間要忙著寫教案,制定教學計劃,為了評職稱寫冗長的論文,參加各種政教活動已經讓他們分身乏力了。再說就算跟進了新技術發展又能怎麼樣,最終他們還是隻能按照那份過時的教學大綱來講課。這依然還是教育體制的悲哀。

總結一下,很多大學的計算機專業教的不是技術而只是課本內容。基礎知識體系固然重要,但我仍不相信一本九十年代版本的c語言課本和一個幾乎沒啥用的計算機二級證對我以後找工作和技術發展職業規劃有什麼實際意義的幫助,因為那課本的版本跟我的年齡差不多大。。。在大學裡要學的第一件事就是學會獨立思考,不要一切聽老師的,學校教的內容還是得學,畢竟不能掛科,但要學會自己去思考和尋找自己想學的只是和應該學的最新技術。想學好技術知識的話,自己多上網瞭解一下學校外面的情況,多瞭解現在的市場環境和未來的發展方向,然後根據這些來制定自己的學習路線,多去實踐練習,網上有一大堆很棒的教程和開源項目的。學會擺脫老師教什麼我們學什麼的固化思維,嘗試自學新知識才是大學裡最重要的。因為等畢業了,工作了,沒有人會像老師那樣教你,最終一切還是要靠自己。

純手打,有說的不對的地方多多體諒,謝謝~


想盡139262182


樓主這個問題舉例非常不當,計算機學科在大學,教授的內容,不以某種特定的語言,特定的面相社會工程實踐為主,例如你說到的jsp,如果以這種角度看待,那大學就是一個職業培訓機構而已,這與大學應該傳授的內容不符合 。難道學校繳比較時髦的python或者應用廣泛的java就是合理的?這些東西應該是職業培訓機構的事兒,比如前兩年的北大青鳥這樣的培訓機構,大學計算機學科,側重的基礎學科,而不是具體到用哪個編程語言,如果是jsp,在大學應該側重它的基本原理,對於mvc軟件紅工程孰優孰略的,而不是jsp過時與否。所以你對大學裡計算機學科的理解有偏差,理解成藍翔技校了,想想計算機學科,高數,線性,離散,計算機導論,彙編原理,軟件工程,算法導論,編譯原理,當然,還有很多研究的分支,所以在定位上,大學用那個編程語言不重要,因為他不是藍翔技校,這是普通大學和普通技校的區別


分享到:


相關文章: