導航:首頁 > 源碼編譯 > 編譯原理及實踐影印版

編譯原理及實踐影印版

發布時間:2022-05-27 04:57:24

A. 計算機科學與技術是學什麼的

計算機科學與技術專業課程不完全解析
1.計算機導論:
計算機科學的基礎課程之一,其教學目的是概要性地對專業課程作介紹,是典型的面向專業新生的課程(即CS0型課程)。認真學習該課程有助於今後的學習,然而這門課程往往容易被新生們忽略……
(推薦教材:可使用學校配發的教材,但建議使用外版翻譯教材。)

2.高級語言程序設計:
計算機科學的基礎課程之一,教學目的是讓本專業同學實際掌握一門程序設計語言並且習得一些程序設計的基本技能,目前的教學語言是C語言。個人認為課程名稱可改為「高級程序設計語言」,因為課程對語言的強調遠勝於對程序設計本質的講解。建議在學習這門課程時配以《程序設計實踐》一書,效果甚佳。
(推薦教材:
①《從問題到程序--程序設計與C語言引論》 機械工業出版社
②《程序設計實踐》 機械工業出版社
③《程序設計語言--實踐之路》 電子工業出版社 )

3.離散數學:
計算機科學基礎課程之一,被譽為計算機科學的數學基礎。其內容博大精深,從中派生出的圖論(圖演算法)、數理邏輯、組合數學以及泛代數等多門專業課程是現代計算機科學和應用數學的主要研究領域。能否學好離散數學對進一步學習以後的專業課程有著非同一般的影響。
(推薦教材及參考書:
①《離散數學》(第四版) 清華大學出版社
②《離散數學導學》機械工業出版社
③《現代應用數學手冊:離散數學卷》清華大學出版社 )

4.電路與電子技術:
電子產業有「朝陽產業」的美譽,被認為是信息時代的工業。這門電子與電路技術可謂是對電子學領域學習的敲門磚。雖然課程本身對計算機科學專業今後的學習影響不大,但掌握這項技能對於學生本身專業素養地提高是大有裨益的。同時,學習這門課程也能為今後學習數字邏輯和微機原理等系統底層方面的課程打好基礎。
(推薦教材:《電子學基礎:電路和元器件》(第四版)清華大學出版社)

5.面向對象程序設計:
如果說上世紀軟體開發領域最偉大的突破是什麼,面向對象程序設計(OOP)必為其中之一。目前主流的程序設計語言,如C++、Java、Python和Delphi等,幾乎清一色支持面向對象。可以說,掌握的面向對象的精髓,便是掌握了我們這個行業的入門鑰匙。我校此課程的教學語言採用的是C++,而就國內C++教學的糟糕現狀來看,若想完整掌握面向對象思想,學生自己不努力是不行的。
(推薦教材及參考書:
①《C++ Primer中文版》(第四版) 人民郵電出版社
②《Essential C++ 中文版》華中科技大學出版社
③《Effective C++ 中文版》(第三版)電子工業出版社
④《Accelerated C++(影印版)》機械工業出版社
⑤《C++語言的設計與演化》機械工業出版社 )

6.數字邏輯:
計算機科學核心課程之一。計算機科學中有一個研究領域即系統設計領域,而本門課程即為這一領域研究的基礎。正確認識與掌握數字邏輯及其設計,可以使那些有志於系統底層開發的學生獲益匪淺。
(推薦教材:
①《數字基礎(第八版)》清華大學出版社
②《邏輯與計算機設計基礎》 中國電力出版社 )
7.數據結構:
計算機科學核心課程之一。對數據地有效組織是程序的主要任務之一,演算法的主要操作對象亦為數據結構。從簡單的數組和鏈表,到各色高級的抽象數據類型(ADT),數據結構在程序設計中的地位不言而喻。學好數據結構,是進一步學習專業課的基本前提。可以這么說,一個不懂得如何組織和操控數據的學生,根本就不配當我們計算機科學專業的學生,更不配當一名程序員!!!
(推薦教材:
①《C演算法 第一卷(第三版)》人民郵電出版社
②《程序設計抽象思想--C語言描述》清華大學出版社
③《數據抽象與問題求解--C++語言描述(第四版)》清華大學出版社
④《數據結構與演算法--Java語言描述》機械工業出版社 )

8.計算方法:內容不詳,不敢妄作斷言。 (推薦教材:待定)
// 轉帖者:線性代數、微積分、微分方程等的計算機演算法

9.計算機原理與匯編:
系統底層課程之一,亦為計算機科學核心課程。重點講述計算機(微機)構造以及低級語言--匯編語言的基礎知識。學習這門課程,對進一步學習編譯原理等專業高級課程有很大幫助。
(推薦教材:
①《深入理解計算機系統》中國電力出版社
②《Intel匯編語言程序設計(影印版)》清華大學出版社
③《Windows環境下32位匯編語言程序設計(第二版)》電子工業出版社
④《匯編語言編程藝術》清華大學出版社 )

10.操作系統:
計算機科學的核心課程之一。課程全面講述了操作系統的原理與構造,各類上機實驗更能讓學生對操作系統有深刻地理解。
(推薦教材:
①《操作系統(第三版)》機械工業出版社
②《現代操作系統(第二版)》機械工業出版社
③《Linux內核設計與實現(影印版)》機械工業出版社
④《UNIX系統編程》機械工業出版社
⑤《UNIX環境高級編程(第二版)》人民郵電出版社 )

11.軟體工程:
計算機科學的核心課程之一。近年來,隨著軟體開發革命地進一步深化,批判軟體工程及過程方法改進的著作日益豐富,我們也得以從不良的軟體開放中解放。建議在學習本課程時,聯系自己的實戰,並閱讀批判軟體工程和改良軟體工程的著作。
(推薦教材及參考書:
①《軟體工程:實踐者的研究方法(第五版)》機械工業出版社
②《程序設計心理學(銀年紀念版)》清華大學出版社
③《人月神話(銀年紀念版)》清華大學出版社
④《人件》清華大學出版社 )

12.資料庫原理及應用:
計算機科學與信息學科的好像課程之一。課程講述了資料庫原理以及設計等方面的內容。對於那些注重實效的學生而言,學好這門課程,可以使今後的工作更為輕松。
(推薦教材:《資料庫系統概念(第四版)》機械工業出版社)

13.運籌學及其演算法:
此課程課作為計算機科學的輔助課程,向學生介紹了運籌學方面的演算法,此類演算法屬於現代演算法范疇,本人暫時還未涉獵,故恕難對此課程解析之…… (推薦教材:待定)
// 轉帖者:線性規劃、動態規劃、排隊論、決策分析等等

14.計算機網路:
計算機科學的核心課程之一。課程詳細地介紹了計算機網路的發展、組成和協議方面的內容。對於自我要求較高的同學而言,學好這門課程義不容辭!
(推薦教材:
①《計算機網路(第四版)》清華大學出版社
②《TCP/IP協議族》清華大學出版社 )

15.軟體開發管理:
應該是軟體工程課的附屬課程吧,不詳。 (推薦教材:待定)
// 轉帖者:對於工程,管理重於技術

16.數學建模:
可以說是本專業的相關課程,但其意義及作用目前在下還不甚了解。 (推薦教材:待定)
// 轉帖者:既然學了數學,會用也很重要吧

17.J2EE體系結構:
J2EE是目前我們產業的兩大工業平台之一,學習這門課程,可以為今後涉足企業級開發領域打下基礎。但請注意,J2EE和Java語言本身都是在不斷演進的,因而如果不能在課程結束後持續學習相關技術,恐怕還不等你出大學校門,這門課的內容就已經過時了…… (推薦教材:最新的國外相關教材。)

18.計算機圖形學:
計算機科學的核心課程之一。有關計算機圖形學在各個領域的應用不必在下一一說明了吧。無論是游戲開發,還是航空航天等前沿領域,到處都有計算機圖形學的技術被應用。目前該課程主要用C語言和OpenGL圖形庫進行教學,效果應該還算不錯。
(推薦教材及參考書:
①《計算機圖形學原理與實踐-C語言描述(第二版)》機械工業出版社
②《互動式計算機圖形學--基於OpenGL的自頂向下的方法(第四版)》清華大學出版社
③《OpenGL超級寶典(第三版)》 人民郵電出版社 )

19.微型計算機技術:
計算機專業的核心課程之一。課程詳細地分析了微型計算機(主要是單片機)技術,由於這方面資料奇缺,這門課程可不太受在下歡迎…… (推薦教材:待定)
// 轉帖者:想搞嵌入式的要注意了

20.編譯原理:
計算機科學核心課程之一。如果想要寫出好的程序,編譯原理的相關知識必不可少,因而這門課程是十分重點的一門課程。課程教材「龍書」、「虎書」和「鯨書」更是我們專業的經典著作。
(推薦教材:
①《編譯原理》機械工業出版社
②《現代編譯原理--C語言描述》人民郵電出版社
③《高級編譯器設計與實現》機械工業出版社 )

21.Web系統開發:
目前主流的web開發主要集中在ASP.NET和JSP開發領域 ,當然,還有近來火爆異常的Ajax,以前的CGI和ASP已經不那麼流行了。與J2EE一樣,這是一門必須持續學習的課程,否則,你必將被其所拋棄! (推薦教材:最新國外相關書籍。)

22.嵌入式軟體開發:
這個領域可謂是軟體開發的前沿領域,也是未來軟體業霸主的孕育地之一(另兩個領域為Web開發和企業級開發)。目前的軟體開發領域正蘊含著「泛嵌入式」的潛規則(《程序員》2006年7月刊)。認真並持續學習這門課程,對將來的工作會有莫大的幫助。 (推薦教材:《嵌入式系統開放大全》人民郵電出版社)

23.演算法設計與分析:
計算機科學的核心課程之一。「程序是衣,演算法為魂」(《程序員》2006年3月刊),這門課程是本專業學生所亟需掌握的,如果學不好這門課,那麼,你就不是一名優秀的程序員!
(推薦教材:
①《數據結構與演算法分析-C語言描述》機械工業出版社
②《C演算法 第一卷 (第三版)》人民郵電出版社 )

24.情報檢索與利用

B. 中國科技大學研究生經濟學的參考書目誰知道啊

中國科學技術大學2006年招收攻讀碩士學位研究生參考書目

科目
覆蓋范圍
參考書
備注

311高等數學單考
單變數微積分、多變數微積分、場論初步、級數、常微分方程
大學本科通用教材

312高等數學A
單變數微積分、多變數微積分、場論初步、級數、常微分方程
《高等數學導論》(上、中、下) 陳登遠 中國科大出版社

《高等數學導論習題集》中國科大數學系 中國科大出版社

313普通物理A
力學、電磁學、原子物理
科大、北大或其他高校物理系普通物理教材

314高等數學B
高等數學(函數、極限、一元函數微積分、多元函數微積分、級數、常微分方程、解析幾何)
大學本科通用教材

315中國哲學史

《中國哲學史》(上、下),肖萐父、李錦全主編,人民出版社

316科技通史
中西科技史基本內容,重要科學史事件、著作、人物思想及其述評
任何科技通史類著作均可作為參考書

317馬克思主義原理
唯物論、辨證論、認識論、唯物史觀;勞動價值論、剩餘價值論、壟斷資本主義理論、社會主義基本經濟制度與市場經濟理論
《辯證唯物主義和歷史唯物主義原理》李秀林 人大出版社95年版

《政治經濟學教程》宋濤 人大出版社99年版

318議論文寫作
以科技哲學涉及的領域為范圍,命題作文,主要考核考生運用所學知識分析問題的理論思辨水平和論述表達能力

319綜合英語
專業英語八級所涵蓋的范圍。重點在對英語基本功和知識面作全方位的考查。

320傳播學
傳播學基本理論及其應用。
《傳播理論—起源方法與應用》華夏出版社 2001 沃納·賽佛林等著 郭鎮之等譯

《20世紀傳播學經典文本》 復旦大學出版社 2003 張國良主編

《大眾傳播動力學》約瑟夫 R 多米尼克著 蔡騏譯 人民大學出版社2004年版

321數學分析
數學分析:極限、連續、微分、積分的概念及性質;(擬)微分中值定理、Taylor定理及其應用;凸函數的概念及性質、極值問題、隱函數定理;Newton-Leibniz、Green、Gauss和Stokes公式及其在物理學中的應用;一致收斂函數項級數的判別和性質;Γ函數和B函數;Fourier級數的常見性質
《數學分析教程》常庚哲 中國科大出版社

322分析和代數
數學分析:一元和多元微積分,無窮級數,廣義積分。線性代數:行列式,矩陣,線性方程組和線性變換,歐氏空間,矩陣標准形
《數學分析》(一、二、三冊) 何琛 高等教育出版社

《線性代數》李炯生 中國科大出版社

323科技考古學
現代科學技術在考古學各領域的應用。
科技考古論叢(第二輯),中國科學技術大學出版社,2003年版,王昌燧主編,左健副主編;

科技考古論叢(第三輯),中國科學技術大學出版社,2003年版,王昌燧主編,秦潁、馮敏副主編。

324 物理化學
熱力學、動力學、膠體表面、電化學、統計熱力學
《物理化學》付獻彩 高等教育出版社

《物理化學-概念辨析,解題方法》范崇政 中國科大出版社

325地球化學
無機地球化學,涉及地球不同層圈的化學組成、元素和同位素地球化學、同位素年代學、地球化學熱力學等基本知識
《地球化學》趙倫山、張本仁 地質出版社 1988版

《地球化學》陳道公等編著 中國科學技術大學出版社 1994版

326神經生物學
外周神經系統、中樞神經系統、感覺神經系統和發育神經系統
《神經生理學》阮迪雲、壽天德 中國科大出版社 1996版

《神經生物學》壽天德 高等教育出版社 2001版

327生物化學
糖、脂、蛋白質、核酸、維生素、激素的結構、性質、功能; 合成和分解及相關調控;酶學;能量轉換;染色質的組成、結構,原核與真核復制、轉錄、翻譯及相關調控以及表達調控的相關物質及性質;
《生物化學》王鏡岩等 高教出版社2002版

《分子遺傳學》孫乃恩 南京大學出版社,

《Biochemistry》5th Edition Geremy M. Berg 著W.H. Freeman and Company 2004版

328科技史議論文
科學技術史上重要事件分析評論和寫作能力
《自然科學史》梅森 上海譯文出版社

329環境科學基礎
環境科學基本原理
《環境學概論》劉培桐 高等教育出版社1995年版或新版

330宏觀經濟學
宏觀經濟學

《西方經濟學》下冊 高鴻業 中國人民大學出版社 第三版

331地質學原理
普通地質學

《地球與極地科學》孫立廣 中國科學技術大學出版社,2003年版

《普通地質學》夏邦棟 地質出版社

332綜合化學
含無機、分析、有機、物化
《綜合化學》張懋森 中國科學技術大學出版社

334現代科技知識

科技第一生產力的發展歷程、當代科技發展的重要前沿、科技推進傳統產業現代化、人與自然的協調發展、自然與社會的協調發展、不同國家科技強國的途徑與經驗、高科技在國家戰略中的地位與作用、新技術革命的世界影響與我國對策
《現代科學技術基礎知識》宋健主編、惠永正副主編 科學出版社、中共中央黨校出版社 1994年版。

《高科技—跨世紀的戰略問題》吳錫軍 何國平編著 江蘇科技出版社 1992年版。

《跨世紀科技與社會可持續發展》鄭積源主編 人民出版社1999年版

335法學綜合
法理學、中國法制史、刑法、訴訟法、行政法
《法理學》孫國華,中國人民大學出版社,1999;

《刑法》陳忠林,中國人民大學出版社,2003;

《民事訴訟法》江偉主編 北京大學出版社 2000;

《刑事訴訟法》張旭 中國人民大學出版社,2003;

《行政法與行政訴訟法》姜明安北京大學出版社、高等教育出版社,2002

421西方經濟學
微觀:消費者及生產者行為理論,市場結構與價格決定,要素價格與收入分配,一般均衡,信息不對稱的市場;宏觀:國民收入核算,國民收入決定的靜態均衡模型,貨幣理論與貨幣政策,後凱恩斯主義經濟學、動態經濟學
《現代西方經濟學》(上、下)宋承先 復旦大學出版社

422中國共產黨黨史
新民主主義革命、社會主義革命、社會主義建設、改革開放和全面建設小康社會的歷史進程;馬克思主義中國化的經驗總結和理論成果
《中國共產黨的七十年》,胡繩,中共黨史出版社91年版; 《新編中共黨史簡明教程》,蓋軍,中共中央黨校出版社03年版

423教育技術學與計算機基礎
教育技術學基礎

教學設計

數據結構
《教育技術學導論》尹華俊 高等教育出版社

《數據結構》(C或PASCAL語言版)嚴蔚敏 清華大學出版社

424寫作與評論
要求有每小時500字以上的英文寫作能力。著重於對問題的理解、分析和闡述。翻譯評論則注重考查對英、漢兩種語言的理解和把握。(包括一篇翻譯評論)

425數字媒體技術
多媒體、計算機網路、網際網路等技術基礎
《數字媒體概論》馮廣超著 人民大學出版社,2004年版

《數字媒體技術、應用、設計》劉惠芬 清華大學出版社 2003年版

《網路出版》周榮庭 科學出版社2004年版

426中國通史
史前至宋代
中國史綱要(上下冊),1995年版,人民出版社,翦伯贊主編。

427線性代數與解析幾何
線性代數:行列式、矩陣、線性空間線性映射與線性變換、二次型與內積

解析幾何:向量代數、平面與直線、常見曲面
《線性代數》李炯生 中國科大出版社

《空間解析幾何簡明教程》吳光磊 高等教育出版社

428科學技術史概論

科學技術史基礎知識

《自然科學史》梅森 上海譯文出版社

《科學的歷程》吳國盛 北京大學出版社

429 物理化學B
熱力學、動力學、膠體表面、電化學、統計熱力學
《物理化學》付獻彩 高等教育出版社

《物理化學-概念辨析,解題方法》范崇政 中國科大出版社

430西方哲學史
形而上學、本體論、認識論、倫理學等基本問題和這些問題的提出、轉變與持續,以及就此展開的爭論
《西方哲學簡史》趙敦華著 北京大學出版社2000年版

431中西方美學史
關於美、美的本質、審美對象、審美意象、審美意識等基本問題;真、善、美三者關系的理論探討及發展
《中國美學史大綱》葉朗 上海人民出版社

《西方美學史》朱光潛 人民文學出版社

432概率論與數理統計
概率論:隨機變數及其分布,數字特徵,極限定理。數理統計:參數估計,假設檢驗。
《概率論》蘇淳 科學出版社 2004

《數理統計學教程》陳希孺、倪國熙 上海科技出版社

433科學技術哲學
自然觀、科技觀、方法論、西方科學哲學基礎知識、科技哲學實證問題分析
《自然辯證法原理》欒玉廣 中國科大出版社

434量子力學
量子力學的概念和基本原理、波函數和波動方程,一維定態問題、力學量算符對稱性及守恆定律、中心力場、粒子在電磁場中的運動、自旋、定態微擾論、量子躍遷。

《量子力學》曾謹言 第三版 第一卷 科學出版社

435原子物理與量子力學
原子結構和光譜、分子結構和光譜、量子力學概論
《近代物理學》徐克尊 高等教育出版社;

《原子物理學》楊福家 第三版,高等教育出版社;

《原子物理學》褚聖麟 高等教育出版社

《量子力學導論》曾謹言高等教育出版社

436電動力學A
電磁現象的普遍規律;靜電場和靜磁場;電磁波的傳播,電磁波的輻射(包括低速和高速運動帶電粒子的輻射);狹義相對論
《電動力學》郭碩鴻 第二版 高等教育出版社

437固體物理
晶體結構、晶體缺陷、晶體結合、晶體振動及熱學性質、金屬電子論、能帶論、電導論
《固體物理》黃昆原著 韓汝琦改編 高等教育出版社

438信號與系統

連續時間和離散時間信號與系統(包括在輸入輸出描述方式和狀態描述方式下,以及時域、頻域和復頻域)的一整套概念、理論和方法,及其在通信、信號處理中的主要應用,以及數字信號處理的基本概念和方法(DFT,FFT和數字濾波器)。

《信號與系統:理論、方法和應用》中國科學技術大學出版社,徐守時,修訂版,2003年版

《數字信號處理》北京理工大學出版社,王世一,1997,3-5章。

439電子線路
電子線路、數字電路
《線性電子線路》戴蓓蒨 中國科學技術大學出版社

《數字電子技術基礎》閻石 高等教育出版社 第四版

440無機化學
無機化學基本原理、理論及元素無機化學
《無機化學》武漢大學、吉林大學等校編 高等教育出版社,第三版(上、下冊)

《無機化學例題、要點、習題》張祖德等編 中國科技大學出版社 第三版


441分析化學
誤差與數據處理;酸鹼滴定,配位滴定,氧化-還原滴定,重量分析;沉澱滴定,常用的分離方法與復雜物質分析
《分析化學》武漢大學主編 高等教育出版社

《定量化學分析》李龍泉等編著 中國科學技術大學出版社

442有機化學
《有機化學》伍越環編著的全部內容
《有機化學》伍越環編 中國科學技術大學出版社

《有機化學實驗》蘭州大學、復旦大學編 高等教育出版社

443結構化學
量子力學基礎、原子分子電子結構、分子光譜、晶體結構
《物質結構》潘道皚 人民教育出版社

444高分子化學
聚合反應基本原理及高分子化學反應
《高分子化學》潘才元 中國科大出版社

445高分子物理
聚合物結構及物理性質
《高聚物結構與性能》 馬德柱等 科學出版社

446大氣科學導論
大氣組成和結構,大氣靜力學,大氣熱力學和靜力穩定度,大氣輻射傳輸和輻射平衡,大氣動力學基礎,天氣預報原理,雲和降水物理,大氣聲、光、電基本知識。
《大氣科學概論》徐玉貌等,南京大學出版社

《大氣物理學基礎》許紹祖 氣象出版社

447電動力學B
全書(除*號章節外)
《電動力學》郭碩鴻 高等教育出版社

448地震學
地震波傳播理論、射線理論、用地震波研究地下結構
《地球物理學基礎》地震學部分,傅承義等 科學出版社

《地震學原理》有關章節 徐果明等,地震出版社

《地震學原理與應用》有關章節 ,劉斌等,中國科大講義

449理論力學B
質點力學、質點組力學、剛體力學、相對運動與參照系、分析力學
《理論力學教程》周衍柏 人民教育出版社

450空間物理基礎
普通物理/理論物理學中涉及到空間科學的知識
力學、熱學、電磁學、光學、原子物理或普通物理教材

科大、北大或其他高校物理系普通物理教材

451普通地質學
地質學基礎,包括礦物岩石學、構造地質學、地層學等基礎知識
《普通地質學》夏邦棟等 地質出版社

《地球與極地科學》孫立廣 中國科學技術大學出版社 2003年版

452生理學
全書
《生理學》第五版 姚泰 人民衛生出版社,2002年版

453系統安全工程
全書
《危險源辯識、控制及評價》陳寶智 四川科技出版社1996版

454高分子化學與物理
高分子化學、高聚物結構與性能基本內容
高分子化學》潘才元 中國科大出版社

《高聚物結構與性能》 馬德柱等 科學出版社

455細胞生物學
細胞的結構與性能;細胞分泌和運動的機理;細胞分裂、分化和死亡在個體發育中的作用及其調節機制;細胞工程。

《細胞生物學》翟中和 王喜忠等 高等教育出版社,2001年版

《細胞生物學》魯潤龍 顧月華 中國科大出版社,2002年版

456普通化學

大學本科通用教材

457理論力學A
運動學、動力學、靜力學到拉格朗日方程、微振動
《理論力學》哈爾濱工業大學

458機械設計
零件的幾何精度,平面機構的結構分析,平面連桿機構,凸輪機構,摩擦輪傳動和帶傳動,齒輪傳動,螺旋傳動,軸,聯軸器、離合器,支承,直線運動導軌,彈性元件。
《機械原理》鄭文緯 高等教育出版社

《精密機械零件》龐振基 機械工業出版社

459工程光學
幾何光學成像原理、平面零件成像、光闌和光能計算、光學系統成像質量評價,典型光學系統、光的干涉、衍射、偏振
《應用光學》胡玉禧 中國科大出版社

《工程光學》郁道銀等 機械工業出版社

460普通物理B
力學、電磁學、原子物理
《中國科大基礎物理教程》叢書 科學出版社

461化學工程學
液體動力過程,傳熱過程,傳質過程、反應器基本原理
《化學工程基礎》北京大學化學系 高等教育出版社

462熱工基礎
《工程熱力學》

《傳熱學》
《工程熱力學》曾丹岑 高等教育出版社

《傳熱學》楊世銘 陶文全編 高等教育出版社

463普通生物學

大學本科通用教材

464電子學基礎
電路分析基礎、模擬電子線路、數字電路、微機原理
《電子技術基礎》數字和模擬部分 康華光 第四版 高等教育出版社

《微型計算機原理與介面技術》周荷琴 中國科學技術大學出版社

465半導體集成電路
1. 雙極型模擬集成電路設計原理、方法。單元電路的具體設計

2. MOS模擬電路的設計原理、方法

3. 數字集成電路的基本設計原理、方法和典型單元電路的實現
《模擬集成電路》陳金松 中國科大出版社

《數字集成電路設計透析》清華大學出版社

466微波技術基礎
傳輸線理論,金屬波導,介質波導、微波諧振腔,微波網路基礎
《微波技術基礎》廖承恩編著

西安電子科大出版社1994版

467熱力學與統計物理
熱力學基本規律,均勻物質熱力學性質,熱動平衡判據,相平衡,微觀態的描述,玻爾茲曼統計,玻色和費米統計,系綜理論初步。
《熱力學統計物理》汪志誠 高等教育出版社(第二版)1993年

468計算機系統結構
數據結構、操作系統、計算機組成原理
《數據結構》嚴蔚敏 清華大學出版社

《計算機操作系統》 湯子瀛 西安電子科技大學出版社

《計算機組成原理》唐朔飛 高等教育出版社

469計算機軟體基礎
數據結構、操作系統、編譯原理
《數據結構》嚴蔚敏 清華大學出版社

《編譯原理和技術》 陳意雲 高等教育出版社

《計算機操作系統》 湯子瀛 西安電子科技大學出版社

470企業管理
微觀經濟學、管理學
《西方經濟學》上冊 高鴻業 中國人民大學出版社 第三版

《管理學—原理與方法》周三多 復旦大學出版社

471行政管理
管理學、政治科學
《管理學—原理與方法》周三多 復旦大學出版社

《政治科學》邁克爾·羅斯金等著,林震等譯 華夏出版社

472自動控制理論
古典控制理論、現代控制理論
《自動控制原理》除第4、8、10三章 龐國仲 中國科大出版社

《線性系統理論和設計》前七章 仝茂達 中國科大出版社

473管理綜合A
管理學、微觀經濟學、運籌學
《管理學-原理與方法》周三多 復旦大學出版社

《西方經濟學》上冊 高鴻業 中國人民大學出版社 第三版

《運籌學》李維靜等 清華大學出版社

474管理綜合B
管理學、資料庫與網路
《管理學-原理與方法》周三多 復旦大學出版社

《資料庫系統原理教程》王珊、陳紅 清華大學出版社

《計算機網路工程教程》黃叔武、楊一平 清華大學出版社

475信息安全基礎
密碼學導論,計算機安全,網路安全
《密碼學與網路安全:原理與實踐》(第二版)楊明等譯,電子工業出版社。

《Computer Security》,Dieter Gollman等,1999

《網路安全基礎教程:應用與標准》(英文影印版) William Stallings,清華大學出版社

476概率統計
概率論:隨機變數及其分布,數字特徵。數理統計:參數估計,假設檢驗。
《概率論與數理統計》陳希孺

中國科大出版社

477媒介管理
媒介管理基本理論及案例分析,數字媒介經營與管理
《媒介管理學》邵培仁著 2002版 高等教育出版社

《媒介經濟學》趙曙光 史宇鵬著2003版 湖南人民出版社

《電子媒介經營與管理》彼得.K普林格爾 北京廣播學院出版社 2004年版

478當代國際關系
國際關系的形成及其在當代的演變、國際關系中的基本行為體、國家的對外政策與手段、國際組織、國際法、冷戰後的國際戰略與安全、經濟全球化與國際關系、當今全球問題與全球治理、21世紀的世界格局與國際關系發展趨勢、中國外交戰略與在世界的和平崛起

《全球化時代的國際關系》俞正梁等著 復旦大學出版社 2000年版。

《21世紀:世界格局與大國關系》 張蘊嶺主編 社會科學文獻出版社 2001版。

《探求變化中的世界》張蘊嶺著 社會科學文獻出版社2002年版

479民商法學
公司法、票據法、保險法、證券法
《民法》王利民,中國人民大學出版社,2000;

《新編公司法教程》江平主編,法律出版社2000年版;

《票據法》董安生 中國人民大學出版社,2000;

《證券法》葉林 中國人民大學出版社,2000。

480經濟法學
經濟法學與知識產權法
《經濟法》潘靜成,中國人民大學出版社;

《知識產權法》中國人民大學出版社,2002、劉春田;

481污染控制工程
水污染控制的化學和生物理論及技術;氣態污染物控制技術
《水污染控制工程》高廷耀 高等教育出版社

《環境工程學》蔣展鵬 高等教育出版社

482醫學免疫學
免疫細胞、免疫分子、免疫應答、免疫病理、免疫學技術
《Immunobiology 5》Charles A Janeway

《細胞和分子免疫學》(第二版)

金伯泉

《免疫學原理》周光炎

《醫學免疫學》(第三版)陳慰峰

《醫學免疫學基礎》高曉明

483基礎化學
化學基礎
大學本科通用教材

484決策分析

《管理決策分析》彭勇行 科學出版社

485材料科學基礎
晶體學基礎,常見的晶體結構,晶體結構缺陷,化學熱力學基礎,相平衡與相圖、相變、晶體中的擴散、成核生長理論等
《材料科學基礎》徐恆鈞 北京工業大學出版社

486計算機技術基礎
數據結構、微機原理
《數據結構》(C語言版)嚴蔚敏、吳偉明 清華大學出版社

《微型計算機原理與介面技術》

周荷琴 中國科學技術大學出版社

487等離子體物理導論
單粒子理論、等離子體平衡、等離子體波動、等離子體不穩定性
《等離子體物理導論》F.F.Chen,科學出版社 1980年。

《等離子體物理原理》馬騰才、胡希偉、陳銀華,中國科大出版社 1988年

C. 有請計算機系的學哥學姐回答

編程經典好書:C#入門經典(第4版)嵌入式實時操作系統μC/OS-II(第2版)Windows核心編程

C++ Primer Plus(第五版)Windows 程序設計(第5版)(上、下冊)C++ Primer中文版(第四版)

編譯原理(原書第2版)(龍書)深入淺出MFC(第二版)程序員面試寶典(第2版)

Java核心技術 卷1 卷2 原書第8版Java編程思想(第4版)C專家編程 C++沉思錄 C和指針

深入理解LINUX內核(第三版)C++語言的設計和演化 Accelerated C++ MORE EFFECTIVE C++

Imperfect C++中文版 C++ Templates中文版 C++編程你也行 C++編程思想(第2版) 第1卷 第2卷

代碼大全(第二版)UNIX環境高級編程(第2版)C#捷徑教程你必須知道的495個C語言問題

Java程序設計語言(英文版·第4版)C語言參考手冊(原書第5版)程序設計實踐(雙語版)

C++程序設計語言(特別版) C語言核心技術Windows 內核情景分析--採用開源代碼ReactOS

深入理解計算機系統(修訂版)深入理解LINUX網路內幕(影印版)演算法導論(原書第2版)

大象--Thinking in UMLHead First設計模式(中文版)編程之美--微軟技術面試心得

Shell腳本學習指南Windows高級調試Linux設備驅動程序(第三版)Effective Java中文版(第2版)

程序員的自我修養--鏈接、裝載與庫C程序設計語言(第2版·新版)Effective C++

面向對象分析與設計(第3版)代碼之美Beautiful Code重構:改善既有代碼的設計

深度探索C++對象模型編程珠璣Python技術手冊(第二版) Python編程(第三版·英文影印版)

你看這些怎麼樣?

D. 大學軟體工程專業教材都有哪些

ST軟體工程免費下載

鏈接:https://pan..com/s/1zesJfTuWTpPplC7Yf4YusQ

提取碼:7y95

ST是指境內上市公司被進行特別處理的股票,也是退市風險警示。ST股是指境內上市公司經營連續兩年虧損,被進行退市風險警示的股票。

E. 在計算機網路組網方法和應用模式上,無線區域網與有線區域網有哪些差別

計算機科學與技術這一門科學深深的吸引著我們這些同學們,上計算機系已經有近三年了,自己也做了一些思考,我一直認為計算機科學與技術這門專業,在本科階段是不可能切分成計算機科學和計算機技術的,因為計算機科學需要相當多的實踐,而實踐需要技術;每一個人(包括非計算機專業),掌握簡單的計算機技術都很容易(包括程序設計),但計算機專業的優勢就在於,我們掌握許多其他專業並不"深究"的東西,例如,演算法,體系結構,等等。非計算機專業的人可以很容易地做一個晶元,寫一段程序,但他們做不出計算機專業能夠做出來的大型系統。今天我想專門談一談計算機科學,並將重點放在計算理論上。

計算機理論的一個核心問題——從數學談起:
記得當年大一入學,每周六課時高等數學,天天作業不斷(那時是六日工作制)。頗有些同學驚呼走錯了門:咱們這到底念的是什麼系?不錯,你沒走錯門,這就是計算機科學與技術系。我國計算機科學系裡的傳統是培養做學術研究,尤其是理論研究的人(方向不見得有問題,但是做得不是那麼盡如人意)。而計算機的理論研究,說到底了,如網路安全,圖形圖像學,視頻音頻處理,哪個方向都與數學有著很大的關系,雖然也許是正統數學家眼裡非主流的數學。這里我還想闡明我的一個觀點:我們都知道,數學是從實際生活當中抽象出來的理論,人們之所以要將實際抽象成理論,目的就在於想用抽象出來的理論去更好的指導實踐,有些數學研究工作者喜歡用一些現存的理論知識去推導若干條推論,殊不知其一:問題考慮不全很可能是個錯誤的推論,其二:他的推論在現實生活中找不到原型,不能指導實踐。嚴格的說,我並不是一個理想主義者,政治課上學的理論聯系實際一直是指導我學習科學文化知識的航標(至少我認為搞計算機科學與技術的應當本著這個方向)。

其實我們計算機系學數學光學高等數學是不夠的(典型的工科院校一般都開的是高等數學),我們應該像數學系一樣學一下數學分析(清華計算機系開的好像就是數學分析),數學分析這門科學,咱們學計算機的人對它有很復雜的感情。在於它是偏向於證明型的數學課程,這對我們培養良好的分析能力極有幫助。我的軟體工程學導師北工大數理學院的王儀華先生就曾經教導過我們,數學系的學生到軟體企業中大多作軟體設計與分析工作,而計算機系的學生做程序員的居多,原因就在於數學系的學生分析推理能力,從所受訓練的角度上要遠遠在我們之上。當年出現的怪現象是:計算機系學生的高中數學基礎在全校數一數二(希望沒有冒犯其它系的同學),教學課時數也僅次於數學系,但學完之後的效果卻不盡如人意。難道都是學生不努力嗎,我看未見得,方向錯了也說不一定,其中原因何在,發人深思。

我個人的淺見是:計算機系的學生,對數學的要求固然跟數學系不同,跟物理類差別則更大。通常非數學專業的所謂"高等數學",無非是把數學分析中較困難的理論部分刪去,強調套用公式計算而已。而對計算機系來說,數學分析里用處最大的恰恰是被刪去的理論部分。說得難聽一點,對計算機系學生而言,追求算來算去的所謂"工程數學"已經徹底地走進了誤區。記上一堆曲面積分的公式,難道就能算懂了數學?那倒不如現用現查,何必費事記呢?再不然直接用Mathematics或是Matalab好了。
我在系裡最愛做的事情就是給學弟學妹們推薦參考書。中文的數學分析書,一般都認為以北大張築生老師的"數學分析新講"為最好。萬一你的數學實在太好,那就去看菲赫金哥爾茨的"微積分學教程"好了--但我認為沒什麼必要,畢竟你不想轉到數學系去。吉米多維奇的"數學分析習題集"也基本上是計算型的東東。書的名氣很大,倒不見得適合我們,還是那句話,重要的是數學思想的建立,生活在信息社會里我們求的是高效,計算這玩意還是留給計算機吧。不過現在多用的似乎是復旦大學的《數學分析》也是很好的教材。

中國的所謂高等代數,就等於線性代數加上一點多項式理論。我以為這有好的一面,因為可以讓學生較早感覺到代數是一種結構,而非一堆矩陣翻來覆去。這里不得不提南京大學林成森,盛松柏兩位老師編的"高等代數",感覺相當舒服。此書相當全面地包含了關於多項式和線性代數的基本初等結果,同時還提供了一些有用的又比較深刻的內容,如Sturm序列,Shermon-Morrison公式,廣義逆矩陣等等。可以說,作為本科生如能吃透此書,就可以算高手。國內較好的高等代數教材還有清華計算機系用的那本,清華出版社出版,書店裡多多,一看就知道。從抽象代數的觀點來看,高等代數里的結果不過是代數系統性質的一些例子而已。莫宗堅先生的《代數學》里,對此進行了深刻的討論。然而莫先生的書實在深得很,作為本科生恐怕難以接受,不妨等到自己以後成熟了一些再讀。

正如上面所論述的,計算機系的學生學習高等數學:知其然更要知其所以然。你學習的目的應該是:將抽象的理論再應用於實踐,不但要掌握題目的解題方法,更要掌握解題思想,對於定理的學習:不是簡單的應用,而是掌握證明過程即掌握定理的由來,訓練自己的推理能力。只有這樣才達到了學習這門科學的目的,同時也縮小了我們與數學系的同學之間思維上的差距。

概率論與數理統計這門課很重要,可惜大多數院校講授這門課都會少些東西。少了的東西現在看至少有隨機過程。到畢業還沒有聽說過Markov過程,此乃計算機系學生的恥辱。沒有隨機過程,你怎麼分析網路和分布式系統?怎麼設計隨機化演算法和協議?據說清華計算機系開有"隨機數學",早就是必修課。另外,離散概率論對計算機系學生來說有特殊的重要性。而我們國家工程數學講的都是連續概率。現在,美國已經有些學校開設了單純的"離散概率論"課程,乾脆把連續概率刪去,把離散概率講深些。我們不一定要這么做,但應該更加強調離散概率是沒有疑問的。這個工作我看還是盡早的做為好。

計算方法學(有些學校也稱為數學分析學)是最後一門由數理學院給我們開的課。一般學生對這門課的重視程度有限,以為沒什麼用。不就是照套公式嘛!其實,做圖形圖像可離不開它,密碼學搞深了也離不開它。而且,在很多科學工程中的應用計算,都以數值的為主。這門課有兩個極端的講法:一個是古典的"數值分析",完全講數學原理和演算法;另一個是現在日趨流行的"科學與工程計算",乾脆教學生用軟體包編程。我個人認為,計算機系的學生一定要認識清楚我們計算機系的學生為什麼要學這門課,我是很偏向於學好理論後用計算機實現的,最好使用C語言或C++編程實現。向這個方向努力的書籍還是挺多的,這里推薦大家高等教育出版社(CHEP)和施普林格出版社(Springer)聯合出版的《計算方法(Computational Methods)》,華中理工大學數學系寫的(現華中科技大學),這方面華科大做的工作在國內應算是比較多的,而個人認為以這本最好,至少程序設計方面涉及了:任意數學函數的求值,方程求根,線性方程組求解,插值方法,數值積分,場微分方程數值求解。李慶揚的那本則理論性過強,與實際應用結合得不太緊。

每個學校本系裡都會開一門離散數學,涉及集合論,圖論,和抽象代數,數理邏輯。不過,這么多內容擠在離散數學一門課里,是否時間太緊了點?另外,計算機系學生不懂組合和數論,也是巨大的缺陷。要做理論,不懂組合或者數論吃虧可就太大了。從理想的狀態來看,最好分開六門課:集合,邏輯,圖論,組合,代數,數論。這個當然不現實,因為沒那麼多課時。也許將來可以開三門課:集合與邏輯,圖論與組合,代數與數論。(這方面我們學校已經著手開始做了)不管課怎麼開,學生總一樣要學。下面分別談談上面的三組內容。
古典集合論,北師大出過一本《基礎集合論》不錯。 數理邏輯,中科院軟體所陸鍾萬教授的《面向計算機科學的數理邏輯》就不錯。現在可以找到陸鍾萬教授的講課錄像,http://www.cas.ac.cn/html/Dir/2001/11/06/3391.htm自己去看看吧。總的來說,學集合/邏輯起手不難,普通高中生都能看懂。但越往後越感覺深不可測。

學完以上各書之後,如果你還有精力興趣進一步深究,那麼可以試一下GTM系列中的《Introction to Axiomatic Set Theory》和《A Course of Mathematical Logic》。這兩本都有世界圖書出版社的引進版。你如果能搞定這兩本,可以說在邏輯方面真正入了門,也就不用再浪費時間聽我瞎侃了。

據說全中國最多隻有三十個人懂圖論。此言不虛。圖論這東東,技巧性太強,幾乎每個問題都有一個獨特的方法,讓人頭痛。不過這也正是它魅力所在:只要你有創造性,它就能給你成就感。我的導師說,圖論裡面隨便揪一塊東西就可以寫篇論文。大家可以體會裡面內容之深廣了吧!國內的圖論書中,王樹禾老師的"圖論及其演算法"非常成功。一方面,其內容在國內教材里算非常全面的。另一方面,其對演算法的強調非常適合計算機系(本來就是科大計算機系教材)。有了這本書為主,再參考幾本翻譯的,如Bondy & Murty的《圖論及其應用》,人民郵電出版社翻譯的《圖論和電路網路》等等,就馬馬虎虎,對本科生足夠了。再進一步,世界圖書引進有GTM系列的"Modern Graph Theory"。此書確實經典!國內好象還有一家出版了個翻譯版。不過,學到這個層次,還是讀原版好。搞定這本書,也標志著圖論入了門。

離散數學方面我們北京工業大學實驗學院有個世界級的專家,叫邵學才,復旦大學概率論畢業的,教過高等數學,線性代數,概率論,最後轉向離散數學,出版著作無數,論文集新加坡有一本,堪稱經典,大家想學離散數學的真諦不妨找來看看。這老師的課我專門去聽過,極為經典。不過你要從他的不經意的話中去挖掘精髓。在同他的交談當中我又深刻地發現一個問題,雖說邵先生寫書無數,但依他自己的說法每本都差不多,我實在覺得詫異,他說主要是有大綱的限制,不便多寫。這就難怪了,很少聽說國外寫書還要依據個什麼大綱(就算有,內容也寬泛的多),不敢越雷池半步,這樣不是看誰的都一樣了。外版的書好就好在這里,最新的科技成果裡面都有論述,別的先不說,至少是"緊跟時代的理論知識"。

組合感覺沒有太適合的國產書。還是讀Graham和Knuth等人合著的經典"具體數學"吧,西安電子科技大學出版社有翻譯版。 抽象代數,國內經典為莫宗堅先生的"代數學"。此書是北大數學系教材,深得好評。然而對本科生來說,此書未免太深。可以先學習一些其它的教材,然後再回頭來看"代數學"。國際上的經典可就多了,GTM系列裡就有一大堆。推薦一本談不上經典,但卻最簡
單的,最容易學的:http://www.math.miami.e/~ec/book/這本"Introction to Linear and Abstract Algebra"非常通俗易懂,而且把抽象代數和線性代數結合起來,對初學者來說非常理想,我校比較牛的同學都有收藏。

數論方面,國內有經典而且以困難著稱的"初等數論"(潘氏兄弟著,北大版)。再追溯一點,還有更加經典(可以算世界級)並且更加困難的"數論導引"(華羅庚先生的名著,科學版,九章書店重印,繁體的看起來可能比較困難)。把基礎的幾章搞定一個大概,對本科生來講足夠了。但這只是初等數論。本科畢業後要學計算數論,你必須看英文的書,如Bach的"Introction to Algorithmic Number Theory"。
計算機科學理論的根本,在於演算法。現在很多系裡給本科生開設演算法設計與分析,確實非常正確。環顧西方世界,大約沒有一個三流以上計算機系不把演算法作為必修的。演算法教材目前公認以Corman等著的"Introction to Algorithms"為最優。對入門而言,這一本已經足夠,不需要再參考其它書。

再說說形式語言與自動機。我看過北郵的教材,應該說寫的還清楚。但是,有一點要強調:形式語言和自動機的作用主要在作為計算模型,而不是用來做編譯。事實上,編譯前端已經是死領域,沒有任何open problems,北科大的班曉娟博士也曾經說過,編譯的技術已相當成熟。如果為了這個,我們完全沒必要去學形式語言--用用yacc什麼的就完了。北郵的那本在國內還算比較好,但是在深度上,在跟可計算性的聯繫上都有較大的局限,現代感也不足。所以建議有興趣的同學去讀英文書,不過國內似乎沒引進這方面的教材。可以去互動出版網上看一看。入門以後,把形式語言與自動機中定義的模型,和數理邏輯中用遞歸函數定義的模型比較一番,可以說非常有趣。現在才知道,什麼叫"宮室之美,百官之富"!

計算機科學和數學的關系有點奇怪。二三十年以前,計算機科學基本上還是數學的一個分支。而現在,計算機科學擁有廣泛的研究領域和眾多的研究人員,在很多方面反過來推動數學發展,從某種意義上可以說是孩子長得比媽媽還高了。但不管怎麼樣,這個孩子身上始終流著母親的血液。這血液是the mathematical underpinning of computer science(計算機科學的數學基礎),也就是理論計算機科學。原來在東方大學城圖書館中曾經看過一本七十年代的譯本(書皮都沒了,可我就愛關注這種書),大概就叫《計算機數學》。那本書若是放在當時來講決是一本好書,但現在看來,涵蓋的范圍還算廣,深度則差了許多,不過推薦大一的學生倒可以看一看,至少可以使你的計算數學入入門。

最常和理論計算機科學放在一起的一個詞是什麼?答:離散數學。這兩者的關系是如此密切,以至於它們在不少場合下成為同義詞。(這一點在前面的那本書中也有體現)傳統上,數學是以分析為中心的。數學系的同學要學習三四個學期的數學分析,然後是復變函數,實變函數,泛函數等等。實變和泛函被很多人認為是現代數學的入門。在物理,化學,工程上應用的,也以分析為主。

隨著計算機科學的出現,一些以前不太受到重視的數學分支突然重要起來。人們發現,這些分支處理的數學對象與傳統的分析有明顯的區別:分析研究的問題解決方案是連續的,因而微分,積分成為基本的運算;而這些分支研究的對象是離散的,因而很少有機會進行此類的計算。人們從而稱這些分支為"離散數學"。"離散數學"的名字越來越響亮,最後導致以分析為中心的傳統數學分支被相對稱為"連續數學"。

離散數學經過幾十年發展,基本上穩定下來。一般認為,離散數學包含以下學科:
1) 集合論,數理邏輯與元數學。這是整個數學的基礎,也是計算機科學的基礎。
2) 圖論,演算法圖論;組合數學,組合演算法。計算機科學,尤其是理論計算機科學的核心是
演算法,而大量的演算法建立在圖和組合的基礎上。
3) 抽象代數。代數是無所不在的,本來在數學中就非常重要。在計算機科學中,人們驚訝地發現代數竟然有如此之多的應用。

但是,理論計算機科學僅僅就是在數學的上面加上"離散"的帽子這么簡單嗎?一直到大約十幾年前,終於有一位大師告訴我們:不是。D.E.Knuth(他有多偉大,我想不用我廢話了)在Stanford開設了一門全新的課程Concrete Mathematics。 Concrete這個詞在這里有兩層含義:
首先:對abstract而言。Knuth認為,傳統數學研究的對象過於抽象,導致對具體的問題關心不夠。他抱怨說,在研究中他需要的數學往往並不存在,所以他只能自己去創造一些數學。為了直接面向應用的需要,他要提倡"具體"的數學。在這里我做一點簡單的解釋。例如在集合論中,數學家關心的都是最根本的問題--公理系統的各種性質之類。而一些具體集合的性質,各種常見集合,關系,映射都是什麼樣的,數學家覺得並不重要。然而,在計算機科學中應用的,恰恰就是這些具體的東西。Knuth能夠首先看到這一點,不愧為當世計算機第一人。其次,Concrete是Continuous(連續)加上discrete(離散)。不管連續數學還是離散數學,都是有用的數學!

理論與實際的結合——計算機科學研究的范疇
前面主要是從數學角度來看的。從計算機角度來看,理論計算機科學目前主要的研究領域包括:可計算性理論,演算法設計與復雜性分析,密碼學與信息安全,分布式計算理論,並行計算理論,網路理論,生物信息計算,計算幾何學,程序語言理論等等。這些領域互相交叉,而且新的課題在不斷提出,所以很難理出一個頭緒來。想搞搞這方面的工作,推薦看中國計算機學會的一系列書籍,至少代表了我國的權威。下面隨便舉一些例子。
由於應用需求的推動,密碼學現在成為研究的熱點。密碼學建立在數論(尤其是計算數論),代數,資訊理論,概率論和隨機過程的基礎上,有時也用到圖論和組合學等。很多人以為密碼學就是加密解密,而加密就是用一個函數把數據打亂。這樣的理解太淺顯了。
現代密碼學至少包含以下層次的內容:
第一,密碼學的基礎。例如,分解一個大數真的很困難嗎?能否有一般的工具證明協議正確?
第二,密碼學的基本課題。例如,比以前更好的單向函數,簽名協議等。
第三,密碼學的高級問題。例如,零知識證明的長度,秘密分享的方法。
第四,密碼學的新應用。例如,數字現金,叛徒追蹤等。
在分布式系統中,也有很多重要的理論問題。例如,進程之間的同步,互斥協議。一個經典的結果是:在通信信道不可靠時,沒有確定型演算法能實現進程間協同。所以,改進TCP三次握手幾乎沒有意義。例如時序問題。常用的一種序是因果序,但因果序直到不久前才有一個理論上的結果....例如,死鎖沒有實用的方法能完美地對付。例如,......操作系統研究過就自己去舉吧!
如果計算機只有理論,那麼它不過是數學的一個分支,而不成為一門獨立的科學。事實上,在理論之外,計算機科學還有更廣闊的天空。

我一直認為,4年根本不夠學習計算機的基礎知識,因為面太寬了......
這方面我想先說說我們系在各校普遍開設的《計算機基礎》。在高等學校開設《計算機基礎課程》是我國高教司明文規定的各專業必修課程要求。主要內容是使學生初步掌握計算機的發展歷史,學會簡單的使用操作系統,文字處理,表格處理功能和初步的網路應用功能。但是在計算機科學系教授此門課程的目標決不能與此一致。在計算機系課程中目標應是:讓學生較為全面的了解計算機學科的發展,清晰的把握計算機學科研究的方向,發展的前沿即每一個課程在整個學科體系中所處的地位。搞清各學科的學習目的,學習內容,應用領域。使學生在學科學習初期就對整個學科有一個整體的認識,以做到在今後的學習中清楚要學什麼,怎麼學。計算機基本應用技能的位置應當放在第二位或更靠後,因為這一點對於本系的學生應當有這個摸索能力。這一點很重要。推薦給大家一本書:機械工業出版社的《計算機文化》(New Perspective of Computer Science),看了這本書我才深刻的體會到自己還是個計算機科學初學者,才比較透徹的了解了什麼是計算機科學。另外在廈門大學趙致琢老師的著作《計算科學導論》當中的很多經典理論都是在同類書籍中很難找到的。看看他也許你才會明白一個最基本的問題:為什麼計算機科學叫計算科學更為准確。這本書在世界上也可成為精品級的著作。

一個一流計算機系的優秀學生決不該僅僅是一個編程高手,但他一定首先是一個編程高手。我上大學的時候,第一門專業課是C語言程序設計,念計算機的人從某種角度講相當一部分人是靠寫程序吃飯的。在我們北京工業大學實驗學院計算機系裡一直有這樣的爭論(時至今日CSDN上也有),關於第一程序設計語言該用哪一種。我個人認為,用哪種語言屬於末節,關鍵在養成良好的編程習慣。當年老師對我們說,打好基礎後學一門新語言只要一個星期。現在我覺得根本不用一個星期,前提是先把基礎打好。不要再猶豫了,學了再說,等你抉擇好了,別人已經會了幾門語言了。

匯編語言和微機原理是兩門特煩人的課。你的數學/理論基礎再好,也占不到什麼便宜。這兩門課之間的次序也好比先有雞還是先有蛋,無論你先學哪門,都會牽扯另一門課里的東西。所以,只能靜下來慢慢琢磨。這就是典型的工程課,不需要太多的聰明和頓悟,卻需要水滴石穿的漸悟。有關這兩門課的書,計算機書店裡不難找到。弄幾本最新的,對照著看吧。組成原理推薦《計算機組成與結構》清華大學王愛英教授寫的。匯編語言大家拿8086/8088入個門,之後一定要學80x86匯編語言。實用價值大,不落後,結構又好,寫寫高效病毒,高級語言里嵌一點匯編,進行底層開發,總也離不開他,推薦清華大學沈美明的《IBM—PC匯編語言程序設計》。有些人說不想了解計算機體系結構,也不想製造計算機,所以諸如計算機原理,匯編語言,介面之類的課覺得沒必要學,這樣合理嗎?顯然不合理,這些東西遲早得掌握,肯定得接觸,而且,這是計算機專業與其他專業學生相比的少有的幾項優勢。做項目的時候,了解這些是非常重要的,不可能說,僅僅為了技術而技術,只懂技術的人最多做一個編碼工人,而永遠不可能全面地了解整個系統的設計,而編碼工人是越老越不值錢。關於組成原理還有個講授的問題,在我學這門課程時老師講授時把CPU工作原理譽微程序設計這一塊略掉了,理由是我們國家搞CPU技術不如別的國家,搞了這么長時間好不容易出了個龍芯比Intel的還差個十萬八千里,所以建議我們不要學了。我看這在各校也未見得不是個問題吧!若真是如他所說,那中國的計算機科學哪個方向都可以停了,軟硬體,應用,有幾項搞得過美國,搞不過別人就不搞了,那我們坐在這里干什麼?教學的觀念需要轉變的。

模擬電路這東東,如今不僅計算機系學生搞不定,電子系學生也多半害怕。如果你真想軟硬體通吃,那麼建議你先看看邱關源的"電路原理",也許此後再看模擬電路底氣會足些。教材:康華光的"電子技術基礎"(高等教育出版社)還是不錯的(我校電子系在用)。有興趣也可以參考童詩白的書。

數字電路比模擬電路要好懂得多。推薦大家看一看我們北工大劉英嫻教授寫的《數字邏輯》業績人士都說這本書很有參考價值(機械工業出版社的)。原因很明了,實用價值高,能聽聽她講授的課程更是有一種"享受科學"的感覺。清華大學閻石的書也算一本好教材,遺憾的一點是集成電路講少了些。真有興趣,看一看大規模數字系統設計吧(北航那本用的還比較多)。

計算機系統結構該怎麼教,國際上還在爭論。國內能找到的較好教材為Stallings的"Computer Organization and Architectureesigning for Performance"(清華影印
本)。國際上最流行的則是"Computer architecture: aquantitative approach", by Patterson & Hennessy。
操作系統可以隨便選用《操作系統的內核設計與實現》和《現代操作系統》兩書之一。這兩部都可以算經典,唯一缺點就是理論上不夠嚴格。不過這領域屬於Hardcore System,所以在理論上馬虎一點也情有可原。想看理論方面的就推薦清華大學出版社《操作系統》吧,高教司司長張堯學寫的,我們教材用的是那本。 另外推薦一本《Windows操作系統原理》機械工業出版社的,這本書是我國操作系統專家在微軟零距離考察半年,寫作歷時一年多寫成的,教操作系統的專家除了清華大學的張堯學(現高教司司長)幾乎所有人都參加了。Bill Gates親自寫序。裡面不但結合windows2000,xp詳述操作系統的內核,而且後面講了一些windows編程基礎,有外版書的味道,而且上面一些內容可以說在國內外只有那本書才有對windows內核細致入微的介紹,
如果先把形式語言學好了,則編譯原理中的前端我看只要學四個演算法:最容易實現的遞歸下降;最好的自頂向下演算法LL(k);最好的自底向上演算法LR(k);LR(1)的簡化SLR(也許還有另一簡化LALR)。後端完全屬於工程性質,自然又是another story。
推薦教材:Kenneth C.Louden寫的"Compiler Construction Principles and Practice"即是《編譯原理及實踐》(機械工業出版社的譯本)
學資料庫要提醒大家的是,會用VFP,VB, Power builder不等於懂資料庫。(這世界上自以為懂資料庫的人太多了!)資料庫設計既是科學又是藝術,資料庫實現則是典型的工程。所以從某種意義上講,資料庫是最典型的一門計算機課程——理工結合,互相滲透。另外推薦大家學完軟體工程學後再翻過來看看資料庫技術,又會是一番新感覺。推薦教材:Abraham Silberschatz等著的 "Database System Concepts".作為知識的完整性,還推薦大家看一看機械工業出版社的《數據倉庫》譯本。

計算機網路的標准教材還是來自Tanenbaum的《Computer Networks》(清華大學有譯本)。還有就是推薦謝希仁的《計算機網路教程》(人民郵電出版社)問題講得比較清楚,參考文獻也比較權威。不過,網路也屬於Hardcore System,所以光看書是不夠的。建議多讀RFC,http://www.ietf.org/rfc.htm里可以按編號下載RFC文檔。從IP的讀起。等到能掌握10種左右常用協議,就沒有幾個人敢小看你了。再做的工作我看放在網路設計上就比較好了。

F. 我下了清華大學計算機匯編 溫冬嬋的課件,打開後是用瀏覽器學習的,

基礎方面:(應該無需解釋啦) ⒈ 高等數學 ⒉ 線性代數 ⒊ 復變函數與積分變換 ⒊ 概率統計 硬體方面:(最終應該達到可以看懂並分析電路圖;可以設計專用計算機系統的程度) ⒈ 電路分析基礎 一切電子方向的基礎 ⒉ 模擬電子技術基礎 一切電子方向的基礎(開始分化方向) ⒊ 數字電子技術基礎 數字電子(計算機)專業的基礎 ⒋ 計算機組成原理 抽象的數字電子的「可以用來計算的機器」的大原理 ⒌ 微機原理及介面技術 基於8086的PC微型計算機系統的原理 ⒌ IBM PC匯編語言程序設計 8086CPU指令系統程序設計 ⒌ 計算機系統與結構 抽象的數字電子計算機系統(非單指計算機)的原理 ⒌ 單片機及介面技術 單晶元計算機系統的基本原理 ⒍ (計算機)信號與系統 從數字電路角度理解的計算機系統的介面與通訊 軟體方面:(最終應該達到可以閱讀並分析程序(不單指源碼);可以設計計算機程序系統) ⒈ 離散數學 ⒈ C語言程序設計 或 C++面向對象程序設計 或 Pascall語言程序設計 ⒉ 數據結構 計算機中數據的組織與管理方式(啟發式,非結論式) ⒊ 計算方法 計算機數值計算提高計算精度的方法 ⒋ 操作系統 計算機系統基礎管理軟體的組成與實現技術 ⒌ 編譯原理 從源碼到可執行代碼的翻譯過程快速有效的實現方法 ⒍ 資料庫系統概論 計算機中大批量數據的管理與檢索方法 ⒍ SQL Server資料庫 一個具體的資料庫系統的應用 ⒍ 軟體工程 從工程管理的角度來管理「軟體製造業」的方法 其它方向:(電子)信號與系統通信原理 計算機網路 TCP/IP技術分布式應用原理圖形學多媒體技術基礎 計算機專業課程自學參考 有人說,計算機專業的人編的程序要比非計算機專業的人編的要好.也許這是在大多數情況下適用的,但是並不是絕對的.你在這個方面經驗比別人多,研究的比別人深入,那你就比別人專業,所以要相信自己. 我本不是計算機專業的,但是本專業也學過許多計算機課程.准備把沒學的補補.下面是計算機專業課程,供大家自學參考,當然這些都是基礎. 一 離散數學,數據結構,計算機組成原理,匯編語言程序設計,面向對象技術,數據通信原理,數字電路與邏輯設計,程序設計課程設計,數據結構課程設計,計算機組成原理試驗,數字電路與邏輯設計試驗,計算機文化基礎,計算機程序設計,線性代數A,概率論與數理統計B,普通物理B,電路電子學 資料庫系統,操作系統,計算機網路,計算機系統結構,光通信技術,嵌入式系統設計, Internet與web編程,Cisio/Solaris網路體系設計與實現,綜合布線系統 編譯原理,數字系統設計VHDL,信號與系統,微機系統與介面技術,數字信號處理,軟體工程,IT項目管理,七號信令系統,電子商務概論,多媒體技術,UNIX操作系統,計算機信息安全移動通信,衛星通信,計算機系統維護技術 二 基礎方面:(應該無需解釋啦) ⒈ 高等數學 ⒉ 線性代數 ⒊ 復變函數與積分變換 ⒊ 概率統計 硬體方面:(最終應該達到可以看懂並分析電路圖;可以設計專用計算機系統的程度) ⒈ 電路分析基礎 一切電子方向的基礎 ⒉ 模擬電子技術基礎 一切電子方向的基礎(開始分化方向) ⒊ 數字電子技術基礎 數字電子(計算機)專業的基礎 ⒋ 計算機組成原理 抽象的數字電子的「可以用來計算的機器」的大原理 ⒌ 微機原理及介面技術 基於8086的PC微型計算機系統的原理 ⒌ IBM PC匯編語言程序設計 8086CPU指令系統程序設計 ⒌ 計算機系統與結構 抽象的數字電子計算機系統(非單指計算機)的原理 ⒌ 單片機及介面技術 單晶元計算機系統的基本原理 ⒍ (計算機)信號與系統 從數字電路角度理解的計算機系統的介面與通訊 軟體方面:(最終應該達到可以閱讀並分析程序(不單指源碼);可以設計計算機程序系統) ⒈ 離散數學 ⒈ C語言程序設計 或 C++面向對象程序設計 或 Pascall語言程序設計 ⒉ 數據結構 計算機中數據的組織與管理方式(啟發式,非結論式) ⒊ 計算方法 計算機數值計算提高計算精度的方法 ⒋ 操作系統 計算機系統基礎管理軟體的組成與實現技術 ⒌ 編譯原理 從源碼到可執行代碼的翻譯過程快速有效的實現方法 ⒍ 資料庫系統概論 計算機中大批量數據的管理與檢索方法 7 SQL Server資料庫 一個具體的資料庫系統的應用 8 軟體工程 從工程管理的角度來管理「軟體製造業」的方法 9 匯編語言 其它方向:(電子)信號與系統通信原理 計算機網路 TCP/IP技術分布式應用原理圖形學多媒體技術基礎 三 很多朋友可能跟我一樣,想學習計算機專業知識,又沒機會接受正規的大學計算機教育。在此我作為過來人跟大家談談自己自學的感受。 ★確立學習方向 計算機專業人才的培養目標有很多,就大學計算機專業的設置來看,大致可以概括為以下幾個方面: 一、計算機軟體與理論 本專業主要培養具有較強理論基礎和設計、開發軟體能力的軟體人才,以滿足軟體開發、技術管理、科學研究和高等教育等多層次的社會需要。 二、計算機應用技術 本專業主要培養計算機應用技術領域的各類開發、研究、應用人才。 畢業生適合的工作有:高等院校計算機科學與技術的教師和研究人員、中小型控制系統的設計實施人員、大型控制系統的應用人員、企業級MIS/ERP建設人員、基於Internet/Intranet的多媒體應用程序開發人員、數字通訊領域各類應用人員、大中型企業及涉外企業IT部門的工作人員。 三、計算機系統(體系)結構 本專業以並行處理、容錯計算等為主要研究方向,所開設的課程反映當前國內外計算機系統結構學科的發展水平。培養學生的計算機軟硬體基礎,以及熟練的以計算機為手段獨立研究與設計計算機系統的能力和計算機應用、軟體開發能力。 ★如何挑選教材 好的教材對於自學者來說是至關重要的,因此下面我們重點介紹一下適合自學用的計算機專業教材。 一、數學 數學是計算機專業的基礎,學好數學是學好計算機專業的關鍵。高等數學課程主要學習微積分、空間解析幾何和微分方程,一般高校通用的教材是同濟大學編的《高等數學》,目前已經有了第五版,也可以使用自考教材——西安交通大學陸慶樂編的《高等數學》,可以買一些配套的輔導書和習題解答。 還有兩門重要的數學課程是《線性代數》和《概率統計》。可以分別採用高等教育出版社出版、同濟大學編寫的《線性代數》和浙江大學編寫的《概率統計》。注意:自學一定要多做習題,而且最好一門課有一本習題解答和輔導書。 除了上面數學基礎課外,在計算機專業中舉足輕重的就是《離散數學》,這門課要多花點力氣來學。可以採用左孝凌教授等編的《離散數學》,上海科學技術文獻出版社。也可以用北大、清華的教材,還可以參考左教授編的自學教材,經濟科學出版社。 其他課程還有《復編函數》、《計算方法》等,有餘力的朋友可以選學。 二、專業基礎課 1.《程序設計》:學習內容一般為C和C++。C語言可以採用譚浩強教授的《C程序設計》,內容比較淺顯,C++方面的書推薦錢能編寫的《C++程序設計》,清華大學出版社。 2.《數據結構》:這門課程比較難,可以採用嚴蔚敏教授編寫的《數據結構(C語言版)》,有配套習題冊。好好做題,有時間多編幾個大的程序。 3.《模擬電路》和《數字電路》:這是難度較高的兩門課程,選用自考教材相對來說容易些,也可以參考清華大學出版社出版的相關教材。 三、專業課 1.《計算機組成原理》:推薦白中英主編的《計算機組成原理》(第三版),科學出版社;黃愛英主編的《計算機組成原理》(第三版),清華大學出版社。 2.《操作系統》:湯子贏編寫的《計算機操作系統》(第三版),西安電子科技大學出版社。還可以參考高教司司長張堯學教授編寫的教材,清華大學出版社。 3.《匯編語言》:可以用清華大學出版社出版的教材,也可以用自考教材。 4.《資料庫原理》:人民大學教授王珊編的《資料庫系統概論》(第三版),高等教育出版社,復旦大學施伯樂老師編寫的教材也不錯。 5.《編譯原理》:國防科技大學陳火旺院士編寫的教材十分不錯,最新版本是2000年出的,國防工業出版社。 四、選修課 包括計算機網路與通訊、軟體工程、圖形學、人工智慧、系統結構、圖形學等。此類課程的教材可選用全國高等教育自學考試指定教材,或參考各高校所採用的計算機專科和本科教材及配套輔導書。英文基礎好的朋友可以用國外著名大學的影印版教材。 需要提醒大家的是,除了教材,網上有許多相關課堂錄像和課件,有條件的朋友要充分利用。 我自己通過上述課程的學習和實踐,已經考完了計算機本科自學考試的大部分課程,並已通過計算機四級考試,下半年還准備參加高級程序員考試。希望我的經驗對大家能有所幫助。 總結一下,沒學過的課程大概有: 1.*離散數學 2.*計算機組成原理,*計算機系統結構,嵌入式系統設計,編譯原理,*Unix系統 3.*Internet與web編程,Cisio/Solaris網路體系設計與實現,*TCP/IP技術 4.綜合布線系統,信號與系統,數字信號處理,單片機及介面技術,分布式應用原理 5.*IT項目管理 6.多媒體 *號的一定會看,其他的課可能會看.除了以上的,其他基本都在本科學過.需要進一步加強的有: 1.匯編語言,操作系統,微機原理 2.資料庫,計算機網路,軟體工程. 補充:研一第一學期計算機專業課: 並行程序設計,演算法設計與分析,組合數學,高級計算機網路,程序設計語言理論,高級資料庫系統,現代密碼學理論與實踐,智能計算模型與方法,高級計算機圖形學,計算機輔助設計與製造,嵌入式系統設計方法、工具與環境,高性能處理器體系結構,資料庫技術前沿,人工智慧前沿,軟體安全的理論與方法,普適計算

G. 推薦一本資料庫原理的好書。中文的,如果是翻譯的,要公認翻譯的不錯的。

計算機科學與技術學習反思錄
計算機理論的一個核心問題--從數學談起:
記得當年大一入學,每周六課時高等數學,天天作業不斷(那時是六日工作制)。頗有些同學驚呼走錯了門:咱們這到底念的是什麼系?不錯,你沒走錯門,這就是計算機科學與技術系。我國計算機科學系裡的傳統是培養做學術研究,尤其是理論研究的人(方向不見得有問題,但是做得不是那麼盡如人意)。而計算機的理論研究,說到底了,如網路安全,圖形圖像學,視頻音頻處理,哪個方向都與數學有著很大的關系,雖然也許是正統數學家眼裡非主流的數學。這里我還想闡明我的一個觀點:我們都知道,數學是從實際生活當中抽象出來的理論,人們之所以要將實際抽象成理論,目的就在於想用抽象出來的理論去更好的指導實踐,有些數學研究工作者喜歡用一些現存的理論知識去推導若干條推論,殊不知其一:問題考慮不全很可能是個錯誤的推論,其二:他的推論在現實生活中找不到原型,不能指導實踐。嚴格的說,我並不是一個理想主義者,政治課上學的理論聯系實際一直是指導我學習科學文化知識的航標(至少我認為搞計算機科學與技術的應當本著這個方向)。
其實我們計算機系學數學光學高等數學是不夠的(典型的工科院校一般都開的是高等數學),我們應該像數學系一樣學一下數學分析(清華計算機系開的好像就是數學分析),數學分析這門科學,咱們學計算機的人對它有很復雜的感情。在於它是偏向於證明型的數學課程,這對我們培養良好的分析能力極有幫助。我的軟體工程學導師北工大數理學院的王儀華先生就曾經教導過我們,數學系的學生到軟體企業中大多作軟體設計與分析工作,而計算機系的學生做程序員的居多,原因就在於數學系的學生分析推理能力,從所受訓練的角度上要遠遠在我們之上。當年出現的怪現象是:計算機系學生的高中數學基礎在全校數一數二(希望沒有冒犯其它系的同學),教學課時數也僅次於數學系,但學完之後的效果卻不盡如人意。難道都是學生不努力嗎,我看未見得,方向錯了也說不一定,其中原因何在,發人深思。
我個人的淺見是:計算機系的學生,對數學的要求固然跟數學系不同,跟物理類差別則更大。通常非數學專業的所謂「高等數學」,無非是把數學分析中較困難的理論部分刪去,強調套用公式計算而已。而對計算機系來說,數學分析里用處最大的恰恰是被刪去的理論部分。說得難聽一點,對計算機系學生而言,追求算來算去的所謂「工程數學」已經徹底地走進了誤區。記上一堆曲面積分的公式,難道就能算懂了數學?那倒不如現用現查,何必費事記呢?再不然直接用Mathematics或是Matalab好了。
我在系裡最愛做的事情就是給學弟學妹們推薦參考書。中文的數學分析書,一般都認為以北大張築生老師的「數學分析新講」為最好。萬一你的數學實在太好,那就去看菲赫金哥爾茨的「微積分學教程」好了--但我認為沒什麼必要,畢竟你不想轉到數學系去。吉米多維奇的「數學分析習題集」也基本上是計算型的東東。書的名氣很大,倒不見得適合我們,還是那句話,重要的是數學思想的建立,生活在信息社會里我們求的是高效,計算這玩意還是留給計算機吧。不過現在多用的似乎是復旦大學的《數學分析》也是很好的教材。
中國的所謂高等代數,就等於線性代數加上一點多項式理論。我以為這有好的一面,因為可以讓學生較早感覺到代數是一種結構,而非一堆矩陣翻來覆去。這里不得不提南京大學林成森,盛松柏兩位老師編的「高等代數」,感覺相當舒服。此書相當全面地包含了關於多項式和線性代數的基本初等結果,同時還提供了一些有用的又比較深刻的內容,如Sturm序列,Shermon-Morrison公式,廣義逆矩陣等等。可以說,作為本科生如能吃透此書,就可以算高手。國內較好的高等代數教材還有清華計算機系用的那本,清華出版社出版,書店裡多多,一看就知道。從抽象代數的觀點來看,高等代數里的結果不過是代數系統性質的一些例子而已。莫宗堅先生的《代數學》里,對此進行了深刻的討論。然而莫先生的書實在深得很,作為本科生恐怕難以接受,不妨等到自己以後成熟了一些再讀。
正如上面所論述的,計算機系的學生學習高等數學:知其然更要知其所以然。你學習的目的應該是:將抽象的理論再應用於實踐,不但要掌握題目的解題方法,更要掌握解題思想,對於定理的學習:不是簡單的應用,而是掌握證明過程即掌握定理的由來,訓練自己的推理能力。只有這樣才達到了學習這門科學的目的,同時也縮小了我們與數學系的同學之間思維上的差距。
概率論與數理統計這門課很重要,可惜大多數院校講授這門課都會少些東西。少了的東西現在看至少有隨機過程。到畢業還沒有聽說過Markov過程,此乃計算機系學生的恥辱。沒有隨機過程,你怎麼分析網路和分布式系統?怎麼設計隨機化演算法和協議?據說清華計算機系開有「隨機數學」,早就是必修課。另外,離散概率論對計算機系學生來說有特殊的重要性。而我們國家工程數學講的都是連續概率。現在,美國已經有些學校開設了單純的「離散概率論」課程,乾脆把連續概率刪去,把離散概率講深些。我們不一定要這么做,但應該更加強調離散概率是沒有疑問的。這個工作我看還是盡早的做為好。
計算方法學(有些學校也稱為數學分析學)是最後一門由數理學院給我們開的課。一般學生對這門課的重視程度有限,以為沒什麼用。不就是照套公式嘛!其實,做圖形圖像可離不開它,密碼學搞深了也離不開它。而且,在很多科學工程中的應用計算,都以數值的為主。這門課有兩個極端的講法:一個是古典的「數值分析」,完全講數學原理和演算法;另一個是現在日趨流行的「科學與工程計算」,乾脆教學生用軟體包編程。我個人認為,計算機系的學生一定要認識清楚我們計算機系的學生為什麼要學這門課,我是很偏向於學好理論後用計算機實現的,最好使用C語言或C++編程實現。向這個方向努力的書籍還是挺多的,這里推薦大家高等教育出版社(CHEP)和施普林格出版社(Springer)聯合出版的《計算方法(Computational Methods)》,華中理工大學數學系寫的(現華中科技大學),這方面華科大做的工作在國內應算是比較多的,而個人認為以這本最好,至少程序設計方面涉及了:任意數學函數的求值,方程求根,線性方程組求解,插值方法,數值積分,場微分方程數值求解。李慶揚的那本則理論性過強,與實際應用結合得不太緊。
每個學校本系裡都會開一門離散數學,涉及集合論,圖論,和抽象代數,數理邏輯。不過,這么多內容擠在離散數學一門課里,是否時間太緊了點?另外,計算機系學生不懂組合和數論,也是巨大的缺陷。要做理論,不懂組合或者數論吃虧可就太大了。從理想的狀態來看,最好分開六門課:集合,邏輯,圖論,組合,代數,數論。這個當然不現實,因為沒那麼多課時。也許將來可以開三門課:集合與邏輯,圖論與組合,代數與數論。(這方面我們學校已經著手開始做了)不管課怎麼開,學生總一樣要學。下面分別談談上面的三組內容。
古典集合論,北師大出過一本《基礎集合論》不錯。
數理邏輯,中科院軟體所陸鍾萬教授的《面向計算機科學的數理邏輯》就不錯。現在可以找到陸鍾萬教授的講課錄像,自己去看看吧。總的來說,學集合/邏輯起手不難,普通高中生都能看懂。但越往後越感覺深不可測。
學完以上各書之後,如果你還有精力興趣進一步深究,那麼可以試一下GTM系列中的《Introction to Axiomatic Set Theory》和《A Course of Mathematical Logic》。這兩本都有世界圖書出版社的引進版。你如果能搞定這兩本,可以說在邏輯方面真正入了門,也就不用再浪費時間聽我瞎侃了。
據說全中國最多隻有三十個人懂圖論。此言不虛。圖論這東東,技巧性太強,幾乎每個問題都有一個獨特的方法,讓人頭痛。不過這也正是它魅力所在:只要你有創造性,它就能給你成就感。我的導師說,圖論裡面隨便揪一塊東西就可以寫篇論文。大家可以體會裡面內容之深廣了吧!國內的圖論書中,王樹禾老師的「圖論及其演算法」非常成功。一方面,其內容在國內教材里算非常全面的。另一方面,其對演算法的強調非常適合計算機系(本來就是科大計算機系教材)。有了這本書為主,再參考幾本翻譯的,如Bondy & Murty的《圖論及其應用》,人民郵電出版社翻譯的《圖論和電路網路》等等,就馬馬虎虎,對本科生足夠了。再進一步,世界圖書引進有GTM系列的"Modern Graph Theory"。此書確實經典!國內好象還有一家出版了個翻譯版。不過,學到這個層次,還是讀原版好。搞定這本書,也標志著圖論入了門。 外版的書好就好在這里,最新的科技成果裡面都有論述,別的先不說,至少是「緊跟時代的理論知識」。
組合感覺沒有太適合的國產書。還是讀Graham和Knuth等人合著的經典「具體數學」吧,西安電子科技大學出版社有翻譯版。
抽象代數,國內經典為莫宗堅先生的「代數學」。此書是北大數學系教材,深得好評。然而對本科生來說,此書未免太深。可以先學習一些其它的教材,然後再回頭來看「代數學」。國際上的經典可就多了,GTM系列裡就有一大堆。推薦一本談不上經典,但卻最簡單的,最容易學的:這本「Introction to Linear and Abstract Algebra"非常通俗易懂,而且把抽象代數和線性代數結合起來,對初學者來說非常理想,我校比較牛的同學都有收藏。
數論方面,國內有經典而且以困難著稱的」初等數論「(潘氏兄弟著,北大版)。再追溯一點,還有更加經典(可以算世界級)並且更加困難的」數論導引「(華羅庚先生的名著,科學版,九章書店重印,繁體的看起來可能比較困難)。把基礎的幾章搞定一個大概,對本科生來講足夠了。但這只是初等數論。本科畢業後要學計算數論,你必須看英文的書,如Bach的"Introction to Algorithmic Number Theory"。
計算機科學理論的根本,在於演算法。現在很多系裡給本科生開設演算法設計與分析,確實非常正確。環顧西方世界,大約沒有一個三流以上計算機系不把演算法作為必修的。演算法教材目前公認以Corman等著的"Introction to Algorithms"為最優。對入門而言,這一本已經足夠,不需要再參考其它書。
再說說形式語言與自動機。我看過北郵的教材,應該說寫的還清楚。但是,有一點要強調:形式語言和自動機的作用主要在作為計算模型,而不是用來做編譯。事實上,編譯前端已經是死領域,沒有任何open problems,北科大的班曉娟博士也曾經說過,編譯的技術已相當成熟。如果為了這個,我們完全沒必要去學形式語言--用用yacc什麼的就完了。北郵的那本在國內還算比較好,但是在深度上,在跟可計算性的聯繫上都有較大的局限,現代感也不足。所以建議有興趣的同學去讀英文書,不過國內似乎沒引進這方面的教材。可以去互動出版網上看一看。入門以後,把形式語言與自動機中定義的模型,和數理邏輯中用遞歸函數定義的模型比較一番,可以說非常有趣。現在才知道,什麼叫「宮室之美,百官之富」!
計算機科學和數學的關系有點奇怪。二三十年以前,計算機科學基本上還是數學的一個分支。而現在,計算機科學擁有廣泛的研究領域和眾多的研究人員,在很多方面反過來推動數學發展,從某種意義上可以說是孩子長得比媽媽還高了。但不管怎麼樣,這個孩子身上始終流著母親的血液。這血液是the mathematical underpinning of computer science(計算機科學的數學基礎),也就是理論計算機科學。原來在東方大學城圖書館中曾經看過一本七十年代的譯本(書皮都沒了,可我就愛關注這種書),大概就叫《計算機數學》。那本書若是放在當時來講決是一本好書,但現在看來,涵蓋的范圍還算廣,深度則差了許多,不過推薦大一的學生倒可以看一看,至少可以使你的計算數學入入門。
最常和理論計算機科學放在一起的一個詞是什麼?答:離散數學。這兩者的關系是如此密切,以至於它們在不少場合下成為同義詞。(這一點在前面的那本書中也有體現)傳統上,數學是以分析為中心的。數學系的同學要學習三四個學期的數學分析,然後是復變函數,實變函數,泛函數等等。實變和泛函被很多人認為是現代數學的入門。在物理,化學,工程上應用的,也以分析為主。
隨著計算機科學的出現,一些以前不太受到重視的數學分支突然重要起來。人們發現,這些分支處理的數學對象與傳統的分析有明顯的區別:分析研究的問題解決方案是連續的,因而微分,積分成為基本的運算;而這些分支研究的對象是離散的,因而很少有機會進行此類的計算。人們從而稱這些分支為「離散數學」。「離散數學」的名字越來越響亮,最後導致以分析為中心的傳統數學分支被相對稱為「連續數學」。
離散數學經過幾十年發展,基本上穩定下來。一般認為,離散數學包含以下學科 :
1) 集合論,數理邏輯與元數學。這是整個數學的基礎,也是計算機科學的基礎。
2) 圖論,演算法圖論;組合數學,組合演算法。計算機科學,尤其是理論計算機科學的核心是
演算法,而大量的演算法建立在圖和組合的基礎上。
3) 抽象代數。代數是無所不在的,本來在數學中就非常重要。在計算機科學中,人們驚訝地發現代數竟然有如此之多的應用。
但是,理論計算機科學僅僅就是在數學的上面加上「離散」的帽子這么簡單嗎?一直到大約十幾年前,終於有一位大師告訴我們:不是。D.E.Knuth(他有多偉大,我想不用我廢話了)在Stanford開設了一門全新的課程Concrete Mathematics。 Concrete這個詞在這里有兩層含義:
首先:對abstract而言。Knuth認為,傳統數學研究的對象過於抽象,導致對具體的問題關心不夠。他抱怨說,在研究中他需要的數學往往並不存在,所以他只能自己去創造一些數學。為了直接面向應用的需要,他要提倡「具體」的數學。在這里我做一點簡單的解釋。例如在集合論中,數學家關心的都是最根本的問題--公理系統的各種性質之類。而一些具體集合的性質,各種常見集合,關系,映射都是什麼樣的,數學家覺得並不重要。然而,在計算機科學中應用的,恰恰就是這些具體的東西。Knuth能夠首先看到這一點,不愧為當世計算機第一人。其次,Concrete是Continuous(連續)加上discrete(離散)。不管連續數學還是離散數學,都是有用的數學!
理論與實際的結合--計算機科學研究的范疇
前面主要是從數學角度來看的。從計算機角度來看,理論計算機科學目前主要的研究領域包括:可計算性理論,演算法設計與復雜性分析,密碼學與信息安全,分布式計算理論,並行計算理論,網路理論,生物信息計算,計算幾何學,程序語言理論等等。這些領域互相交叉,而且新的課題在不斷提出,所以很難理出一個頭緒來。想搞搞這方面的工作,推薦看中國計算機學會的一系列書籍,至少代表了我國的權威。下面隨便舉一些例子。
由於應用需求的推動,密碼學現在成為研究的熱點。密碼學建立在數論(尤其是計算數論),代數,資訊理論,概率論和隨機過程的基礎上,有時也用到圖論和組合學等。很多人以為密碼學就是加密解密,而加密就是用一個函數把數據打亂。這樣的理解太淺顯了。

現代密碼學至少包含以下層次的內容:

第一,密碼學的基礎。例如,分解一個大數真的很困難嗎?能否有一般的工具證明協議正確?

第二,密碼學的基本課題。例如,比以前更好的單向函數,簽名協議等。

第三,密碼學的高級問題。例如,零知識證明的長度,秘密分享的方法。

第四,密碼學的新應用。例如,數字現金,叛徒追蹤等。

在分布式系統中,也有很多重要的理論問題。例如,進程之間的同步,互斥協議。一個經典的結果是:在通信信道不可靠時,沒有確定型演算法能實現進程間協同。所以,改進TCP三次握手幾乎沒有意義。例如時序問題。常用的一種序是因果序,但因果序直到不久前才有一個理論上的結果....例如,死鎖沒有實用的方法能完美地對付。例如,......操作系統研究過就自己去舉吧!

如果計算機只有理論,那麼它不過是數學的一個分支,而不成為一門獨立的科學。事實上,在理論之外,計算機科學還有更廣闊的天空。

我一直認為,4年根本不夠學習計算機的基礎知識,因為面太寬了,8年,應該差不多了......

這方面我想先說說我們系在各校普遍開設的《計算機基礎》。在高等學校開設《計算機基礎課程》是我國高教司明文規定的各專業必修課程要求。主要內容是使學生初步掌握計算機的發展歷史,學會簡單的使用操作系統,文字處理,表格處理功能和初步的網路應用功能。但是在計算機科學系教授此門課程的目標決不能與此一致。在計算機系課程中目標應是:讓學生較為全面的了解計算機學科的發展,清晰的把握計算機學科研究的方向,發展的前沿即每一個課程在整個學科體系中所處的地位。搞清各學科的學習目的,學習內容,應用領域。使學生在學科學習初期就對整個學科有一個整體的認識,以做到在今後的學習中清楚要學什麼,怎麼學。計算機基本應用技能的位置應當放在第二位或更靠後,因為這一點對於本系的學生應當有這個摸索能力。這一點很重要。推薦給大家一本書:機械工業出版社的《計算機文化》(New Perspective of Computer Science),看了這本書我才深刻的體會到自己還是個計算機科學初學者,才比較透徹的了解了什麼是計算機科學。

一個一流計算機系的優秀學生決不該僅僅是一個編程高手,但他一定首先是一個編程高手。我上大學的時候,第一門專業課是C語言程序設計,念計算機的人從某種角度講相當一部分人是靠寫程序吃飯的。關於第一程序設計語言該用哪一種。我個人認為,用哪種語言屬於末節,關鍵在養成良好的編程習慣。當年老師對我們說,打好基礎後學一門新語言只要一個星期。現在我覺得根本不用一個星期,前提是先把基礎打好。不要再猶豫了,學了再說,等你抉擇好了,別人已經會了幾門語言了。

匯編語言和微機原理是兩門特煩人的課。你的數學/理論基礎再好,也占不到什麼便宜。這兩門課之間的次序也好比先有雞還是先有蛋,無論你先學哪門,都會牽扯另一門課里的東西。所以,只能靜下來慢慢琢磨。這就是典型的工程課,不需要太多的聰明和頓悟,卻需要水滴石穿的漸悟。有關這兩門課的書,計算機書店裡不難找到。弄幾本最新的,對照著看吧。組成原理推薦《計算機組成與結構》清華大學王愛英教授寫的。匯編語言大家拿8086/8088入個門,之後一定要學80x86匯編語言。實用價值大,不落後,結構又好,寫寫高效病毒,高級語言里嵌一點匯編,進行底層開發,總也離不開他,推薦清華大學沈美明的《IBM-PC匯編語言程序設計》。有些人說不想了解計算機體系結構,也不想製造計算機,所以諸如計算機原理,匯編語言,介面之類的課覺得沒必要學,這樣合理嗎?顯然不合理,這些東西遲早得掌握,肯定得接觸,而且,這是計算機專業與其他專業學生相比的少有的幾項優勢。做項目的時候,了解這些是非常重要的,不可能說,僅僅為了技術而技術,只懂技術的人最多做一個編碼工人,而永遠不可能全面地了解整個系統的設計,而編碼工人是越老越不值錢。關於組成原理還有個講授的問題,在我學這門課程時老師講授時把CPU工作原理譽微程序設計這一塊略掉了,理由是我們國家搞CPU技術不如別的國家,搞了這么長時間好不容易出了個龍芯比Intel的還差個十萬八千里,所以建議我們不要學了。我看這在各校也未見得不是個問題吧!若真是如他所說,那中國的計算機科學哪個方向都可以停了,軟硬體,應用,有幾項搞得過美國,搞不過別人就不搞了,那我們坐在這里干什麼?教學的觀念需要轉變的。

模擬電路這東東,如今不僅計算機系學生搞不定,電子系學生也多半害怕。如果你真想軟硬體通吃,那麼建議你先看看邱關源的「電路原理」,也許此後再看模擬電路底氣會足些。教材:康華光的「電子技術基礎」(高等教育出版社)還是不錯的(我校電子系在用)。有興趣也可以參考童詩白的書。

數字電路比模擬電路要好懂得多。清華大學閻石的書算一本好教材,遺憾的一點是集成電路講少了些。真有興趣,看一看大規模數字系統設計吧(北航那本用的還比較多)。

計算機系統結構該怎麼教,國際上還在爭論。國內能找到的較好教材為Stallings的"Computer Organization and Architecture:Designing for Performance"(清華影印
本)。國際上最流行的則是「Computer architecture: aquantitative approach", by Patterson & Hennessy。

操作系統可以隨便選用《操作系統的內核設計與實現》和《現代操作系統》兩書之一。這兩部都可以算經典,唯一缺點就是理論上不夠嚴格。不過這領域屬於Hardcore System,所以在理論上馬虎一點也情有可原。想看理論方面的就推薦清華大學出版社《操作系統》吧,高教司司長張堯學寫的,我們教材用的是那本。 另外推薦一本《Windows操作系統原理》機械工業出版社的,這本書是我國操作系統專家在微軟零距離考察半年,寫作歷時一年多寫成的,教操作系統的專家除了清華大學的張堯學(現高教司司長)幾乎所有人都參加了。Bill Gates親自寫序。裡面不但結合windows2000,xp詳述操作系統的內核,而且後面講了一些windows編程基礎,有外版書的味道,而且上面一些內容可以說在國內外只有那本書才有對windows內核細致入微的介紹,

如果先把形式語言學好了,則編譯原理中的前端我看只要學四個演算法:最容易實現的遞歸下降;最好的自頂向下演算法LL(k);最好的自底向上演算法LR(k);LR(1)的簡化SLR(也許還有另一簡化LALR)。後端完全屬於工程性質,自然又是another story。

推薦教材:Kenneth C.Louden寫的「Compiler Construction Principles and Practice」即是《編譯原理及實踐》(機械工業出版社的譯本)

學資料庫要提醒大家的是,會用VFP,VB, Power builder不等於懂資料庫。(這世界上自以為懂資料庫的人太多了!)資料庫設計既是科學又是藝術,資料庫實現則是典型的工程。所以從某種意義上講,資料庫是最典型的一門計算機課程--理工結合,互相滲透。另外推薦大家學完軟體工程學後再翻過來看看資料庫技術,又會是一番新感覺。推薦教材:Abraham Silberschatz等著的 "Database System Concepts".作為知識的完整性,還推薦大家看一看機械工業出版社的《數據倉庫》譯本。

計算機網路的標准教材還是來自Tanenbaum的《Computer Networks》(清華大學有譯本)。還有就是推薦謝希仁的《計算機網路教程》(人民郵電出版社)問題講得比較清楚,參考文獻也比較權威。不過,網路也屬於Hardcore System,所以光看書是不夠的。建議多讀RFC,里可以按編號下載RFC文檔。從IP的讀起。等到能掌握10種左右常用協議,就沒有幾個人敢小看你了。再做的工作我看放在網路設計上就比較好了。

數據結構的重要性就不言而喻了,學完數據結構你會對你的編程思想進行一番革命性的洗禮,會對如何建立一個合理高效的演算法有一個清楚的認識。對於演算法的建立我想大家應當注意以下幾點:

當遇到一個演算法問題時,首先要知道自己以前有沒有處理過這種問題.如果見過,那麼你一般會順利地做出來;如果沒見過,那麼考慮以下問題:

1. 問題是否是建立在某種已知的熟悉的數據結構(例如,二叉樹)上?如果不是,則要自己設計數據結構。

2. 問題所要求編寫的演算法屬於以下哪種類型?(建立數據結構,修改數據結構,遍歷,查找,排序...)

3. 分析問題所要求編寫的演算法的數學性質.是否具備遞歸特徵?(對於遞歸程序設計,只要設計出合理的參數表以及遞歸結束的條件,則基本上大功告成.)

4. 繼續分析問題的數學本質.根據你以前的編程經驗,設想一種可能是可行的解決辦法,並證明這種解決辦法的正確性.如果題目對演算法有時空方面的要求,證明你的設想滿足其要求.一般的,時間效率和空間效率難以兼得.有時必須通過建立輔助存儲的方法來節省時間.

5. 通過一段時間的分析,你對解決這個問題已經有了自己的一些思路.或者說,你已經可以用自然語言把你的演算法簡單描述出來.繼續驗證其正確性,努力發現其中的錯誤並找出解決辦法.在必要的時候(發現了無法解決的矛盾),推翻自己的思路,從頭開始構思.

6. 確認你的思路可行以後,開始編寫程序.在編寫代碼的過程中,盡可能把各種問題考慮得詳細,周密.程序應該具有良好的結構,並且在關鍵的地方配有注釋.

7. 舉一個例子,然後在紙上用筆執行你的程序,進一步驗證其正確性.當遇到與你的設想不符的情況時,分析問題產生的原因是編程方面的問題還是演算法思想本身有問題.

8. 如果程序通過了上述正確性驗證,那麼在將其進一步優化或簡化。

9. 撰寫思路分析,注釋.

對於具體的演算法思路,只能靠你自己通過自己的知識和經驗來加以獲得,沒有什麼特定的規律(否則程序員全部可以下崗了,用機器自動生成代碼就可以了).要有豐富的想像力,就是說當一條路走不通時,不要鑽牛角尖,要敢於推翻自己的想法.我也只不過是初學者,說出上面的一些經驗,僅供大家參考和討論。

關於人工智慧,我覺得的也是非常值得大家仔細研究的,雖然不能算是剛剛興起的學科了,但是絕對是非常有發展前途的一門學科。我國人工智慧創始人之一,北京科技大學塗序彥教授(這老先生是我的導師李小堅博士的導師)對人工智慧這樣定義:人工智慧是模?

H. 大學計算機專業用什麼教材

一、需要的專業教材:

1、資料庫方面:王珊等編的《資料庫系統概論(第4版)》 高教版。

2、數據結構方面: 《數據結構》,清華嚴蔚敏版。

3、還有經典教材《操作系統設計與實現(第三版)》陳渝 譯 電子工業出版社等

4、當然還有 《計算機系統結構》用西電的就行了,還有西電的《計算機操作系統(第 三 版) 》 ,《計算機組成原理》 作者唐朔飛,是高教版。

二、數學課程:

高等教育出版社出版的《線性代數》和浙江大學編寫《概率統計》。

《離散數學》,用左孝凌教授等編的就可以,上海科學技術文獻出版社。還可以參考左教授編的自學教材,經濟科學出版社,也可以用北大、清華的教材。

《復編函數》、《計算方法》等也可以學一下。

三、英語課程:

可以選擇《計算機英語學生用書》清華大學出版社,姜同強主編。

(8)編譯原理及實踐影印版擴展閱讀

計算機科學與另外的一些學科緊密相關。這些學科之間有明顯的交叉領域,但也有明顯的差異。

1、信息科學—信息科學是指以信息為主要研究對象,以信息的運動規律和應用方法為主要研究內容,以計算機等技術為主要研究工具,以擴展人類的信息功能為主要目標的一門新興的綜合性學科。信息科學由資訊理論、控制論、計算機科學、仿生學、系統工程與人工智慧等學科互相滲透、互相結合而形成的。

2、軟體工程–(Software Engineering,簡稱為SE)是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科。它涉及到程序設計語言,資料庫,軟體開發工具,系統平台,標准,設計模式等方面。在現代社會中,軟體應用於多個方面。

典型的軟體比如有電子郵件,嵌入式系統,人機界面,辦公套件,操作系統,編譯器,資料庫,游戲,app等。同時,各個行業幾乎都有計算機軟體的應用,比如工業,農業,銀行,航空,政府部門等。這些應用促進了經濟和社會的發展,使得人們的工作更加高效,同時提高了生活質量。

3、信息系統–所謂MIS(信息系統--Management Information System)系統 ,是一個由人、計算機及其他外圍設備等組成的能進行信息的收集、傳遞、存貯、加工、維護和使用的系統。

它是一門新興的科學,其主要任務是最大限度的利用現代計算機及網路通訊技術加強企業的信息管理,通過對企業擁有的人力、物力、財力、設備、技術等資源的調查了解,建立正確的數據,加工處理並編製成各種信息資料及時提供給管理人員,以便進行正確的決策,不斷提高企業的管理水平和經濟效益。

目前,企業的計算機網路已成為企業進行技術改造及提高企業管理水平的重要手段。

4、計算機工程–(也稱為電子和計算機工程或計算機系統工程)是一門學科,結合內容都電氣工程和計算機科學。計算機工程師正電氣工程師有更多的培訓領域的軟體設計和硬體,軟體一體化。反過來,他們注重減少對電力電子學和物理學。

電腦工程師都參與了許多方面的計算,從設計的個別處理器,個人電腦,和超級計算機,以電路設計。這一工程的許多子系統監控機動車輛。

5、信息安全 –本專業是計算機、通信、數學、物理、法律、管理等學科的交叉學科,主要研究確保信息安全的科學與技術。培養能夠從事計算機、通信、電子商務、電子政務、電子金融等領域的信息安全高級專門人才。

密碼學-是研究編制密碼和破譯密碼的技術科學。研究密碼變化的客觀規律,應用於編制密碼以保守通信秘密的,稱為編碼學;應用於破譯密碼以獲取通信情報的,稱為破譯學。



I. 自學計算機看書順序

計算機專業課程自學參考

有人說,計算機專業的人編的程序要比非計算機專業的人編的要好.也許這是在大多數情況下適用的,但是並不是絕對的.你在這個方面經驗比別人多,研究的比別人深入,那你就比別人專業,所以要相信自己.

我本不是計算機專業的,但是本專業也學過許多計算機課程.准備把沒學的補補.下面是計算機專業課程,供大家自學參考,當然這些都是基礎.

離散數學,數據結構,計算機組成原理,匯編語言程序設計,面向對象技術,數據通信
原理,數字電路與邏輯設計,程序設計課程設計,數據結構課程設計,計算機組成原理試驗,
數字電路與邏輯設計試驗,計算機文化基礎,計算機程序設計,線性代數A,概率論與數理統計B,
普通物理B,電路電子學

資料庫系統,操作系統,計算機網路,計算機系統結構,光通信技術,嵌入式系統設計,
Internet與web編程,Cisio/Solaris網路體系設計與實現,綜合布線系統

編譯原理,數字系統設計VHDL,信號與系統,微機系統與介面技術,數字信號處理,
軟體工程,IT項目管理,七號信令系統,電子商務概論,多媒體技術,UNIX操作系統,計算機信息安全移動通信,衛星通信,計算機系統維護技術

基礎方面:(應該無需解釋啦)
⒈ 高等數學
⒉ 線性代數
⒊ 復變函數與積分變換
⒊ 概率統計

硬體方面:(最終應該達到可以看懂並分析電路圖;可以設計專用計算機系統的程度)
⒈ 電路分析基礎 一切電子方向的基礎
⒉ 模擬電子技術基礎 一切電子方向的基礎(開始分化方向)
⒊ 數字電子技術基礎 數字電子(計算機)專業的基礎
⒋ 計算機組成原理 抽象的數字電子的「可以用來計算的機器」的大原理
⒌ 微機原理及介面技術 基於8086的PC微型計算機系統的原理
⒌ IBM PC匯編語言程序設計 8086CPU指令系統程序設計
⒌ 計算機系統與結構 抽象的數字電子計算機系統(非單指計算機)的原理
⒌ 單片機及介面技術 單晶元計算機系統的基本原理
⒍ (計算機)信號與系統 從數字電路角度理解的計算機系統的介面與通訊

軟體方面:(最終應該達到可以閱讀並分析程序(不單指源碼);可以設計計算機程序系統)
⒈ 離散數學
⒈ C語言程序設計 或 C++面向對象程序設計 或 Pascall語言程序設計
⒉ 數據結構 計算機中數據的組織與管理方式(啟發式,非結論式)
⒊ 計算方法 計算機數值計算提高計算精度的方法
⒋ 操作系統 計算機系統基礎管理軟體的組成與實現技術
⒌ 編譯原理 從源碼到可執行代碼的翻譯過程快速有效的實現方法
⒍ 資料庫系統概論 計算機中大批量數據的管理與檢索方法
7 SQL Server資料庫 一個具體的資料庫系統的應用
8 軟體工程 從工程管理的角度來管理「軟體製造業」的方法
9 匯編語言

其它方向:
(電子)信號與系統
通信原理
計算機網路
TCP/IP技術
分布式應用原理
圖形學
多媒體技術基礎

很多朋友可能跟我一樣,想學習計算機專業知識,又沒機會接受正規的大學計算機教育。在此我作為過來人跟大家談談自己自學的感受。

★確立學習方向

計算機專業人才的培養目標有很多,就大學計算機專業的設置來看,大致可以概括為以下幾個方面:

一、計算機軟體與理論

本專業主要培養具有較強理論基礎和設計、開發軟體能力的軟體人才,以滿足軟體開發、技術管理、科學研究和高等教育等多層次的社會需要。

二、計算機應用技術

本專業主要培養計算機應用技術領域的各類開發、研究、應用人才。

畢業生適合的工作有:高等院校計算機科學與技術的教師和研究人員、中小型控制系統的設計實施人員、大型控制系統的應用人員、企業級MIS/ERP建設人員、基於Internet/Intranet的多媒體應用程序開發人員、數字通訊領域各類應用人員、大中型企業及涉外企業IT部門的工作人員。

三、計算機系統(體系)結構

本專業以並行處理、容錯計算等為主要研究方向,所開設的課程反映當前國內外計算機系統結構學科的發展水平。培養學生的計算機軟硬體基礎,以及熟練的以計算機為手段獨立研究與設計計算機系統的能力和計算機應用、軟體開發能力。

★如何挑選教材

好的教材對於自學者來說是至關重要的,因此下面我們重點介紹一下適合自學用的計算機專業教材。

一、數學

數學是計算機專業的基礎,學好數學是學好計算機專業的關鍵。高等數學課程主要學習微積分、空間解析幾何和微分方程,一般高校通用的教材是同濟大學編的《高等數學》,目前已經有了第五版,也可以使用自考教材——西安交通大學陸慶樂編的《高等數學》,可以買一些配套的輔導書和習題解答。

還有兩門重要的數學課程是《線性代數》和《概率統計》。可以分別採用高等教育出版社出版、同濟大學編寫的《線性代數》和浙江大學編寫的《概率統計》。注意:自學一定要多做習題,而且最好一門課有一本習題解答和輔導書。

除了上面數學基礎課外,在計算機專業中舉足輕重的就是《離散數學》,這門課要多花點力氣來學。可以採用左孝凌教授等編的《離散數學》,上海科學技術文獻出版社。也可以用北大、清華的教材,還可以參考左教授編的自學教材,經濟科學出版社。

其他課程還有《復編函數》、《計算方法》等,有餘力的朋友可以選學。

二、專業基礎課

1.《程序設計》:學習內容一般為C和C++。C語言可以採用譚浩強教授的《C程序設計》,內容比較淺顯,C++方面的書推薦錢能編寫的《C++程序設計》,清華大學出版社。

2.《數據結構》:這門課程比較難,可以採用嚴蔚敏教授編寫的《數據結構(C語言版)》,有配套習題冊。好好做題,有時間多編幾個大的程序。

3.《模擬電路》和《數字電路》:這是難度較高的兩門課程,選用自考教材相對來說容易些,也可以參考清華大學出版社出版的相關教材。

三、專業課

1.《計算機組成原理》:推薦白中英主編的《計算機組成原理》(第三版),科學出版社;黃愛英主編的《計算機組成原理》(第三版),清華大學出版社。

2.《操作系統》:湯子贏編寫的《計算機操作系統》(第三版),西安電子科技大學出版社。還可以參考高教司司長張堯學教授編寫的教材,清華大學出版社。

3.《匯編語言》:可以用清華大學出版社出版的教材,也可以用自考教材。

4.《資料庫原理》:人民大學教授王珊編的《資料庫系統概論》(第三版),高等教育出版社,復旦大學施伯樂老師編寫的教材也不錯。

5.《編譯原理》:國防科技大學陳火旺院士編寫的教材十分不錯,最新版本是2000年出的,國防工業出版社。

四、選修課

包括計算機網路與通訊、軟體工程、圖形學、人工智慧、系統結構、圖形學等。此類課程的教材可選用全國高等教育自學考試指定教材,或參考各高校所採用的計算機專科和本科教材及配套輔導書。英文基礎好的朋友可以用國外著名大學的影印版教材。

需要提醒大家的是,除了教材,網上有許多相關課堂錄像和課件,有條件的朋友要充分利用。

我自己通過上述課程的學習和實踐,已經考完了計算機本科自學考試的大部分課程,並已通過計算機四級考試,下半年還准備參加高級程序員考試。希望我的經驗對大家能有所幫助。

總結一下,沒學過的課程大概有:

1.*離散數學
2.*計算機組成原理,*計算機系統結構,嵌入式系統設計,編譯原理,*Unix系統
3.*Internet與web編程,Cisio/Solaris網路體系設計與實現,*TCP/IP技術
4.綜合布線系統,信號與系統,數字信號處理,單片機及介面技術,分布式應用原理
5.*IT項目管理
6.多媒體

*號的一定會看,其他的課可能會看.除了以上的,其他基本都在本科學過.需要進一步加強的有:

1.匯編語言,操作系統,微機原理
2.資料庫,計算機網路,軟體工程.

J. 大學數學(計算機專業)

計算機科學與技術學習反思錄
計算機理論的一個核心問題--從數學談起:
記得當年大一入學,每周六課時高等數學,天天作業不斷(那時是六日工作制)。頗有些同學驚呼走錯了門:咱們這到底念的是什麼系?不錯,你沒走錯門,這就是計算機科學與技術系。我國計算機科學系裡的傳統是培養做學術研究,尤其是理論研究的人(方向不見得有問題,但是做得不是那麼盡如人意)。而計算機的理論研究,說到底了,如網路安全,圖形圖像學,視頻音頻處理,哪個方向都與數學有著很大的關系,雖然也許是正統數學家眼裡非主流的數學。這里我還想闡明我的一個觀點:我們都知道,數學是從實際生活當中抽象出來的理論,人們之所以要將實際抽象成理論,目的就在於想用抽象出來的理論去更好的指導實踐,有些數學研究工作者喜歡用一些現存的理論知識去推導若干條推論,殊不知其一:問題考慮不全很可能是個錯誤的推論,其二:他的推論在現實生活中找不到原型,不能指導實踐。嚴格的說,我並不是一個理想主義者,政治課上學的理論聯系實際一直是指導我學習科學文化知識的航標(至少我認為搞計算機科學與技術的應當本著這個方向)。
其實我們計算機系學數學光學高等數學是不夠的(典型的工科院校一般都開的是高等數學),我們應該像數學系一樣學一下數學分析(清華計算機系開的好像就是數學分析),數學分析這門科學,咱們學計算機的人對它有很復雜的感情。在於它是偏向於證明型的數學課程,這對我們培養良好的分析能力極有幫助。我的軟體工程學導師北工大數理學院的王儀華先生就曾經教導過我們,數學系的學生到軟體企業中大多作軟體設計與分析工作,而計算機系的學生做程序員的居多,原因就在於數學系的學生分析推理能力,從所受訓練的角度上要遠遠在我們之上。當年出現的怪現象是:計算機系學生的高中數學基礎在全校數一數二(希望沒有冒犯其它系的同學),教學課時數也僅次於數學系,但學完之後的效果卻不盡如人意。難道都是學生不努力嗎,我看未見得,方向錯了也說不一定,其中原因何在,發人深思。
我個人的淺見是:計算機系的學生,對數學的要求固然跟數學系不同,跟物理類差別則更大。通常非數學專業的所謂「高等數學」,無非是把數學分析中較困難的理論部分刪去,強調套用公式計算而已。而對計算機系來說,數學分析里用處最大的恰恰是被刪去的理論部分。說得難聽一點,對計算機系學生而言,追求算來算去的所謂「工程數學」已經徹底地走進了誤區。記上一堆曲面積分的公式,難道就能算懂了數學?那倒不如現用現查,何必費事記呢?再不然直接用Mathematics或是Matalab好了。
我在系裡最愛做的事情就是給學弟學妹們推薦參考書。中文的數學分析書,一般都認為以北大張築生老師的「數學分析新講」為最好。萬一你的數學實在太好,那就去看菲赫金哥爾茨的「微積分學教程」好了--但我認為沒什麼必要,畢竟你不想轉到數學系去。吉米多維奇的「數學分析習題集」也基本上是計算型的東東。書的名氣很大,倒不見得適合我們,還是那句話,重要的是數學思想的建立,生活在信息社會里我們求的是高效,計算這玩意還是留給計算機吧。不過現在多用的似乎是復旦大學的《數學分析》也是很好的教材。
中國的所謂高等代數,就等於線性代數加上一點多項式理論。我以為這有好的一面,因為可以讓學生較早感覺到代數是一種結構,而非一堆矩陣翻來覆去。這里不得不提南京大學林成森,盛松柏兩位老師編的「高等代數」,感覺相當舒服。此書相當全面地包含了關於多項式和線性代數的基本初等結果,同時還提供了一些有用的又比較深刻的內容,如Sturm序列,Shermon-Morrison公式,廣義逆矩陣等等。可以說,作為本科生如能吃透此書,就可以算高手。國內較好的高等代數教材還有清華計算機系用的那本,清華出版社出版,書店裡多多,一看就知道。從抽象代數的觀點來看,高等代數里的結果不過是代數系統性質的一些例子而已。莫宗堅先生的《代數學》里,對此進行了深刻的討論。然而莫先生的書實在深得很,作為本科生恐怕難以接受,不妨等到自己以後成熟了一些再讀。
正如上面所論述的,計算機系的學生學習高等數學:知其然更要知其所以然。你學習的目的應該是:將抽象的理論再應用於實踐,不但要掌握題目的解題方法,更要掌握解題思想,對於定理的學習:不是簡單的應用,而是掌握證明過程即掌握定理的由來,訓練自己的推理能力。只有這樣才達到了學習這門科學的目的,同時也縮小了我們與數學系的同學之間思維上的差距。
概率論與數理統計這門課很重要,可惜大多數院校講授這門課都會少些東西。少了的東西現在看至少有隨機過程。到畢業還沒有聽說過Markov過程,此乃計算機系學生的恥辱。沒有隨機過程,你怎麼分析網路和分布式系統?怎麼設計隨機化演算法和協議?據說清華計算機系開有「隨機數學」,早就是必修課。另外,離散概率論對計算機系學生來說有特殊的重要性。而我們國家工程數學講的都是連續概率。現在,美國已經有些學校開設了單純的「離散概率論」課程,乾脆把連續概率刪去,把離散概率講深些。我們不一定要這么做,但應該更加強調離散概率是沒有疑問的。這個工作我看還是盡早的做為好。
計算方法學(有些學校也稱為數學分析學)是最後一門由數理學院給我們開的課。一般學生對這門課的重視程度有限,以為沒什麼用。不就是照套公式嘛!其實,做圖形圖像可離不開它,密碼學搞深了也離不開它。而且,在很多科學工程中的應用計算,都以數值的為主。這門課有兩個極端的講法:一個是古典的「數值分析」,完全講數學原理和演算法;另一個是現在日趨流行的「科學與工程計算」,乾脆教學生用軟體包編程。我個人認為,計算機系的學生一定要認識清楚我們計算機系的學生為什麼要學這門課,我是很偏向於學好理論後用計算機實現的,最好使用C語言或C++編程實現。向這個方向努力的書籍還是挺多的,這里推薦大家高等教育出版社(CHEP)和施普林格出版社(Springer)聯合出版的《計算方法(Computational Methods)》,華中理工大學數學系寫的(現華中科技大學),這方面華科大做的工作在國內應算是比較多的,而個人認為以這本最好,至少程序設計方面涉及了:任意數學函數的求值,方程求根,線性方程組求解,插值方法,數值積分,場微分方程數值求解。李慶揚的那本則理論性過強,與實際應用結合得不太緊。
每個學校本系裡都會開一門離散數學,涉及集合論,圖論,和抽象代數,數理邏輯。不過,這么多內容擠在離散數學一門課里,是否時間太緊了點?另外,計算機系學生不懂組合和數論,也是巨大的缺陷。要做理論,不懂組合或者數論吃虧可就太大了。從理想的狀態來看,最好分開六門課:集合,邏輯,圖論,組合,代數,數論。這個當然不現實,因為沒那麼多課時。也許將來可以開三門課:集合與邏輯,圖論與組合,代數與數論。(這方面我們學校已經著手開始做了)不管課怎麼開,學生總一樣要學。下面分別談談上面的三組內容。
古典集合論,北師大出過一本《基礎集合論》不錯。
數理邏輯,中科院軟體所陸鍾萬教授的《面向計算機科學的數理邏輯》就不錯。現在可以找到陸鍾萬教授的講課錄像,http://www.cas.ac.cn/html/Dir/2001/11/06/3391.htm自己去看看吧。總的來說,學集合/邏輯起手不難,普通高中生都能看懂。但越往後越感覺深不可測。
學完以上各書之後,如果你還有精力興趣進一步深究,那麼可以試一下GTM系列中的《Introction to Axiomatic Set Theory》和《A Course of Mathematical Logic》。這兩本都有世界圖書出版社的引進版。你如果能搞定這兩本,可以說在邏輯方面真正入了門,也就不用再浪費時間聽我瞎侃了。
據說全中國最多隻有三十個人懂圖論。此言不虛。圖論這東東,技巧性太強,幾乎每個問題都有一個獨特的方法,讓人頭痛。不過這也正是它魅力所在:只要你有創造性,它就能給你成就感。我的導師說,圖論裡面隨便揪一塊東西就可以寫篇論文。大家可以體會裡面內容之深廣了吧!國內的圖論書中,王樹禾老師的「圖論及其演算法」非常成功。一方面,其內容在國內教材里算非常全面的。另一方面,其對演算法的強調非常適合計算機系(本來就是科大計算機系教材)。有了這本書為主,再參考幾本翻譯的,如Bondy & Murty的《圖論及其應用》,人民郵電出版社翻譯的《圖論和電路網路》等等,就馬馬虎虎,對本科生足夠了。再進一步,世界圖書引進有GTM系列的"Modern Graph Theory"。此書確實經典!國內好象還有一家出版了個翻譯版。不過,學到這個層次,還是讀原版好。搞定這本書,也標志著圖論入了門。 外版的書好就好在這里,最新的科技成果裡面都有論述,別的先不說,至少是「緊跟時代的理論知識」。
組合感覺沒有太適合的國產書。還是讀Graham和Knuth等人合著的經典「具體數學」吧,西安電子科技大學出版社有翻譯版。
抽象代數,國內經典為莫宗堅先生的「代數學」。此書是北大數學系教材,深得好評。然而對本科生來說,此書未免太深。可以先學習一些其它的教材,然後再回頭來看「代數學」。國際上的經典可就多了,GTM系列裡就有一大堆。推薦一本談不上經典,但卻最簡單的,最容易學的:http://www.math.miami.e/~ec/book/這本「Introction to Linear and Abstract Algebra"非常通俗易懂,而且把抽象代數和線性代數結合起來,對初學者來說非常理想,我校比較牛的同學都有收藏。
數論方面,國內有經典而且以困難著稱的」初等數論「(潘氏兄弟著,北大版)。再追溯一點,還有更加經典(可以算世界級)並且更加困難的」數論導引「(華羅庚先生的名著,科學版,九章書店重印,繁體的看起來可能比較困難)。把基礎的幾章搞定一個大概,對本科生來講足夠了。但這只是初等數論。本科畢業後要學計算數論,你必須看英文的書,如Bach的"Introction to Algorithmic Number Theory"。
計算機科學理論的根本,在於演算法。現在很多系裡給本科生開設演算法設計與分析,確實非常正確。環顧西方世界,大約沒有一個三流以上計算機系不把演算法作為必修的。演算法教材目前公認以Corman等著的"Introction to Algorithms"為最優。對入門而言,這一本已經足夠,不需要再參考其它書。
再說說形式語言與自動機。我看過北郵的教材,應該說寫的還清楚。但是,有一點要強調:形式語言和自動機的作用主要在作為計算模型,而不是用來做編譯。事實上,編譯前端已經是死領域,沒有任何open problems,北科大的班曉娟博士也曾經說過,編譯的技術已相當成熟。如果為了這個,我們完全沒必要去學形式語言--用用yacc什麼的就完了。北郵的那本在國內還算比較好,但是在深度上,在跟可計算性的聯繫上都有較大的局限,現代感也不足。所以建議有興趣的同學去讀英文書,不過國內似乎沒引進這方面的教材。可以去互動出版網上看一看。入門以後,把形式語言與自動機中定義的模型,和數理邏輯中用遞歸函數定義的模型比較一番,可以說非常有趣。現在才知道,什麼叫「宮室之美,百官之富」!
計算機科學和數學的關系有點奇怪。二三十年以前,計算機科學基本上還是數學的一個分支。而現在,計算機科學擁有廣泛的研究領域和眾多的研究人員,在很多方面反過來推動數學發展,從某種意義上可以說是孩子長得比媽媽還高了。但不管怎麼樣,這個孩子身上始終流著母親的血液。這血液是the mathematical underpinning of computer science(計算機科學的數學基礎),也就是理論計算機科學。原來在東方大學城圖書館中曾經看過一本七十年代的譯本(書皮都沒了,可我就愛關注這種書),大概就叫《計算機數學》。那本書若是放在當時來講決是一本好書,但現在看來,涵蓋的范圍還算廣,深度則差了許多,不過推薦大一的學生倒可以看一看,至少可以使你的計算數學入入門。
最常和理論計算機科學放在一起的一個詞是什麼?答:離散數學。這兩者的關系是如此密切,以至於它們在不少場合下成為同義詞。(這一點在前面的那本書中也有體現)傳統上,數學是以分析為中心的。數學系的同學要學習三四個學期的數學分析,然後是復變函數,實變函數,泛函數等等。實變和泛函被很多人認為是現代數學的入門。在物理,化學,工程上應用的,也以分析為主。
隨著計算機科學的出現,一些以前不太受到重視的數學分支突然重要起來。人們發現,這些分支處理的數學對象與傳統的分析有明顯的區別:分析研究的問題解決方案是連續的,因而微分,積分成為基本的運算;而這些分支研究的對象是離散的,因而很少有機會進行此類的計算。人們從而稱這些分支為「離散數學」。「離散數學」的名字越來越響亮,最後導致以分析為中心的傳統數學分支被相對稱為「連續數學」。
離散數學經過幾十年發展,基本上穩定下來。一般認為,離散數學包含以下學科 :
1) 集合論,數理邏輯與元數學。這是整個數學的基礎,也是計算機科學的基礎。
2) 圖論,演算法圖論;組合數學,組合演算法。計算機科學,尤其是理論計算機科學的核心是
演算法,而大量的演算法建立在圖和組合的基礎上。
3) 抽象代數。代數是無所不在的,本來在數學中就非常重要。在計算機科學中,人們驚訝地發現代數竟然有如此之多的應用。
但是,理論計算機科學僅僅就是在數學的上面加上「離散」的帽子這么簡單嗎?一直到大約十幾年前,終於有一位大師告訴我們:不是。D.E.Knuth(他有多偉大,我想不用我廢話了)在Stanford開設了一門全新的課程Concrete Mathematics。 Concrete這個詞在這里有兩層含義:
首先:對abstract而言。Knuth認為,傳統數學研究的對象過於抽象,導致對具體的問題關心不夠。他抱怨說,在研究中他需要的數學往往並不存在,所以他只能自己去創造一些數學。為了直接面向應用的需要,他要提倡「具體」的數學。在這里我做一點簡單的解釋。例如在集合論中,數學家關心的都是最根本的問題--公理系統的各種性質之類。而一些具體集合的性質,各種常見集合,關系,映射都是什麼樣的,數學家覺得並不重要。然而,在計算機科學中應用的,恰恰就是這些具體的東西。Knuth能夠首先看到這一點,不愧為當世計算機第一人。其次,Concrete是Continuous(連續)加上discrete(離散)。不管連續數學還是離散數學,都是有用的數學!
理論與實際的結合--計算機科學研究的范疇
前面主要是從數學角度來看的。從計算機角度來看,理論計算機科學目前主要的研究領域包括:可計算性理論,演算法設計與復雜性分析,密碼學與信息安全,分布式計算理論,並行計算理論,網路理論,生物信息計算,計算幾何學,程序語言理論等等。這些領域互相交叉,而且新的課題在不斷提出,所以很難理出一個頭緒來。想搞搞這方面的工作,推薦看中國計算機學會的一系列書籍,至少代表了我國的權威。下面隨便舉一些例子。
由於應用需求的推動,密碼學現在成為研究的熱點。密碼學建立在數論(尤其是計算數論),代數,資訊理論,概率論和隨機過程的基礎上,有時也用到圖論和組合學等。很多人以為密碼學就是加密解密,而加密就是用一個函數把數據打亂。這樣的理解太淺顯了。

現代密碼學至少包含以下層次的內容:

第一,密碼學的基礎。例如,分解一個大數真的很困難嗎?能否有一般的工具證明協議正確?

第二,密碼學的基本課題。例如,比以前更好的單向函數,簽名協議等。

第三,密碼學的高級問題。例如,零知識證明的長度,秘密分享的方法。

第四,密碼學的新應用。例如,數字現金,叛徒追蹤等。

在分布式系統中,也有很多重要的理論問題。例如,進程之間的同步,互斥協議。一個經典的結果是:在通信信道不可靠時,沒有確定型演算法能實現進程間協同。所以,改進TCP三次握手幾乎沒有意義。例如時序問題。常用的一種序是因果序,但因果序直到不久前才有一個理論上的結果....例如,死鎖沒有實用的方法能完美地對付。例如,......操作系統研究過就自己去舉吧!

如果計算機只有理論,那麼它不過是數學的一個分支,而不成為一門獨立的科學。事實上,在理論之外,計算機科學還有更廣闊的天空。

我一直認為,4年根本不夠學習計算機的基礎知識,因為面太寬了,8年,應該差不多了......

這方面我想先說說我們系在各校普遍開設的《計算機基礎》。在高等學校開設《計算機基礎課程》是我國高教司明文規定的各專業必修課程要求。主要內容是使學生初步掌握計算機的發展歷史,學會簡單的使用操作系統,文字處理,表格處理功能和初步的網路應用功能。但是在計算機科學系教授此門課程的目標決不能與此一致。在計算機系課程中目標應是:讓學生較為全面的了解計算機學科的發展,清晰的把握計算機學科研究的方向,發展的前沿即每一個課程在整個學科體系中所處的地位。搞清各學科的學習目的,學習內容,應用領域。使學生在學科學習初期就對整個學科有一個整體的認識,以做到在今後的學習中清楚要學什麼,怎麼學。計算機基本應用技能的位置應當放在第二位或更靠後,因為這一點對於本系的學生應當有這個摸索能力。這一點很重要。推薦給大家一本書:機械工業出版社的《計算機文化》(New Perspective of Computer Science),看了這本書我才深刻的體會到自己還是個計算機科學初學者,才比較透徹的了解了什麼是計算機科學。

一個一流計算機系的優秀學生決不該僅僅是一個編程高手,但他一定首先是一個編程高手。我上大學的時候,第一門專業課是C語言程序設計,念計算機的人從某種角度講相當一部分人是靠寫程序吃飯的。關於第一程序設計語言該用哪一種。我個人認為,用哪種語言屬於末節,關鍵在養成良好的編程習慣。當年老師對我們說,打好基礎後學一門新語言只要一個星期。現在我覺得根本不用一個星期,前提是先把基礎打好。不要再猶豫了,學了再說,等你抉擇好了,別人已經會了幾門語言了。

匯編語言和微機原理是兩門特煩人的課。你的數學/理論基礎再好,也占不到什麼便宜。這兩門課之間的次序也好比先有雞還是先有蛋,無論你先學哪門,都會牽扯另一門課里的東西。所以,只能靜下來慢慢琢磨。這就是典型的工程課,不需要太多的聰明和頓悟,卻需要水滴石穿的漸悟。有關這兩門課的書,計算機書店裡不難找到。弄幾本最新的,對照著看吧。組成原理推薦《計算機組成與結構》清華大學王愛英教授寫的。匯編語言大家拿8086/8088入個門,之後一定要學80x86匯編語言。實用價值大,不落後,結構又好,寫寫高效病毒,高級語言里嵌一點匯編,進行底層開發,總也離不開他,推薦清華大學沈美明的《IBM-PC匯編語言程序設計》。有些人說不想了解計算機體系結構,也不想製造計算機,所以諸如計算機原理,匯編語言,介面之類的課覺得沒必要學,這樣合理嗎?顯然不合理,這些東西遲早得掌握,肯定得接觸,而且,這是計算機專業與其他專業學生相比的少有的幾項優勢。做項目的時候,了解這些是非常重要的,不可能說,僅僅為了技術而技術,只懂技術的人最多做一個編碼工人,而永遠不可能全面地了解整個系統的設計,而編碼工人是越老越不值錢。關於組成原理還有個講授的問題,在我學這門課程時老師講授時把CPU工作原理譽微程序設計這一塊略掉了,理由是我們國家搞CPU技術不如別的國家,搞了這么長時間好不容易出了個龍芯比Intel的還差個十萬八千里,所以建議我們不要學了。我看這在各校也未見得不是個問題吧!若真是如他所說,那中國的計算機科學哪個方向都可以停了,軟硬體,應用,有幾項搞得過美國,搞不過別人就不搞了,那我們坐在這里干什麼?教學的觀念需要轉變的。

模擬電路這東東,如今不僅計算機系學生搞不定,電子系學生也多半害怕。如果你真想軟硬體通吃,那麼建議你先看看邱關源的「電路原理」,也許此後再看模擬電路底氣會足些。教材:康華光的「電子技術基礎」(高等教育出版社)還是不錯的(我校電子系在用)。有興趣也可以參考童詩白的書。

數字電路比模擬電路要好懂得多。清華大學閻石的書算一本好教材,遺憾的一點是集成電路講少了些。真有興趣,看一看大規模數字系統設計吧(北航那本用的還比較多)。

計算機系統結構該怎麼教,國際上還在爭論。國內能找到的較好教材為Stallings的"Computer Organization and Architecture:Designing for Performance"(清華影印
本)。國際上最流行的則是「Computer architecture: aquantitative approach", by Patterson & Hennessy。

操作系統可以隨便選用《操作系統的內核設計與實現》和《現代操作系統》兩書之一。這兩部都可以算經典,唯一缺點就是理論上不夠嚴格。不過這領域屬於Hardcore System,所以在理論上馬虎一點也情有可原。想看理論方面的就推薦清華大學出版社《操作系統》吧,高教司司長張堯學寫的,我們教材用的是那本。 另外推薦一本《Windows操作系統原理》機械工業出版社的,這本書是我國操作系統專家在微軟零距離考察半年,寫作歷時一年多寫成的,教操作系統的專家除了清華大學的張堯學(現高教司司長)幾乎所有人都參加了。Bill Gates親自寫序。裡面不但結合windows2000,xp詳述操作系統的內核,而且後面講了一些windows編程基礎,有外版書的味道,而且上面一些內容可以說在國內外只有那本書才有對windows內核細致入微的介紹,

如果先把形式語言學好了,則編譯原理中的前端我看只要學四個演算法:最容易實現的遞歸下降;最好的自頂向下演算法LL(k);最好的自底向上演算法LR(k);LR(1)的簡化SLR(也許還有另一簡化LALR)。後端完全屬於工程性質,自然又是another story。

推薦教材:Kenneth C.Louden寫的「Compiler Construction Principles and Practice」即是《編譯原理及實踐》(機械工業出版社的譯本)

學資料庫要提醒大家的是,會用VFP,VB, Power builder不等於懂資料庫。(這世界上自以為懂資料庫的人太多了!)資料庫設計既是科學又是藝術,資料庫實現則是典型的工程。所以從某種意義上講,資料庫是最典型的一門計算機課程--理工結合,互相滲透。另外推薦大家學完軟體工程學後再翻過來看看資料庫技術,又會是一番新感覺。推薦教材:Abraham Silberschatz等著的 "Database System Concepts".作為知識的完整性,還推薦大家看一看機械工業出版社的《數據倉庫》譯本。

計算機網路的標准教材還是來自Tanenbaum的《Computer Networks》(清華大學有譯本)。還有就是推薦謝希仁的《計算機網路教程》(人民郵電出版社)問題講得比較清楚,參考文獻也比較權威。不過,網路也屬於Hardcore System,所以光看書是不夠的。建議多讀RFC,http://www.ietf.org/rfc.htm里可以按編號下載RFC文檔。從IP的讀起。等到能掌握10種左右常用協議,就沒有幾個人敢小看你了。再做的工作我看放在網路設計上就比較好了。

數據結構的重要性就不言而喻了,學完數據結構你會對你的編程思想進行一番革命性的洗禮,會對如何建立一個合理高效的演算法有一個清楚的認識。對於演算法的建立我想大家應當注意以下幾點:

當遇到一個演算法問題時,首先要知道自己以前有沒有處理過這種問題.如果見過,那麼你一般會順利地做出來;如果沒見過,那麼考慮以下問題:

1. 問題是否是建立在某種已知的熟悉的數據結構(例如,二叉樹)上?如果不是,則要自己設計數據結構。

2. 問題所要求編寫的演算法屬於以下哪種類型?(建立數據結構,修改數據結構,遍歷,查找,排序...)

3. 分析問題所要求編寫的演算法的數學性質.是否具備遞歸特徵?(對於遞歸程序設計,只要設計出合理的參數表以及遞歸結束的條件,則基本上大功告成.)

4. 繼續分析問題的數學本質.根據你以前的編程經驗,設想一種可能是可行的解決辦法,並證明這種解決辦法的正確性.如果題目對演算法有時空方面的要求,證明你的設想滿足其要求.一般的,時間效率和空間效率難以兼得.有時必須通過建立輔助存儲的方法來節省時間.

5. 通過一段時間的分析,你對解決這個問題已經有了自己的一些思路.或者說,你已經可以用自然語言把你的演算法簡單描述出來.繼續驗證其正確性,努力發現其中的錯誤並找出解決辦法.在必要的時候(發現了無法解決的矛盾),推翻自己的思路,從頭開始構思.

6. 確認你的思路可行以後,開始編寫程序.在編寫代碼的過程中,盡可能把各種問題考慮得詳細,周密.程序應該具有良好的結構,並且在關鍵的地方配有注釋.

7. 舉一個例子,然後在紙上用筆執行你的程序,進一步驗證其正確性.當遇到與你的設想不符的情況時,分析問題產生的原因是編程方面的問題還是演算法思想本身有問題.

8. 如果程序通過了上述正確性驗證,那麼在將其進一步優化或簡化。

9. 撰寫思路分析,注釋.

對於具體的演算法思路,只能靠你自己通過自己的知識和經驗來加以獲得,沒有什麼特定的規律(否則程序員全部可以下崗了,用機器自動生成代碼就可以了).要有豐富的想像力,就是說當一條路走不通時,不要鑽牛角尖,要敢於推翻自己的想法.我也只不過是初學者,說出上面的一些經驗,僅供大家參考和討論。

關於人工智慧,我覺得的也是非常值得大家仔細研究的,雖然不能算是剛剛興起的學科了,但是絕對是非常有發展前途的一門學科。我國人工智慧創始人之一,北京科技大學塗序彥教授(這老先生是我的導師李小堅博士的導師)對人工智慧這樣定義:人工智慧是模

閱讀全文

與編譯原理及實踐影印版相關的資料

熱點內容
抖音python面試演算法題 瀏覽:86
java單擊事件 瀏覽:641
絕對尺寸編程法 瀏覽:265
伺服器共享文件夾中病毒 瀏覽:35
哪個app會員看綜藝最全 瀏覽:761
程序員朋友圈招聘 瀏覽:339
細細的小木棍怎麼做解壓玩具 瀏覽:36
不要惹程序員的視頻 瀏覽:995
碼高編程如何加盟 瀏覽:756
程序員好處有哪些 瀏覽:954
c語言編譯後的程序 瀏覽:12
公交卡單片機 瀏覽:745
減壓縮軟體下載 瀏覽:300
51單片機復位電路有哪兩種 瀏覽:924
et2008加密狗教程 瀏覽:965
安卓手機用什麼錄制高清視頻 瀏覽:749
cadim命令如何應用 瀏覽:951
免費ntp時鍾伺服器地址 瀏覽:686
域名如何與雲伺服器綁定 瀏覽:808
linuxjava環境搭建教程 瀏覽:128