問題1:你所在的學校有計算機科學專業和軟件工程專業麼?html
答:我所在的學校有計算機學院和軟件學院,因此分別有計算機科學與技術專業和軟件工程專業。java
問題2:相關專業的教學計劃有什麼不一樣?c++
答:這兩個專業的教學計劃以下:算法
軟件工程課程設置:數據庫
公共必修課:思想政治理論、英語、計算機基礎、文化素質課程、體育等課程。編程
學科基礎課:數據結構、C++面向對象高級程序設計、計算機組成原理、數字邏輯、軟件人員英語溝通方法1(英)、數據庫原理1(雙語)、算法設計與分析(雙語)、操做系統原理1、軟件工程概論(雙語)、計算機網絡(雙語)、彙編語言程序設計、編譯原理、離散數學導論1安全
專業核心課:java語言程序設計(雙語)、形式化方法、程序設計方法學、軟件測試技術(雙語)、Unix/LINUX操做系統(雙語)網絡
集中實踐類:軟件工程實訓數據結構
計算機科學與技術專業介紹:編程語言
培養目標:
培養適應社會主義現代化建設須要的,德智體美等全面發展的,掌握計算機硬件,軟件及其應用的基本理論知識,具有研究和開發計算機系統能力的寬基礎,高素質,具備創新精神和實踐能力的高級專門人才。學生畢業後能在計算機科學與技術領域從事計算機科學研究,教學和工程開發等方面的工做。
培養要求:
本專業學生主要學習計算機科學與技術方面的基本理論和基本知識,接受從事研究與應用計算機的基本訓練,畢業生應得到的知識和能力以下:
1. 掌握計算機科學與技術方面的基本理論,基本知識;
2. 掌握計算機系統分析和設計的基本方法;
3. 具備研究開發計算機軟,硬件的基本能力;
4. 掌握文獻檢索,資料查詢的基本方法,具備獲取信息的能力;
5. 瞭解計算機科學與技術的發展動態,瞭解與計算機有關的法規。
核心課程:
數字邏輯,計算機組成原理,彙編語言與微機接口技術,計算機系統結構,計算機網絡,離散數學,程序設計原理,數據結構,操做系統原理,編譯原理,數據庫原理,計算機圖形學,軟件工程。
特點課程:
圖像處理,計算機安全,並行處理技術。
對比上面的教學計劃,能夠發現計算機科學專業的課程包括計算機硬件,軟件及其應用的基本理論知識,而軟件工程則更側重軟件、程序設計、幾乎沒有關於計算機硬件的課程;計算機科學專業要求學生具有研究和開發計算機系統能力的寬基礎,重點在這個「寬」字,寬勢必淺,而軟件工程則相對「窄」一點,從應用角度更深刻了一些。
和數理化相比,計算機科學是一門至關年輕的學科,雖然咱們能夠追溯到巴貝奇、圖靈等計算機科學的先驅,可是「computer science」這個學科的名字1959年才正式提出。綜合維基百科中「計算機科學」的詞條和微軟學術搜索對於計算機科學子領域的劃分,計算機科學能夠分爲學術領域和偏實踐的領域,學術領域的表明有:計算理論、信息和編碼理論、算法和數據結構等;偏實踐的領域有計算機體系結構、並行計算和分佈式系統、實時系統和嵌入式系統等。根據咱們對軟件特性及工程這一律唸的瞭解,能夠看到,計算機科學中的理論研究部分,大多能夠從形式上證實,與數學、離散數學、數理邏輯密切相關;計算機科學中與實踐相關的部分,都和數據以及其餘學科發生關係。而軟件工程則和人的行爲、現實社會的需求息息相關。軟件工程的研究目標都有「人」的出現,這些「人」能夠是項目需求的提供者,能夠是軟件的開發人員,還能夠是軟件的用戶。這一特徵與其餘計算機科學的子領域明顯不一樣。
問題3:相關專業的畢業出路有什麼不一樣?
這兩個專業畢業後的出路基本可分爲出國、讀研和工做,出國和讀研都屬於繼續深造,之後的研究領域和導師有很大關係,不能一律而論。我本科是計算機科學與技術專業的,在上學期間咱們都感受到學的知識有些太寬廣,沒有一個專門的職業技能深刻的交給咱們,因此那些想就業的同窗,要麼是自學編程語言,要麼是去培訓機構進行相關語言的培訓(如java、c++等),因此他們畢業以後都能如願進入一些軟件公司,如藝龍網、惟品會等,從事技術編程或者產品經理等工做;還有少數女同窗不喜歡編程序,選擇了進入學而思這種教育類的公司,或者去當基礎學科的老師,從事和本專業不相關的工做。而軟件工程專業的學生會分具體的方向,所有是偏向應用的,每一個方向都是面臨不一樣的就業崗位,固然都是開發崗位,因此他們可能本科階段須要自學或者去培訓,跟着老師學到很專業的職業技能,畢業以後基本上都會從事和本專業的相關工做,還會有少數能力強有想法的同窗選擇創業。
問題4:閱讀有關軟件工程和計算機科學的區別的文章,談談你的見解。
之前我沒有太仔細想過這個問題,看了老師的參考文獻以後以爲頗有道理。計算機科學的重點是「科學」,每個方面都被清楚地定義,每個結果都是創建在早期的證實,是具備很清晰的邏輯性和很清楚的因果關係的。而且它的關注點更多的是在理論性、科學性的問題,好比分析算法和複雜度。
而軟件工程重點在「工程」,常常用「一般」、「通常來講」這種不肯定的字眼,而且軟件工程有不少方面會考慮的「人」的因素,軟件工程的核心問題是對人類的關注,編程人員之間的交流溝通,用戶的要求與評判標準等,都影響着結果的好壞。
參考:http://cs.tju.edu.cn/jyjx/bksjx/20121228090412208pOW.shtml
http://scs.tju.edu.cn/jxky/bksjx/bk_kctx/201006/t20100608_63898.htm
http://www.drdobbs.com/architectureand-design/software-engineering-computer-science/217701907
書籍:構建之法
答題人:尤心心