計算機專業能否拆分成「計算機科學」和「計算機技術」,類似化學專業和化工專業?

請回答此問題之前首先闡明分類計算機科學和計算機技術的標準


應該拆,而且已經拆了,最常見的就是軟體工程,不過確實不怎麼成功。

Paul Graham在他的《黑客與畫家》里就論述過:

我從來都不喜歡"計算機科學"這個詞,因為這種東西根本就不存在。這門學科的內容,不過 是由於歷史原因偶然湊合到一起的大雜燴,就好像南斯拉夫國的形成一樣。一頭是數學家們, 他們擺弄計算機是為了得到國防部的資金贊助,中間部分,一伙人在研究彷彿是計算機自然 史之類的東西--比如網路上數據流演算法的行為特徵等等。在另一個極端上,是黑客們,他 們編寫有趣的軟體。對他們來說,計算機是表達的工具,如同水泥之於建築師,顏料之於畫 家。這三種人湊在一塊的群體,就好像是數學家,物理學家和建築師被分到一個專業里。

有時候黑客們乾的事被稱為"軟體工程",這個詞也是一種誤會。比起建築師來,軟體設計師 離工程師的距離更遠。建築師和工程師的分界並不十分精確,但卻是實實在在存在的。其分 界在於做什麼和如何做:建築師決定做什麼,工程師考慮如何做出來。

這兩件事情也不能分得太開,如果你不懂得如何做,那麼你設計的時候就會陷入難局。但是 編程當然不是僅僅決定如何實現某種特性那麼簡單,在最好的情況下,編程實際上就是設計 軟體的特性--往往最好的設計方式就是實現它。

說不定哪一天,"計算機科學"會分裂成幾個專業,就好像南斯拉夫最終分裂成幾個國家那 樣。這也許是件好事。尤其是這意味著我所擅長的編程,會變成獨立的專業。

我讀的是軟體工程,記得大一開學院長就給我們說,我們的目標是培養軟體工程師。但除了幾門課和計科不同之外,基本沒任何區別。我們國內的計算機教材大都是培養科學家的,而不是工程師。因為這些教材本來就是大學裡做科研的教授寫的,而不是一線工程師。

軟體工程這類專業為什麼不用《深入理解計算機系統》替代計算機組成原理,《深入Linux內核》替代操作系統原理這類重理論輕實踐的課本呢?

有朋友回答說學校不重視科學只重視技術,我覺得恰恰相反。我們所缺的不是搞科研的數學家而是像Paul Graham所說的真正的黑客,而高校是培養不出黑客的,無論軟體工程還是其它分支。希望以後能把科學和技術真正劃分開吧。


來說一些自己的看法,權當拋磚引玉。

我所以理解的計算機領域的「科學」(底層)有以下兩大類:

  • 體系結構、電子電路、集總電路抽象、麥克斯韋方程等偏向於物理世界的科學
  • 編程語言(編程範式、編譯原理)、可計算性(圖靈機、Lambda演算等描述的)、計算複雜度、類型論、形式化系統(可信計算等)等偏向於邏輯演算的科學

除了上面所列出來的之外的大部分計算機領域,我都認為它僅僅是技術而稱不上是科學。包括數據挖掘、雲計算、機器學習、大數據等現在很熱門的科研領域。

判決標準很簡單,技術是以人類需求和應用為驅動而發展的,而科學的目的是為了研究領域內部自然存在的模式。

這樣看來,現在大部分的計算機領域的科研實際上並不是「科學",僅僅是"技術"。計算機領域真正的「科學"已經成為了冷門領域(請自行上各大高校計算機學院網站查看教授們研究方向),從事相關研究的人也少之又少。兩波人從事的科研性質和模式也不一樣,因此我能理解題主的疑惑。

從事計算機「科學」研究的教授往往拿不到國家的資金支持。我曾找過系內一位數學出身的、研究數理邏輯的教授聊過,想搞編程語言這個方向的底層,交談起來也很投機。但他也很坦白地和我說他的研究領域很冷門,拿不到什麼項目資金支持。國家比較喜歡投錢的領域都是那些見效快應用前景的「技術」領域。

和其他科學領域如數學,物理,化學一樣,底層的純理論的研究一直是冷門。但從長期來看,它能帶來的收益是巨大的,不過也只有美帝和其他歐美國家有資金養著這幫以自己興趣為驅動的科研人員(即便如此也是少數人)。國內政府比較看中的是短期效益,因此投入就更微乎其微了。

至於「科學」和「工程」分開不分開,我不清楚分開不分開實際上意味著什麼,但我覺得應該分開,就像生物和生物工程,化學和化學工程一樣。這兩種類型的科研從目的、科研模式上都是很不相同的。


在鼓吹全棧工程師的今天,就應該全部合併成一個,分什麼分。一個編譯器程序員要是不會寫前端還算什麼好產品狗?


本文暫且設定為根據當今"計算機科學與技術" "軟體工程" 對題主的兩個分類建立起一一映射以進行下面的討論. 雖然這個映射不是很好, 但是這也基本代表了當初教育部劃分的意圖. 由於我才正讀本科, 所以大部分討論都是基於本科階段的.

[不拆的理由]

1. 當今不少高考完的學生對自己喜歡什麼樣的專業是比較模糊的, 尤其是相對於目前大學裡面劃分專業的細與精確, 而且我們現在轉專業並不是那麼完善的體系, 並非找到愛好的人可以轉, 而是成績在前百分之x的人可以轉. 過早做出過細的選擇對於當今的中國教育發展的情況來說不一定是好事情;

2. 不僅是學生, 當今不少大學裡面的老師對於偏理論和偏實踐的細分也是感到比較模糊的, 並未抓住這兩者區別的本質並從這本質區別出發來制定教學計劃.

3. 明確選擇了其中某個專業的學生, 有些最後做出了甚為相反的決定, 例如剛入學偏愛開發的最後喜歡上了偏理論的方向, 反過來也是; 還有的甚至發現這兩個方向都不是自己想要的, 因為喜歡上了反彙編分析, 逆向工程, 加殼脫殼等等的技術, 或者喜歡上了互聯網市場分析, 例如喜歡研究Twitter與新浪微博的區別以及對他們的決策, 股價, 用戶群體進行分析的過程.

在本科階段, 目前計算機科學與技術或者軟體工程沒有什麼非常大的區別, 都保留了必須的基礎數學理論, 和不少的上機實驗, 願意的還有不少的可以自由安排的課餘時間. 我自己感到挺好的, 因為:

  1. 暫時沒能做出選擇的, 可以付諸努力以便在未來可以清晰做出選擇的一天不會後悔當初為什麼沒學xxx;

  2. 已經能夠做出清晰選擇的, 也並未因為學校的安排而感到時間不夠, 自由度不夠, 可以做自己喜歡的事情.

[拆分的理由]

1. 我感覺對於今天的中國來說, 拆分的理由並非理論上應該這麼細分, 而是因為市場的需求, 和傳統模式培養出來的學生與當今IT企業的需求有明顯脫節的現象.有脫節就有改進. 軟體工程在這神奇的土地上應運而生.

2. 有種觀點是在初學的時候要精而不泛, 一定造化後可以選擇泛而不精. 現在工業界的細分已經很明顯, 對於我們來說, 專業進行同步細分能夠讓我們都容易找到好工作.

3. 選擇專業之後自己改變想法的人依然不受很大的影響. 例如我發現碼農場的博主是上海外國語大學日本文化經濟學院的, 但是對演算法, Linux, 搭建伺服器, 自然語言處理都有學習, 而且還做得相當好; 再例如Andrew Ng從學術界跑到工業界甚至創業;

4. 如果未來這倆專業如一開始期望的那樣發展了, 那麼場面也是挺Nice的, 與自己有相同興趣的一撥人在一起討論, 氛圍相當好.


本科階段分不了那麼細,你搞計算機的多少都得懂點。化學和化工分開兩個專業問題挺多的。學化學的容易紙上談兵,學化工的理論不紮實。其實本科階段,化學和化工應該作為同一個專業,專業課基本都要一致的。大學的主要目的是培養研究型人才的,本科那東西都是基礎知識,都不能不學。也就是專業選修課分個方向就好了。

中國大學喜歡把專業拆細,似乎有利於申請經費和評職稱啥的。反正文科隨便弄個名詞,加個專業很容易。理工科比較嚴謹的東西,是否也會出於這些動機,違背教育的真正目的,把專業拆細,我就不清楚了。


不管怎麼分,到以後你也得學會網頁開發,伺服器維護,印表機安裝與維修,圖片處理,視頻製作,辦公文檔操作,路由交換配置,手機維修,電腦硬體選購等等!


computer science和engineering與樓主想的不完全一樣。 computer science即樓主所謂計算機,多偏軟體, computer engineering是大家所謂的EE即電子工程,玩玩主板焊個單片機啥的(起碼在我CMU是這樣的),而不是明確的理論研究與實際運用之分。再吐槽一句,李開復在自傳里寫他同學吐槽了一句:"名字里有科學的學科都不是科學。"說得很是在理。。。因為計算機科學本身就是理科偏工。。。和物理化學這種傳統科學還是很不一樣的。。。

software engineering可以認為是與data analysis, security, graphics, theoretical等眾多領域並行的分屬計算機科學的一個小領域,不是所謂"計算機工程"

會不會分,我個人覺得暫時也是不會的。因為直到目前計算機都是理論與實踐運用結合最緊密的領域。 學術成果轉化成工程設計,轉化成產品再到錢,這個過程不複雜,速度也快,不需要兩批人。 硬分出去反而對行業不利。

有空再補


現在大學的計算機本科教育還沒專到能夠讓人意識到計算機科學和計算機技術的區別,就如計算機科學和軟體工程實質上課程沒有太大區別。只是改名,實質不變,這不是裝B嗎?

再說在計算機領域的發展程度還沒完全達到類似建築領域工頭和建築師這樣的分工形式。


我們學習分CS,IT和software engineering。


針對計算機科學這整個大領域,我覺得可以參照土建領域是如何劃分建築學、土木工程的,來重新規劃成兩個專業,設立課程。


軟體工程狗表示 我們學校計科跟我們學的是一樣的 不同的是我們兩本電路各學一半 他們幾個編程語言也學了一半


我們學校就是,本科是計算機科學與技術,專科是應用與技術


不是已經有軟體工程了么


不是已經被分成:計算機科學與技術、網路工程、軟體工程了嗎。。。

部分學校還更加細分為網頁開發、遊戲開發呢


計算機的專碩,專業名稱就叫計算機技術,偏工程方向,實際培養還是與學碩差別不大


推薦閱讀:

大學有沒有專心做教學的老師?
大學老師什麼最厲害?
在國外學幼教是否值得?
清華的數理基礎科學班和北大物院各有何優勢?
同樣是空降校長,而且校長都不是院士,為什麼浙江大學和華中科技大學的教師學生反應如此不同?

TAG:高等教育 | 大學教育 | 計算機科學 |