附 錄 A CS( 計算機科學)知識體ios
計算教程 2001 報告的這篇附錄定義了計算機科學本科教學計劃中可能講授的知識領域。該分類方案的依據及其歷史、結構和應用的其它細節包含在完整的任務組報告中。因爲咱們但願附錄比完整的報告有更多的讀者,因此任務組認爲在每一篇附錄中概述理解該推薦所必須的基本概念是重要的。在下面幾節中咱們列出了最重要的幾個概念。web
知識體的結構正則表達式
計算機科學知識體分層組織成三個層次。最高一層是領域(area),表明一個特定的學科子領域。每一個領域由一個兩個字母的縮寫詞表示,好比 OS 表明操做系統,PL 表明程序設計語言,領域之下又被分割成更小的單元算法
(units),表明領域中單獨的主題模塊。每一個單元都用一個領域名加一個數字後綴表示,好比 OS3 是關於併發的單元。各個單元由被細分紅主題(topics),這是 CS 知識體層次結構的最底層。數據庫
離散結構(DS)編程
DS1. 函數,關係,集合[核心]小程序
DS2. 基本邏輯[核心]windows
DS3. 證實技術[核心]設計模式
DS4. 計算基礎[核心]數組
DS5. 圖和樹[核心]
DS6. 離散機率[核心]
DS1.函數、關係、集合論[核心] 主題:
函數 (滿射、入射、逆、複合)
關係 (自反、對稱、傳遞、等價關係) 集合 (文氏圖、補集、笛卡爾積、冪集)
鴿洞原理
基數和可數性
學習目標:
1. 舉例說明基本術語:函數、關係和集合。
2. 執行與函數、關係和集合相關的運算。
3. 把實例與適當的集合、函數或關係模型相聯繫,並在上下文中解釋相關的操做和術語。
4. 解釋基本的計算原理,包括對角化和鴿洞原理的應用。
DS2. 基本邏輯 (核心) 主題:
命 題 邏 輯 邏輯聯結詞真值表
範式(合取與析取範式) 永真性
謂詞邏輯
全稱量詞和存在量詞
假言推理和否認後件推理( modus tallens)
謂詞邏輯的侷限性
學習目標:
1. 應用符號命題邏輯和謂詞邏輯的形式化方法。
2. 描述如何使用符號邏輯的形式化工具爲算法和真實情形建模。
3. 使用形式邏輯證實和邏輯推理來解決諸如迷宮等問題。
4. 描述謂詞邏輯的重要性和侷限性。
DS3. 證實技術 (核心) 主題:
蘊含、逆、補、逆否、否認、矛盾形式證實的結構
直接證法反例證法
經過逆否命題證實歸謬證法
數學概括徹底概括
遞歸數學定義良序
學習目標:
1. 概述本單元中給出的每一種證實技術的基本結構並給出相應的實例。
2. 討論對於指定的問題哪一種類型的證實是最優的。
3. 把數學概括思想與遞歸和遞歸定義的結構聯繫起來。
4. 說明數學概括和徹底概括的差異並舉例說明如何合理地使用它們。
DS4.計算基礎 (核心) 主題:
計數理論(counting arguments)
——和積規則(sum and production rules)
——包含排斥原理
——算術和幾何級數
——斐波納契(Fibonacci)數列鴿洞原理
排列和組合
——基本定義
——Pascal 恆等式
——二項式定理求解遞推關係式
——常見實例
——Master定理
學習目標:
1. 計算一個集合的排列和組合,並解釋在特定應用環境中的意義。
2. 闡述Master定理的定義。
3. 計算各類不一樣的遞推式。
4. 分析問題,產生相應的遞推式或識別重要的計算問題
DS5. 圖和樹 (核心) 主題:
樹
無 向 圖 有 向 圖 生 成 樹 遍歷策略
學習目標:
1. 經過例子說明圖論的基本術語,各自的
性質和特殊狀況。
2. 說明樹和圖的不一樣遍歷方法。
3. 使用圖和樹爲計算機科學中的問題建模。
4. 把圖和樹與數據結構、算法和計算相聯繫。
DS6.離散機率[核心] 主題:
有限機率空間、機率的度量、事件條件機率、獨立性、貝葉斯定律 整型隨機變量、指望
學習目標:
1. 對基本問題,如機會遊戲(games of
chance)計算事件機率和隨機變量的指望。
2. 區別獨立事件和非獨立事件。
3. 對非獨立事件應用二項式定理,對獨立事件應用Bayes定理。
4. 應用機率工具如Monte Carlo方法、算法的平均狀況分析和散列法來解決問題。
程序設計基礎(PF)
PF1. 基本程序設計結構[核心]
PF2. 算法和問題求解[核心] PF3. 基本的數據結構[核心]
PF4. 遞 歸 [ 核 心 ] PF5. 事件驅動的程序設計[核心]
PF1.基本程序設計結構[核心] 主題:
高級語言的基本語法和語義變量、類型、表達式和賦值簡單I/O
條件和循環控制結構函數和參數傳遞
結構化分解
學習目標:
1. 分析並解釋具備本單元所涉及基本程序結構的簡單程序的行爲。 2.修改和擴展使用了標準條件和循環控制結構和函數的小程序。
3. 設計、實現、測試和調試一個使用下面每一種基本程序設計結構的程序: 基本計算、簡單的輸入/輸出、標準的條件和循環結構以及函數定義。
4.對於指定的程序設計任務,選擇適當的條件和循環結構。
5.運用結構化(功能)分解技術把一個程序分解成一些小的程序塊。 6.描述參數傳遞的機制。
PF2.算法和問題求解[核心] 主題:
問題求解策略
算法在問題求解過程當中的做用算法的實現策略
調試策略
算法的概念和性質
學習目標:
PF3.基本的數據結構[核心] 主題:
原語類型數組
記錄
字符串和字符串處理數據在內存中的表示靜態、棧和堆分配 運行時間存儲管理 指針和引用
連接結構
棧、隊列和哈希表的實現策略圖和樹的實現策略
選擇正確數據結構的策略
學習目標:
PF4.遞歸[核心] 主題:
遞 歸 的 概 念 遞歸數學函數
簡單的遞歸過程分而治之策略 遞歸回溯
遞歸的實現
學習目標:
PF5.事件驅動程序設計[核心] 主題:
事件處理方法事件傳播
異常處理
學習目標:
算法和複雜性(AL)
AL1.基本算法分析[核心]
AL2.算法策略[核心]
AL3.基本的計算算法[核心]
AL4.分佈式算法[核心]
AL5.基本可計算行[核心]
AL6.P和NP複雜類 [選修]
AL7.自動機理論[選修] AL8.高級算法的分析[選修] AL9.密碼算法[選修]
AL10.幾何算法[選修]
AL11.並行算法[選修]
AL1.基本算法的分析[核心] 主題:
複雜度的上界和平均值近似分析
區分最好、平均和最壞狀況下行爲的不一樣
大 「O」 、 小 「o」、 、和q 表示法
標準複雜類
性能的實驗測量
算法的時間和空間折衷
使用循環關係分析遞歸算法
學習目標:
1. 解釋如何使用大「O」、 、和q 描述算法的工做量。
2.使用大「O」、 、和q 表示法給出算法時間和空間複雜度的近似上界、下界和精確界限。
3.肯定簡單算法的時間複雜度。
4.推導描述遞歸定義算法時間複雜度的遞歸關係式。
5.解決簡單的遞歸關係式。
AL2.算法策略[核心]
主題:
蠻力算法貪婪算法分而治之回溯
分支界限啓發式
模式匹配和字符串/文本算法數值逼近算法
學習目標:
1. 明蠻力算法的缺點。
2. 對下面的每一種算法(蠻力、貪婪、分而治之、回溯、分支有界和啓發),舉出一我的們的平常行爲實例解釋該基本概念。
3. 實現一個貪婪算法,求解適當的問題。
4. 實現一個分而治之算法,求解適當的問題。
5. 使用回溯解決問題,好比迷宮。
6. 描述各類不一樣的啓發式問題求解方法。
7. 使用模式匹配分析子串。
8. 使用數值逼近解決數學問題,如尋找多項式的根。
AL3.基本的計算算法[核心] 主題:
簡單的數值處理算法順序和二分查找算法
二 次 排 序 算 法 ( 選 擇 , 插 入 ) O(N log N) 排序算法 (快速排序, 堆分類排序, 歸併排序)
哈希表, 包括避免衝突的策略二分查找樹
圖的表示 (鄰接表,鄰接矩陣) 深度和廣度優先遍歷
最短路徑算法(Dijkstra算法和Floyd 算法)
傳遞閉包 (Floyd算法)
最小生成樹 (Prim算法和Kruskal算法)
拓撲排序
學習目標:
(single-source)和每一對頂點間的
(all-pairs)最短路徑算法、傳遞閉包算法、拓撲排序算法和至少一種最小生成樹算法。
AL4.分佈式算法[核心] 主題:
一致性與選擇終結檢測
容 錯 穩定性
學習目標: 1.解釋分佈式模式(paradigm)。2.解釋一個簡單的分佈式算法。
3.肯定什麼時候使用一致性與選擇算法。
2.區別邏輯和物理時鐘。
3.描述事件的相對次序。
AL5.基本可計算性理論[核心] 主題:
有限狀態機
上下文無關語法
易處理和不易處理的問題不可計算函數
停機問題
不可計算性的意義
學習目標: 1.討論有限狀態機的概念。
2.解釋上下文無關文法。
3.設計一個接受指定語言的肯定型有限狀態 機 。 4.解釋一些問題是如何沒有算法解決方案的。
5.舉例說明不可計算性的概念。
AL6. P和NP複雜類[選修] 主題:
P 和 NP類的定義
NP-完備性 (庫克定理) 標準的NP-完備問題
歸約技術
學習目標:
1.定義P和NP類。
2.解釋NP-完備性的意義。
3.經過把已知的典型NP-完備問題簡化成另一個問題來證實後者是NP-完備的。
AL7.自動機理論[選修] 主題:
肯定有限自動機 (DFA) 非肯定有限自動機 (NFA)
DFA 和 NFA 的等價正則表達式
正則表達式的縮脹定理下推自動機 (PDA)
PDA和上下文無關文法的關係上下文無關文法的性質
圖靈機
非肯定圖靈機集合和語言
喬姆斯基層次結構丘奇——圖靈論題
學習目標:
之下的類中。
AL8.高級算法分析[選修] 主題:
緩衝分析
在線(on-line)和離線(off-line)算法
隨機算法
動態程序設計組合優化
學習目標:
(on-line)算法。
AL9.密碼算法[選修] 主題:
密碼學的歷史概述
密鑰密碼學和密鑰交換問題公鑰密碼學
數字簽名安全協議
應用 (零知識證實、認證等等)
學習目標:
1.描述有效的基本數論算法,包括最大公約數、模n的乘法逆元算法和數的冪次算法。
2.描述至少一個公鑰密碼系統,包括其安全性所必要的複雜性理論假設。
3.使用已知協議和加密原語創建簡單的擴展密碼協議。
AL10.幾何算法[選修] 主題:
線段: 性質、交點凸包查找算法
學習目標: 1.描述至少兩種凸包查找算法並給出它們的時間分析。
2.證實凸包查找的 複雜度下界(N log N) 是正確的。 3.描述至少一種其它有效的計算幾何算法,如查找最近的點對、凸面的層或最大層。
AL11.並行算法[選修] 主題:
PRAM模型
互斥和並行讀寫指針跳轉
Brent定理和運行效率
學習目標:
1.描述鏈表在PRAM上的實現。
2.使用並行前綴操做有效地並行執行簡單的計算。
3.解釋Brent 定理及其相關性(relevance).
體系結構和組織(AR)
AR1.數字邏輯和數字系統[核心]
AR2.數據的機器表示[核心]
AR3.彙編級機器組織[核心]
AR4.存儲系統組織和體系結構[核心] AR5.接口和通訊[核心] AR6.功能的組織[核心]
AR7.多道處理和預備體系結構[核心]
AR8.性能提升[選修]
AR9.網絡和分佈式系統體系結構[選修]
AR1.數字邏輯和數字系統[核心] 主題:
計算機體系結構的概況和歷史
基本構件(邏輯門、觸發器、計數器、寄存器、可編程邏輯陣列)
邏輯表達式、化簡、與或式(sum of product forms)
寄存器傳輸符號表示(Register transfer notation)
物理事項的考慮 (門延遲,扇入, 扇出)
學習目標:
AR2.數據的機器表示[核心] 主題:
位、字節、和字
數值數據表示和數字基礎定點和浮點系統
有符號和雙補碼錶示
非數值數據的表示(字符代碼、圖形數據)
記錄和數組的表示
學習目標:
AR3.彙編級機器組織[核心] 主題:
馮.諾依曼機器的基本組織
控制單元、指令的獲取、解碼和執行指令集和類型(數據操縱、控制、I/O) 彙編/機器語言程序設計
指令格式尋址方式
子程序調用和返回機制I/O和中斷
學習目標:
1.解釋馮.諾依曼機器的組織構成及其主要功能單元。
2.解釋在傳統的馮.諾依曼機器上指令是如何執行的。
3.總結指令在機器和符號彙編程序語言環境中是如何表示的。
4.解釋不一樣的指令格式,如一條指令多條地址,變長和定長格式。
AR4.存儲系統組織和體系結構[核心] 主題:
存儲系統及其技術
編碼、數據壓縮和數據完整性存儲器的層次
主存儲器的組織和操做
延遲、週期時間、帶寬和交叉存取高速緩存(地址映射、塊的大小、替換和存儲策略)
虛擬存儲(頁表,TLB) 故障處理和可靠性
學習目標: 1.說明主要的存儲技術。
2.解釋存儲器延遲對運行時間的影響。
3.解釋如何利用存儲器層次下降有效存儲延遲(effective memory latency)。4.描述存儲器管理的原理。
5.描述高速緩存和虛擬內存的做用。
6.解釋具備虛擬存儲管理的系統的工做方式。
AR5.接口和通訊[核心] 主題:
I/O基礎: 握手、緩衝、程序化I/O, 中斷驅動的I/O
中斷結構:向量結構和優先級結構中斷的確認
外部存儲,物理的組織和驅動器 總線: 總線協議、仲裁、直接存儲器存取(DMA)
網 絡 導 引 多媒體支持
RAID體系結構
學習目標:
1.解釋中斷是如何用來實現輸入/輸出控制和數據傳輸的。
2.識別計算機系統中各類類型的總線。
3.描述磁盤驅動器數據訪問過程。
4.比較常見的網絡配置。
5.識別多媒體支持所需的接口。
6.描述RAID體系結構的優勢和侷限性。
AR6.功能的組織[核心] 主題:
簡單數據通路的實現
控制單元: 硬佈線實現和微程序實現
指令流水線
指令級並行(ILP)導引
學習目標:
1.比較數據通路的不一樣實現。
2.討論控制點的概念以及使用硬佈線或微程序實現產生控制信號。
3.經過流水線和可能發生的主要危險,解釋基本的指令級並行機制。
AR7.多道處理和預備體系結構[核心] 主題:
SIMD,MIMD,VLIW,EPIC導引
脈動體系結構
互聯網絡(超級立方體結構、混洗互聯、平面網格結構、縱橫結構)
共享存儲器系統
高速緩存的一致性
存儲器模型和存儲器的一致性
學習目標:
1. 脫離傳統的馮.諾依曼模型,討論並行處理的概念。
2. 描述預備體系結構,如SIMD、MIMD和VLIW。
AR8.性能提升[選修] 主題:
超級標量體系結構分支預測
預取
預測執行(speculative execution) 多線程
可伸縮性(scalability)
學 習 目 標 : 1.描述超級標量體系結構及其優勢。
2.解釋分支預測的概念及其應用。
3.說明預取的代價和收益。
4.解釋預測執行並說明其合理應用的條件。
5.討論在體系結構中使用多線程所得到的性能的提升,以及致使難以使用該方法得到最大收益的因素。
6.描述可伸縮性與性能的聯繫。
AR9.網絡和分佈式系統的體系結構[選修] 主題:
局域網和廣域網導引
層次協議設計,ISO/OSI,IEEE 802 體系結構問題對分佈式算法的影響網絡計算
分佈式多媒體
學習目標:
1. 解釋網絡系統的基本構件,並區別 LAN
和 WAN。
2. 討論層次網絡協議設計中的體系結構問題。
3. 解釋網絡和分佈式系統中體系結構的差異。
4. 討論與網絡計算和分佈多媒體相關的體系結構問題。
操做系統(OS)
OS1.操做系統概述[核心]
OS2.操做系統原理[核心] OS3.併發[核心]
OS4.調度與分派[核心]
OS5.存儲管理[核心] OS6.設備管理[選修]
OS7.安全和保護[選修]
OS8.文件系統[選修]
OS9.實時和嵌入式系統[選修] OS10. 容 錯 [ 選 修 ] OS11.系統性能評價[選修]
OS12.腳本[選修]
OS1.操做系統概述[核心] 主題:
操做系統的做用和目的操做系統發展的歷史 典型操做系統的功能
支持客戶——服務器模型的機制,握手設備
設計問題(效率、健壯性、靈活性、可移植性、安全性、兼容性)
安全,組網,多媒體、windows的影響
學習目標:
1. 解釋現代操做系統的目標和功能。
2.描述操做系統是如何隨着時間從最初的批處理系統到複雜的多用戶系統演化的。
3. 分析操做系統設計中的折衷。
4. 從方便性、效率和演化升級能力方面, 描述一種現代操做系統的功能。
5. 討論網絡、客戶—服務器和分佈式操做系統,及其與單用戶操做系統的區別。
6. 識別操做系統面臨的潛在威脅以及應對
這些威脅的安全特徵的設計。
7. 描述諸如開放源代碼軟件和Internet的使用等問題是如何影響操做系統的設計的。
OS2.操做系統原理[核心] 主題:
構造方法(總體式的、分層的、模塊化的、微內核模型)
抽象、進程和資源
應用程序接口(API)的概念
應用的須要和硬件與軟件技術的演化
設備組織
中斷:方法和實現
用戶/系統態的概念以及核心態的保護和轉入
學習目標:
和由系統軟件管理的。
6. 比較操做系統中核心態和用戶態的不一樣。
7. 比較各類構造操做系統的方法,如面向對象方法、模塊化方法、微內核和層次方法的不一樣。
8. 解釋設備列表的使用和驅動器I/O隊列。
OS3.併發[核心] 主題:
狀態與狀態圖
結構(就緒表、進程控制塊等) 分派和上下文交換
中斷的做用
並 發 執 行 : 優 點 和 缺 點「互斥」問題和一些解決方案 死鎖: 緣由、條件和預防
模型和機制(信號量、監控程序、條件變量、會合點)
生產者—消費者問題和同步
多處理器問題(旋轉鎖、重入)
學習目標:
1. 在操做系統的框架內描述對併發的需求。
2. 演示因爲多個獨立任務的併發操做所引發的潛在的運行時間問題。
3. 總結可以在操做系統級實現併發系統的機制,並描述各自優勢。
4. 解釋一個任務可能經歷的不一樣狀態以及支持對多個任務進行管理的數據結構。
5. 總結在操做系統中解決互斥問題的不一樣方法。
6. 描述在操做系統中使用中斷、分派和上下文切換支持併發的緣由。
7. 對簡單的問題域生成其狀態和轉移圖。
8. 討論數據結構如棧和隊列在管理併發中的應用。
9. 解釋形成死鎖的條件。
OS4.調度與分派[核心] 主題:
搶佔非搶佔調度
調度器和(調度)策略進程和線程
時限和實時問題
學習目標:
1.比較和區別操做系統中常見的搶佔非搶佔任務調度算法,好比優先權、性能比較和公 平 —— 共 享 模 式 。 2. 描述調度算法和應用領域之間的關係。
3.討論處理器調度的類型,如短時間、中期、長期(short-term, medium-term,
long-term)調度 和I/O調度。4.描述進程和線程之間的區別。
5.比較和區別實時調度的靜態和動態方法。
6.討論對搶佔和時限(deadline)調度的需求。
7.理解蘊涵在調度算法中的邏輯(思想)是如何應用於其餘領域,如磁盤I/O、網絡調度、項目調度和其餘與計算相關的問題的。
OS5.存儲器管理[核心] 主題:
物理存儲器和存儲管理硬件的回顧覆蓋、交換和分區
分頁和段
換入和換出策略 工做區和系統顛簸高速緩存
學習目標:
5. 解釋各類把內存分配到任務的方法的理由,並說明各自的優勢。
6. 解釋使用高速緩存的緣由。
7.比較和區別分頁和分段技術。
8.從顛簸產生的緣由和用於識別和管理該問題的技術兩方面討論顛簸的概念。 9. 分析各類不一樣的存儲器分區技術,包括
覆蓋、交換、換入和換出策略。
OS6.設備管理[選修] 主題:
並行和串行設備的特色設備差別的抽象
緩衝策略
直接存儲器存取故障恢復
學習目標:
1.解釋並行和串行設備的區別,並說明各自適用的條件。
2.認識物理硬件和操做系統維護的虛擬設備之間的關係。
3.解釋緩衝並描述其實施策略。
4.區別用於設備(包括握手設備、多媒體、網絡) 和計算機接口的機制,解釋它們對操做系統設計的意義。
5.描述直接內存訪問的優缺點並討論在何
種狀況下其使用可以獲得保證。說明對故障恢復的需求。
OS7.安全和保護[選修] 主題:
系統安全概述
策略和機制的分離安全方法和設備 保護、存取和認證保護模型
存儲保護加密
恢復管理
學習目標:
1.論證對保護和安全的須要,以及計算機使用中道德方面考慮的做用。
2.總結用於提供保護和安全的操做系統的特性和侷限性。
3.對比當前用於實現安全的方法。
4.就安全性對比兩個或者更多目前流行的操做系統的優缺點。
5.就恢復管理對比兩個或者更多目前流行的操做系統的優缺點。
OS8.文件系統[選修] 主題:
文件: 數據、元數據、操做、組織、緩衝、順序、非順序
目錄: 內容和結構
文件系統: 分區、安裝/卸載、虛擬文件系統
標準實現技術存儲映像文件專用文件系統
命名、搜索、訪問、備份
學習目標:
1.總結支持文件系統所要考慮的所有事項。
2.比較文件組織的不一樣方法,認識各自的優缺點。
3.總結硬件的發展是如何致使咱們在文件系統的設計和管理上重心的改變的。
OS9.實時和嵌入系統[選修] 主題:
進程和任務調度
實時環境中的存儲/磁盤管理要求失敗、風險和恢復
實時系統中的特別須要關注的問題
學習目標:
1.描述什麼樣的系統是實時系統。
2.解釋實時系統中延遲的存在及其特色。
3.總結實時系統中的特殊問題並說明這些問題是如何解決的。
OS10.容錯[選修] 主題:
基本概念: 可靠和可用的系統空間和時間冗餘
實現容錯的方法可靠系統的例子
學習目標:
1.解釋術語:容錯,可靠性,和可用性之間的聯繫。
2.概述操做系統中實現容錯的方法。
3.解釋故障發生以後,操做系統如何繼續發揮做用。
OS11.系統性能評價[選修] 主題:
爲何系統性能須要評價評價什麼
高速緩存、分頁、調度、存儲管理和安全等策略
評價模型: 肯定模型、分析模型、仿真模型或特定於具體實現的模型收集評估數據的方法(剖析和追蹤機制)
學習目標:
1.描述用於肯定一個系統運行狀況的性能指標。
2.解釋用於評價一個系統的主要的評價模型。
OS12.腳本[選修] 主題:
腳本和腳本語言的做用基本的系統命令
創建腳本,參數傳遞執行腳本
腳本對程序設計的影響腳本對程序設計的影響
學習目標:
1.總結操做系統提供的典型系統命令集。
2.顯示腳本語言的典型功能,解釋其對程序設計的意義。
3.解釋執行腳本的機制以及腳本對系統執行和集成的做用。
4.實現一個展現了參數傳遞過程的簡單腳本。
網絡計算(NC)
NC1. 網絡計算導引 [核心]
NC2. 通訊和組網 [核心] NC3. 網絡安全 [核心]
NC4. 客戶-服務器計算的一個實例:Web
[核心]
NC5. 創建 Web 應用 [選修]
NC6. 網絡管理 [選修]
NC7. 壓縮和解壓 [選修]
NC8. 多媒體數據技術 [選修]
NC9. 無線和移動計算 [選修]
NC1. 網絡計算導引 [核心]
主題:
網絡產生的背景、歷史,以及 Internet
網絡體系結構 網絡計算的範圍
——網絡和協議
——網絡和多媒體系統
——分佈式計算
——移動和無線計算
學習目標:
1. 討論早期網絡和 Internet 的演化過程。
2. 可以使用一些常見的網絡應用,包括
e-mail、telnet、FTP、新聞組、web 瀏覽器、在線 web 課程和即時消息傳遞。
3. 解釋典型網絡體系結構的層次結構。
4. 描述網絡計算領域中的新興技術並對其目前的性能、侷限和近期內的發展潛力進行評價。
NC2. 通訊和組網 [核心]
主題:
網絡標準和標準體系
ISO 7 層參考模型及其在 TCP/IP 中的實例化
電路交換和包交換流和數據包
物理層的網絡概念(理論基礎、傳輸介質、標準)
數據鏈路層概念(成幀、出錯控制、流量控制、協議)
網絡互連和路由(路由算法、網絡互連、擁塞控制)
傳輸層服務(創建鏈接、性能問題)
學習目標:
1. 在具體的歷史環境中討論重要的網絡標準。
2. 描述 ISO 參考模型前 4 層的責任。
3. 討論電路交換和包交換的區別以及各自的優缺點。
4. 解釋網絡是如何探測和糾正傳輸錯誤的。
5. 演示(數據)包是如何在 Internet 上尋找路由的。
6. 創建一個簡單網絡,包括兩個客戶和一個使用標準主機配置軟件工具,如DHCP 的服務器
NC3. 網絡安全 [核心]
主題:
密碼學基礎密鑰算法
公開密鑰算法認證協議
數字簽名實例
學習目標:
1. 討論公開密鑰密碼術基本思想。
2. 描述公開密鑰密碼術是如何起做用的。
3. 區別密鑰和公開密鑰算法。
4. 總結各類常見的身份認證協議。
5. 產生併發送一個 PGP 密碼對,使用該
PGP 包發送加密的 e-mail 信息。
6. 總結各類公衆可以方便地使用的加密方法的性能和侷限性。
NC4. 客戶-服務器計算的一個實例:Web
[核心]
主題:
Web 技術
——服務器端程序
——常見的網關接口(CGI)程序
——客戶端腳本
——(Java)小程序的概念
Web 服務器的特色
——處理請求
——文件管理
——一般的服務器體系結構的功能客戶機的角色
客戶—服務器關係的本質
Web 協議
Web 站點建立和 Web 管理的支持工具開發 Internet 信息服務器
發佈信息和應用
學習目標:
1. 解釋客戶機和服務器在一些可能應用中的不一樣做用和責任。
2. 選擇一些可以保證爲不一樣的客戶-服務器實現方案提供有效途徑的工具。
3. 設計並實現一個簡單的基於 Web 的交互式應用(例如:一個簡單的 Web 表格, 它從客戶機上收集信息並存放在服務器上的某個文件中)。
NC5. 創建 Web 應用 [選修]
主題:
應用層協議
Web 工程原則
數據庫驅動的 Web 網站遠程調用(RPC)
輕量(light-weighted)分佈式對象中間件的做用
支持工具
分佈式對象系統的安全問題企業中基於 Web 的應用
學習目標:
1. 解釋如何使用不一樣類型的 Web 技術創建中等規模的交互式客戶-服務器 Web 應用。
2. 說明如何實現一個數據庫驅動的 Web 網站,解釋體系結構每一層中的相關技術和隨之而來的性能折衷。
3. 使用兩種分佈式對象框架實現一個分佈式系統,並對它們的性能和安全問題進行比較。
4. 討論企業範圍內基於 Web 應用的安全問題及安全策略。
NC6. 網絡管理 [選修]
主題:
網絡管理問題概述
密碼的使用和訪問控制機制域名和名字服務
因特網服務提供者(ISP) 的相關事項安全問題和防火牆
服務質量問題:性能、錯誤恢復
學習目標:
1. 解釋由一系列的安全威脅,包括病毒、蠕蟲、欺騙程序和拒絕服務攻擊引起的網絡管理問題。
2. 總結不一樣安全方法的優缺點。
3. 制訂一個保證專用系統具備適當的安全等級的策略。
4. 實現網絡防火牆。
NC7. 壓縮和解壓 [選修]
主題:
模擬和數字表示編碼與解碼算法
無損耗和有損耗壓縮
數據壓縮:Huffman 和 Ziv-Lempel 算法
音頻壓縮和解壓圖像壓縮和解壓視頻壓縮和解壓
性能問題:同步、壓縮比、用於實時應用時的適用性
學習目標:
1. 歸納數字表示中採樣和量化的基本特色。
2. 根據特定的應用和環境,爲文本、音頻、圖像和視頻信息選擇最適合的壓縮技術。
3. 解釋壓縮和解壓算法的不對稱性。
4. 說明遊程長度(run-length)編碼的概念。
5. 解釋壓縮工具,如使用 Huffman 編碼和Ziv-Lempel 算 法 的 UNIX compress 是如何壓縮典型的文本文件的。
NC8. 多媒體數據技術 [選修]
主題:
聲音和音頻、圖像和圖形、動畫和視頻多媒體標準(音頻、音樂、圖形、圖像、
電話、視頻、電視)
容量規劃和性能問題
輸入和輸出設備(掃描儀、數碼相機、觸摸式屏幕、聲控設備)
MIDI 鍵盤、合成器
存儲標準(磁光盤、CD-ROM、DVD) 多媒體服務器和文件系統
支持多媒體開發的工具
學習目標:
1. 對若干媒體或多媒體標準,用非技術語言描述每種標準的要求,並解釋人的理解對這些標準局限性的敏感程度。
2. 評價一個計算機系統容納一系列可能多媒體應用的潛力,包括多媒體系統對底層網絡技術需求的評估。
3. 描述必須實現一個可能的多媒體應用的計算機系統的特色(包括支持工具的識別和恰當的標準)。
4. 實現一個具備至關規模的多媒體應用。
NC9. 無線和移動計算 [選修]
主題:
無線標準的歷史、演化和兼容性概述無線和移動計算的特殊問題
無線局域網和衛星網無線本地環路
移動因特網協議
移動感知適應(aware adaptation)
擴展客戶-服務器模型以適用於移動計算
移動數據訪問:服務器數據傳播和客戶高速緩存管理
支持無線和移動計算的軟件包中間件和支持工具的做用
性能問題
正在出現的技術
學習目標:
1. 描述移動 IP 的主要特色並解釋它與 IP 在移動管理、位置管理以及性能上的差異。
2. (使用本地和外地代理)說明 e-mail 和其它數據流是如何使用移動 IP 選擇路由的。
3. 實現一個簡單的依賴移動和無線數據通訊的應用。
4. 瞭解該領域內的大量的熱點領域,包括網絡互連、多媒體、無線和移動計算和分佈計算。
設計語言(PL)
PL1. 程序設計語言概述[核心]
PL2. 虛 擬 機 [ 核 心 ] PL3. 語言翻譯導引[核心]
PL4. 聲明和類型[核心]
PL5. 抽象機制[核心] PL6. 面向對象程序設計[核心]
PL7. 函數式程序設計[選修]
PL8. 語言翻譯系統[選修]
PL9. 類型系統[選修]
PL10.程序設計語言的語義[選修]
PL11.程序設計語言的設計[選修]
PL1.程序設計語言概述[核心] 主題:
程序設計語言的歷史程序設計模式概述
--過程式語言
--面嚮對象語言
--函數語言
—說明性、非算法語言
—腳本語言
規模對程序設計方法的影響
學習目標:
1.總結程序設計語言的演化過程,解釋今天使用的各類程序設計模式是怎樣由此發展而來的。
2.對於本單元中的每一種程序設計模式,至少識別其一個特色。
3.評價不一樣程序設計模式之間的折中,考慮的問題包括空間效率和(計算機和程序設計人員的)時間效率、安全性和表達能力。
4.區別小型和大型程序設計的不一樣。
PL2.虛擬機[核心] 主題:
虛擬機的概念虛擬機的層次中間語言
在不一樣的機器上運行代碼引起的安全問題
學習目標:
4. 解釋可執行程序是如何經過訪問磁盤文件和內存損害計算機的安全性的。
PL3.語言翻譯導引[核心] 主題:
解釋器和編譯器的比較
語言翻譯階段(詞法分析、語法分析、
代碼生成和優化)
翻譯中依賴和不依賴於機器的方面
學習目標:
1. 比較和區別編譯與解釋執行模型,闡述各自的優勢。
2.描述從源代碼到生成可執行代碼之間的程序翻譯的各個階段,以及在這些階段產生的文件。
3.解釋依賴於機器和不依賴於機器的翻譯的區別,以及它們分別表如今翻譯過程當中哪些方面。
PL4.聲明和類型[核心] 主題:
做爲具備一系列操做的數值集合的類型的概念
聲明模型(綁定、可見性、範圍和生命期)
類型檢查概述
無用存儲單元的收集
學 習 目 標 : 1.解釋聲明模型的價值,尤爲是對大型程
序 設 計 來 說 。 2.肯定並描述變量的性質,如關聯地址、
值、範圍、持續性和大小。3.討論類型的不兼容性。
4.解釋不一樣形式的綁定、可見性、範圍和生命期管理。
5.說明類型和類型檢查在提供抽象和安全性過程當中的重要性。
6.評價生命期管理中的折中(引用記數和無用單元收集)。
PL5.抽象機制[核心] 主題:
做爲抽象機制的過程、函數和迭代器參數化機制(引用和值)
活動記錄和存儲管理 類型參數和參數化類型程序設計語言中的模塊
學習目標:
1.解釋抽象機制是如何支持可重用軟件部件的生成的。
2.解釋值調用(call-by-value)和參照調用(call-by-reference)參數傳遞上的區別。
3.說明抽象的重要性,特別是對大型程序設計來講。
4.描述計算機系統是如何使用激活記錄來管理程序模塊及其數據的。
PL6.面向對象的程序設計[核心] 主題:
面向對象的設計 封裝和信息隱藏 行爲和實現的分離類和子類
繼承(重載、動態分派) 多態(子類型多態和繼承) 類的層次
集合類和迭帶協議
對象的內部表示和方法表
學習目標:
1. 說明採用面向對象設計的緣由以及封裝、抽象、繼承和多態的概念。
2. 使用面向對象的程序設計語言設計、實現、測試和調試簡單的程序。
3. 描述類機制是如何支持封裝和信息隱藏的。
4. 使用類層次結構和繼承設計、實現和調試一個對象之間具備「is-a」關係的實 現。
5. 比較並區別面向對象程序設計語言中超載概念與重載方法的不一樣。
6. 解釋類的靜態結構和類實例的動態結構之間的關係。
7. 描述iteraor是如何訪問container中的元素的。
PL7.函數式程序設計[選修] 主題:
—函數式語言產生的動因及其概述
—表、天然數、樹以及其它遞歸定義數據上的遞歸
--語用學(用分而治之的策略調試, 數據結構的持續性(persistency))
--函數數據結構的緩衝效率
(amortized efficiency)
--閉包和函數做爲數據的使用 (無限集、流)
學習目標:
1. 歸納函數式程序設計模式的優缺點。
2. 使用函數式程序設計模式設計、實現、測試和調試程序。
3. 解釋函數如何做爲數據使用,包括閉包的概念。
PL8.語言翻譯系統[選修] 主題:
正則表達式在掃描器中的應用
語法分析 (具體和抽象語法、抽象語法樹)
上下文無關文法(CFG) 在表驅動和遞歸降低分析法中的應用
符號表管理
攀樹式代碼生成
和特定體系結構相關的操做:指令選擇和寄存器分配
優化技術
支持翻譯過程的工具的使用,以及使用工具的好處
程序庫和獨立編譯創建語法制導工具
學習目標:
1. 描述語言翻譯器的翻譯步驟和使用的算法。
2.瞭解做爲基礎的形式模型,若有限自動機、下推自動機及其與經過正規表達式和文法所作的語言定義之間的聯繫。
3.討論優化的效果。
4. 解釋獨立編譯工具和程序庫對編譯過程的影響。
PL9.類型系統[選修] 主題:
做爲具備一組操做的數值集合的數
據 類 型 數據類型
—基本類型
—積、餘積類型
—代數類型
—遞歸類型
—向量(函數)類型
—參數化類型類型檢查模型
用戶自定義類型的語義模型
—類型縮寫
—抽象數據類型
—類型等價參 數 多 態 子類型多態
類型檢查算法
學習目標:
1. 使類型表示形式化。
2.描述各類基本數據類型。
3.解釋抽象數據類型的概念。
PL10.程序設計語言語義學[選修] 主題:
非形式語義學 形式語義學概述指稱語義學
公理語義學操做語義學
學習目標:
4.評價各類不一樣的形式語義學方法。
PL11.程序設計語言的設計[選修] 主題:
語言設計的通常原則設計目標
類型體系
數據結構模型控制結構模型抽象機制
學習目標:
人機交互(HC)
HC1. 人機交互基礎[核心]
HC2. 創建簡單的圖形用戶接口[核心]
HC3. 以人爲中心的軟件評價[選修]
HC4. 以人爲中心的軟件開發[選修]
HC5. 圖形用戶接口設計[選修]
HC6. 圖形用戶接口程序設計[選修]
HC7. 多媒體系統的人機接口[選修]
HC8. 協同和通訊的人機接口[選修]
HC1.人機交互基礎[核心] 主題:
動機: 爲何要關心人?
人機接口環境(工具,網絡超媒體, 通訊)
以人爲中心的開發和評價
人的表現模型: 理解、運動和認知人的表現模型: 文化、通訊和組織適應人的多樣性
好的設計和優秀設計者的原則;工程折衷
可用性測試導引
學習目標:
1.討論以人爲中心進行軟件開發的緣由。
2.總結研究心理和社會交互的基礎科學。
3.區別假設和實驗結果的不一樣做用,以及相互關聯。
4.制訂一個概念詞彙表來分析人與軟件的交互:如可伺服性(affordance)、概念模
型、 反饋等。
(a)兩種不一樣的人類文化以及(b)一種文化和它的一種亞文化中的不一樣解 釋。
HC2. 創建簡單的圖形用戶接口[核心] 主題:
圖形用戶接口(GUI)的原理GUI工具箱
學習目標:
1.肯定進行有效GUI設計的若干基本原則。
2.使用GUI工具箱生成支持圖形用戶接口的簡單應用。
3.說明基本設計原則對圖形用戶接口結構的影響。
4.對每個實例進行簡單的可用性測試並比較其結果。
HC3.以人爲中心的軟件評價[選修] 主題:
確立評價目標
沒有用戶參與的評價:走查、KLM、方針和標準
用戶評價:可用性測試、協商、考察、實驗
學習目標:
1.討論評價標準: 學習、任務時間和任務結束、可接受性。
2.實施走查和 Keystroke Level Model (KLM) 分析。
3.總結主要的指導方針和標準。
4.進行可用性測試,協商和調查。
5.把可用性測試與對照實驗進行比較。
6.用以人爲中心的標準和可用性測試,評價一個現有的交互式系統。
HC4.以人爲中心軟件開發[選修] 主題:
方法、特色和過程概述
功能和可用性: 任務分析、協商、調查
交互和表示方式規格原型技術和工具
--文件情節串聯圖版
--繼承和動態分派
--原型語言和GUI生成器
學習目標:
1.解釋以人爲中心的開發的基本的類型和特色。
2.比較以人爲中心的開發與傳統軟件工程方法的異同。
3.說明三項功能要求和三項可用性要求。
4.利用變遷網絡,面向對象設計或者腳本描述確切地說明一個交互式對象。
5.討論使用文件和軟件原型開發軟件的優缺點(pros and cons)。
HC5.圖形用戶接口設計[選修] 主題:
選擇交互風格和交互技術 普通窗口小配件的人機接口
屏幕設計的人機接口:佈局、顏色、字體、標籤
處理人爲失敗
簡單屏幕設計之外的內容:可視化、表達、比喻
多模式交互: 圖形、聲音和觸覺
3D交互和虛擬現實
學習目標:
1.總結常見的交互方式。
2.解釋普通窗口小配件(widgets)、序列化屏幕表示、 簡單的差錯陷入對話框和用戶手冊設計中好的設計原則。
3.設計、原型化實現和評價一個簡單的2D
GUI,並對其進行評價,解釋HC3和HC4中所講的概念。
4.討論從2D到3D交互轉化過程當中存在的挑戰。
HC6.圖形用戶接口程序設計[選修] 主題:
UIMS,對話獨立性和分析的層次窗口小配件類
事件管理和用戶交互幾何管理
GUI 生成器和UI程序設計環境跨平臺設計
學習目標:
1. 區別UIMS責任和應用的責任
(respinsibilities of UIMS and application)。
2.認識UI的基於核心模型和顧客—服務器模型之間的區別。
3.比較事件驅動模式和傳統的UI過程控制。
4.描述窗口小配件的聚合和基於約束的幾何管理。
5. 解釋回調及其在GUI生成器中的做用。
6.闡述跨平臺UI設計中常見的至少三點區別。
7.儘量多地認識在不一樣平臺上進行UI設計時的共同點。
HC7.多媒體系統的人機接口(HCI)[選修] 主題:
信息的分類和結構: 層次、超媒體信息檢索和人的表現
--網絡搜索
--數據庫查詢語言的可用性
--圖形學
--聲音
多媒體信息系統的HCI設計語言識別和天然語言處理信息設備和移動計算
學習目標:
1.討論信息檢索與事務處理的差異。
2.說明信息組織是如何支持檢索的。
3.描述數據庫查詢語言的主要可用性問題。
4.說明語音識別技術特別是天然語言處理的現狀。
5.設計並原型化實現一個簡單的多媒體信
息系統,並對其進行評價,解釋HC四、HC5 和HC7中所講的概念。
HC8.協同和通訊的人機接口[選修] 主題:
支持專門任務的羣件:文檔準備,多個玩家的遊戲
異步組通訊: 電子郵件、公告牌同步組通訊: 聊天室、召開會議聯機社區: MUD與MOO
軟件特徵和智能代理
學習目標:
HC5和HC8中所講的概念。
6.參加一個項目隊伍,其中一些交互是面對面的,另一些是經過中介軟件環境進行的。
7.說明面對面和以軟件爲中介進行協同的類似和不一樣之處。
圖形學和可視化計算(GV)
GV1.圖形學的基本技術[核心]
GV2.圖形系統[核心]
GV3.圖形通訊[選修]
GV4.幾何建模[選修]
GV5.基本繪製[選修]
GV6.高級繪製[選修]
GV7.高級技術[選修]
GV8.計算機動畫[選修] GV9.可視化[選修]
GV10.虛擬現實[選修]
GV11.計算機視覺[選修]
GV1.圖形學的基本的技術[核心] 主題:
圖形學軟件的層次
使用圖形應用程序接口(API)
簡單的顏色模型(RGB、HSB、CMYK)
齊次座標系
仿射轉換(比例放縮、旋轉、平移) 取景變換
裁剪
學習目標:
1.區別不一樣層次圖形軟件的性能並描述各自的適宜性。
2.使用標準的圖形應用程序接口(API)產生圖像。
3.使用標準應用程序接口(API)提供的設施來表達基本轉換,如比例放縮、旋轉和平移。
4.實現一個簡單的過程,完成簡單二維圖像上的平移和裁剪操做。
5.討論三維座標系統以及把二維轉換操做擴展用於三維變換須要什麼變更。
GV2.圖形系統[核心] 主題:
光柵和向量圖形系統視頻顯示設備
物理和邏輯輸入設備
圖形系統開發者面臨的問題
學習目標:
1. 給定的應用,描述圖形體系結構的適宜性。
2. 解釋不一樣輸入設備的功能。
3. 比較和區別光柵和向量圖形技術的不一樣。
4. 使用現有的硬件和軟件生成和顯示圖形。
5. 討論新型硬件和軟件在生成和顯示圖形上的擴展性能。
GV3.圖形通訊[選修] 主題:
顏色心理動力學和顏色的相互做用爲視力缺陷修正顏色
不一樣顏色在文化上的意義
對服務特定觀衆的圖像使用有效的僞色彩調色板
爲有效理解而構造視圖
爲有效視頻而進行的圖像修正和硬拷貝
在顏色或者其它可視數據的關鍵信息中使用圖例
在表示上下文和背景信息的圖像中使用正文
圖形操做的可視化用戶反饋
學習目標:
4.生成有效圖形通訊的例子, 恰當地使用顏色、圖例、文本和/或視頻。
GV4.幾何學的模型[選修] 主題:
3D對象的多邊形表示參數化多項式曲線和麪
構造立體幾何(CSG)表示曲線和麪的絕對錶示
空間分割技術過程模型
可變形模型細 分 表 面 多 解 模 擬 重構
學習目標:
1.經過表面棋盤型鋪嵌創建簡單的多面模型。
2.從簡單原語如立方體和二次曲面構造CSG 模型。
3.從隱含表面產生格網表示。
4.使用過程方法產生分數維造型或者地形。
5.從用激光掃描儀獲取的數據點中產生格網。
GV5.基本繪製(rendering) [選修] 主題:
線產生算法(Bresenham) 字體的產生:輪廓和位圖光源和材料性質
環境、散射、和鏡面反射
Phong反射模型
多邊形表面繪製、 平直消隱、
Gouraud 消隱和 Phong 消隱
文本影射、凸起文本、環境圖光線跟蹤介紹
圖像合成、採樣技術和圖形保真
學習目標:
1.解釋以象素顯示爲基礎繪製線段的
Bresenham算法操做。
2.解釋這些技術各自的概念和應用。
3.使用標準應用程序接口(API)產生一幅圖像,從而演示這些技術。
4.認識圖像如何生成的。
GV6.高級繪製(rendering,網上該詞的翻譯有:渲染、影像描繪、影像計算、着色、繪製等,甚至有翻譯成圖騰的)[選修]
主題:
遷移方程
光線跟蹤算法光子跟蹤
全局照明計算的輻射度、表格因素全局照明的有效方法
全局照明的蒙特卡洛(Monte Carlo) 方法
基於圖像的繪製、全景瀏覽、視覺功能建模
複雜天然現象的描繪
非 逼 真 繪 制 ( Non-photorealistic
rendering,網上譯爲:非真實感繪製、反真實渲染)
學習目標:
1.詳細描述幾個遷移方程,注意全部綜合效果。
2.描述計算輻射度的有效算法並解釋準確性和算法性能的折衷。
3.描述建網方案(meshing scheme)的影響。
4.解釋基於圖像的繪製技術、光區域和相關主題。
GV7.高級技術[選修] 主題:
顏色的量化
2D 原語掃描變換、正向差分曲面的棋盤形佈局
隱藏表面的消除方法
Z-緩衝和框架緩衝、顏色通道(暗通道)
高級幾何建模技術
學習目標:
1.描述在該部分中出現的技術。
2.說明如何認識用於產生特殊圖像的圖形技術。
3.使用簡單的圖形系統在單個象素層次上實現任何指定的圖形技術。
4.使用通常的動畫軟件構造使用元球和框架的簡單有機體。
GV8.計算機動畫[選修] 主題:
關鍵幀動畫攝 影 動 畫 腳本系統
分級結構動畫:正向和逆向運動動做捕捉
過程動畫變形
學習目標:
1.解釋用於產生中間位置和走向的樣條內插方法。
GV9.可視化[選修] 主題:
基本的可視化查看和詢問功能 矢量域、張量和流數據的可視化
標量域或高度域可視化: 步進立方體法等值面(isosurface)
直接實體數據繪製:射線造型法、轉換函數、分段、硬件
信息可視化:工程和並行協同方法
學習目標:
GV10.虛擬現實[選修] 主題:
立體顯示
強制反饋仿真、 觸覺設備瀏覽跟蹤
衝 突 檢 測 可見性計算
有嚴格時間要求的繪製、多層細節
(LOD)
基於圖像的虛擬現實系統
分佈式虛擬現實、計算機網絡協做交互式建模
用戶接口問題
在醫學、仿真和訓練中的應用
學習目標:
1.描述由計算機圖形學系統實現的光學模 型,合成立體圖象(stereoscopic view)。
2.描述不一樣瀏覽器跟蹤技術原理。
3.解釋凸多面體的有效衝突檢測算法原理。
4.描述基於幾何和基於圖像的虛擬現實之間的區別。 5.描述網絡環境中用戶行爲的同步和數據一致問題。
6.肯定特定應用的虛擬現實系統對接口,硬件和軟件配置的基本要求。
GV11.計算機視覺[選修] 主題:
圖像獲取
數字圖像及其性質圖像預處理
分段(閾值處理、基於邊界和區域的分段)
輪廓表示和對象識別
運動分析
實例研究(對象識別、對象跟蹤)
學習目標:
1.解釋圖像造成過程。
2.解釋兩個和多個攝象機、立體視覺的優勢。
3.解釋各類不一樣的分割方法,以及它們的特色、區別和優缺點。
4.描述基於形狀和區域表示的對象識別。
5.解釋不一樣的運動分析方法。
6.描述對象跟蹤方法的區別。
智 能 系 統 (IS) IS1.智能系統的基本問題 [核心]
IS2.搜索和約束知足[核心]
IS3.知識表示與推理[核心]
IS4.高級搜索[選修]
IS5.高級知識表示與推理[選修]
IS6.代理[選修]
IS7.天然語言處理[選修]
IS8.機器學習與神經網絡[選修]
IS9.人工智能規劃系統[選修]
IS10.機器人學[選修]
IS1.智能系統的基本問題 [核心] 主題:
人工智能的歷史哲學問題
--圖靈(Turing)檢驗
--西爾勒(Searle)的「中文屋子」 思惟實驗
--人工智能中的道德問題基本定義
--最優vs.類人推理(optimal vs. human-like reasoning)
--最優vs.類人行爲(optimal vs. human-like behavior)
哲 學 的 問 題 現實世界建模
啓發式方法的做用
學習目標:
驗。
3.區別最優行爲和類人行爲的概念。
IS2.搜索和約束知足[核心] 主題:
問題空間
蠻力搜索(廣度優先、深度優先、迭代深刻的深度優先)
最佳優先搜索(普通最佳優先,
Dijkstra 算法, A*, A*的可採納性) 二人遊戲(極大極小搜索,α~β剪枝法)
約束知足 (回溯和局部搜索方法)
學習目標:
1.以狀態、操做、初始狀態、目標狀態描述的形式表述問題空間,並利用該方法爲用英文描述的問題構造一個有效的問題空間。
2.描述組合爆炸問題及其後果。
3.爲某一問題選擇一個適當的蠻力搜索算法,實現並刻畫其時間和空間複雜性。
4.爲某一問題選擇一種適當啓發式搜索算 法,並設計必要的啓發評價函數實現它。
5.描述在什麼條件下啓發式算法能保證最優解。
6.使用α-β剪枝法實現一些二人遊戲的極大極小搜索。
7. 英文表述闡明一個約束知足問題,並使用時序回溯算法實現它。
IS3.知識表示和推理[核心] 主題:
命題和謂詞邏輯回顧歸結和定理證實
非單調推理機率推理
貝葉斯(Bayes)定理
學習目標:
3.討論機率推理的優缺點。
4. 運用貝葉斯定理肯定條件機率。
IS4.高級搜索[選修] 主題:
基因算法模擬退火局部搜索
學 習 目 標 : 1.解釋什麼是基因算法,並比較它們與傳
統的問題求解和搜索技術的有效性。 2. 解釋怎麼使用模擬退火下降搜索的複雜
性,並把其操做與傳統的搜索技術相比較。
3.在傳統領域中使用局部搜索技術。
IS5.高級知識表示和推理[選修] 主題:
結構化表示
--框架和對象
--描述邏輯
-- 繼 承 系 統 非單調的推理
--非經典邏輯
--缺省推理
--信念修正
--優先邏輯(preference logics)
--知識源的綜合
--衝突信念聚合
按行動和變化狀況進行的推理
(reasoning on act and change)
--情形演算
--事件演算
--分支問題
時態和空間推理不肯定性
--機率推理
--貝葉斯網絡
--模糊裝置和機率論
--決策理論
診斷知識表示,定性表示
學 習 目 標 : 1.比較大多數常見的用於結構化知識表示
的模型,着重指出其優勢和不足。 2.說明非單調推理構件的特色及其做爲信
任系統(belief systems)表示機制時的有用性。
3.在具備動做和變化的問題中應用狀況和事件演算。
4.闡述時間和空間推理的區別,解釋其相互關係。
5.說明並比較表示非肯定性的基本技術。
6.說明並比較診斷和質量表示的基本技術。
IS6.代理 [選修] 主題:
代理的定義
成功的應用和基於代理的系統現狀代理體系結構
--簡單的交互代理
--交互規劃器
--層次體系結構
--實例結構和應用代理理論
--承諾
--意圖
--決策理論代理
--馬爾可夫決策過程(MDP) 軟件代理、我的助手和信息訪問
--協同代理
--信息收集代理
可信賴代理(合成字符、在代理中模擬情感)
學 習 代 理 多代理系統
--經濟激勵(economically
inspired)多代理系統
--協同代理
--代理組
--代理模型
--多代理學習 機器人代理導引移動代理
學 習 目 標 : 1.解釋代理與其餘類型智能系統的差異。
2.說明和比較標準代理體系結構。
3.描述代理理論在諸如軟件代理、我的助手和可信任代理等領域的應用。
4.說明會學習的代理和不會學習的代理的區別。
5.用恰當的實例說明多代理系統是如何支持代理的交互的。
6.說明什麼是機器人和移動代理並進行比較。
IS7.天然語言處理[選修] 主題:
肯定和隨機文法語法分析算法
基於語料庫的方法信息檢索
語言翻譯語音識別
學 習 目 標 : 1.定義並比較肯定和隨機文法,並舉例說
明它們是足夠的。 2.識別用於天然語言語法分析的傳統語法
分 析 算 法 。 3. 說明須要創建語料庫的緣由。
4.給出分類實例,並使用基於語料庫的方法查找過程。
5.說明信息檢索、語言翻譯和語音識別技術之間的差異。
IS8.機器學習和神經網絡[選修] 主題:
機器學習的定義和實例監督式學習
學 習 決 策 樹 學習神經網絡學習信念網絡最近鄰居算法學習理論
過份適合的問題非監督學問
增強式學習
學習目標:
1. 解釋三種主要學習類型:監督學習、增強式學習和非監督學習的區別。
2. 實現簡單的:監督學習、增強式學習和非監督學習算法。
3. 對特定的問題肯定三種學習類型中哪一種是合適的。
4. 比較下列技術的區別,舉例說明每一種技術在何種狀況下更優:決定樹、神經網絡和信念網絡。
5. 利用決定樹、神經網絡和信念網絡實現一個簡單的學習系統。
6. 說明目前學習理論的特色,包括已取得的成就和不足。
7. 解釋什麼是最近鄰居算法及其在學習理論中的位置。
8. 解釋什麼是過度適合問題,同時說明檢測和管理該問題的技術。
IS9.人工智能規劃系統[選修] 主題:
規劃系統的定義和實例做爲搜索的規劃
基於算符的規劃命題規劃
擴展規劃系統(基於事實的
(case-based),學習和機率系統) 靜態世界規劃系統
規劃與執行
規劃和機器人學
學習目標:
1. 定義規劃系統的概念。
2. 解釋規劃系統和傳統的搜索技術有何不一樣。
3. 說明做爲搜索的規劃、基於算子的規劃和建議規劃(propositional planning) 之間的區別,舉例說明每一種規劃在什麼領域中最爲合適。
4. 定義並舉例說明下列每一種技術:基於事實規劃、學習規劃和機率規劃。
5. 比較靜態世界規劃系統和須要動態執行
的系統的區別。
6. 解釋動態規劃對機器人學的影響。
IS10.機器人學[選修] 主題:
概述
--機器人系統現狀
--規劃和交互控制
--控制中的不肯定性
--檢測
--(現實)世界模型配置空間
規劃檢測
機器人程序設計導航和控制
學習目標:
1.概述當今機器人系統的潛力和侷限。
2.實現二維機器人和複雜多邊形的配置空間算法。
3.實現簡單的運動規劃算法。
4.解釋與傳感器有關的不肯定性以及如何處理那些不肯定性。
5.設計一種簡單的控制結構。
7.描述未知環境下的各類導航策略,包括各自的優勢和不足。
8.藉助於界標描述各類不一樣的導航策略,包括各自的優勢和不足。
信息系統(IM)
IM1 信息模型與信息系統(核心)
IM2 數據庫系統(核心)
IM3 數據建模(核心)
IM4 關係數據庫(選修)
IM5 數據庫查詢語言(選修)
IM6 關係數據庫設計(選修)
IM7 事務處理(選修)
IM8 分佈式數據庫(選修)
IM9 物理數據庫設計(選修)
IM10 數據挖掘(選修)
IM11 信息存儲與檢索(選修)
IM12 超文本和超媒體(選修)
IM13 多媒體信息與多媒體系統(選修)
IM14 數字圖書館(選修)
IM1 信息模型與信息系統(核心) 主題:
信息系統的歷史和發展動力信息存儲和檢索(IS&R) 信息管理應用
信息獲取和表示分析和索引
搜索、恢復、鏈接、導航
信息隱私、完備、安全和表示可縮放性、效率和有效性
學習目標:
1. 比較並區別信息與數據和知識的不一樣。
2. 總結信息系統從早期到現代的演化過程,區別各自的能力和未來的潛力。
3. 對一個小型或中型的信息系統就其知足實際用戶信息需求的狀況進行評論/辯護。
4. 描述幾個與信息保密、完備性、安全和保護相關的問題的技術解決方案。
5. 解釋如何度量效率(吞吐量,反應時間) 和有效性(檢索,精度)。
6. 描述保證信息系統可以從個體擴展到全體的方法。
IM2 數據庫系統(核心) 主題:
數據庫系統的歷史和原由。數據庫系統組成
數據庫管理系統(DBMS)功能數據庫結構和數據獨立性
數據庫查詢語言的使用
學習目標:
1. 說明把數據庫方法與傳統的使用數據文件的程序設計方法區別開的特性。
2. 說明數據庫系統的基本目標、功能、模型、構件、應用和社會影響。
3. 描述數據庫系統的組成,給出其應用實例。
4. 明確數據庫管理系統的功能,描述他們在數據庫系統中的做用。
5. 解釋數據獨立性的概念及其在數據庫系統中的重要性。
6. 使用查詢語言從數據庫中獲得信息。
IM3 數據建模(核心) 主題:
數據建模
概念模型( 包括實體- 關係模型和
UML)
面向對象模型關係數據模型
學習目標:
1. 根據數據模型提供的用於描述數據庫結構的概念類型爲數據模型分類——即: 概念數據模型、物理數據模型和數據表示模型。
2. 描述建模的概念以及實體——關係模型和 UML 的符號表示,演示其在數據建模中的應用。
3. 描述面向對象模型的主要概念,如對象標示符、類型構造器、封裝、繼承、多態和版本進化。
4. 描述關係數據模型的基本原理,定義重要的關係模型術語。
5. 描述關係數據模型的基本原理。
6. 解釋建模的概念和關係型數據模型符號表示。
IM4 關係數據庫(選修) 主題:
把概念模式映象成關係模式實體和參照完整性
關係代數和關係演算
學習目標:
1. 爲使用實體——關係模型開發的概念模型,準備一個關係方案。
2. 解釋並演示實體完整性約束和參照完整性約束(包括外碼的定義)。
3. 說明來自數學集合論(並、交、差、笛卡爾積)的關係代數操做以及專用於關係數據庫的關係代數操做(選擇、乘、鏈接、除)的使用。
4. 使用關係代數進行查詢。
5. 使用元組關係演算進行查詢。
IM5 數據庫查詢語言(選修) 主題:
數據庫語言簡介
SQL (數據定義、查詢公式、更新子語言、約束、完整性)
查詢優化
仿效實例查詢(QBE)和第四代環境過程語言中的嵌入式非過程查詢
對象查詢語言導引
學習目標:
1. 使用 SQL 創建一個包含關鍵字、實體完整性和參照完整性約束的關係型數據庫模式。
2. 使用 SQL 定義數據並使用 SQL 中的
select 語句檢索數據庫信息。
3. 對查詢處理策略進行評價並選擇最優策略。
4. 經過填充關係模板創建一個非過程查詢,從而構造具備所指望的查詢結果的實例。
5. 把面向對象的查詢嵌入獨立語言,如
C++ 或 Java( 如 SELECT Col.Method() From Object)。
IM6 關係數據庫設計(選修) 主題:
數據庫設計函數依賴
範 式 (1NF, 2NF, 3NF, BCNF)
多值依賴(4NF)
鏈接依賴(PJNF,5NF) 表示理論
學習目標:
1. 肯定兩個或多個屬性(它們是關係的子集)之間的函數依賴。
2. 描述 1NF,2NF,3NF,和 BCNF 的含義
3. 識別一個關係是否屬於 1NF,2NF,3NF,和 BCNF 。
4. 經過規範化把一個 1NF 關係轉換成爲
3NF(或 BCNF)關係的集合,並反向規格化(denormalize)一個關係模式。
5. 解釋規範化對數據庫操做效率,尤爲是查詢優化的影響。
6. 描述什麼是多值依賴以及它所規定的約束類型。
7. 解釋爲何 4NF 在方案設計中是有用的。
IM7 事務處理(選修) 建議時數:3 小時
主題:
事務
失敗與恢復併發控制
學習目標:
1. 經過把 SQL 嵌入到應用程序中的方式, 創建一個事務。
2. 解釋隱含提交(implict commits)的概念。
3. 描述高效事務執行的特定問題。
4. 解釋何時、爲何須要「回滾」以及日誌記錄是如何保證恰當的「回滾」 的。
5. 解釋不一樣的隔離粒度對併發控制機制的影響
6. 選擇恰當的隔離粒度實現特定的事務協議。
IM8 分佈式數據庫(選修) 主題:
分佈式數據存儲分佈式查詢處理分佈式事務模型併發控制
同構和異構方案客戶-服務器
學習目標:
1. 解釋分佈式數據庫設計過程當中數據的分段、備份和分配技術。
2. 評價執行分佈式查詢的簡單策略,從中選擇數據傳輸量最小的策略。
3. 解釋兩段提交協議是如何處理訪問了存儲在多個結點上數據庫的事務的提交的。
4. 描述基於不一樣拷貝技術和投票表決法的分佈式併發控制。
5. 描述客戶——服務器模型中的三個軟件層次。
IM9 物理數據庫設計(選修) 主題:
存儲與文件結構索引文件
哈希文件簽名文件B-樹
密集索引文件變長記錄文件
數據庫效率和協調
學習目標:
1. 解釋記錄、記錄類型、文件的概念以及把文件記錄存入磁盤的不一樣技術。
2. 舉例說明主索引、二級索引和聚簇索引的應用。
3. 區別密集和非密集索引。
4. 使用 B-樹實現動態多級索引。
5. 解釋內部和外部散列技術理論及其應用。
6. 使用散列法簡化動態文件擴展。
7. 描述散列法、壓縮和高效數據庫搜索之間的關係。
8. 評價不一樣散列模式的代價和收益。
9. 解釋物理數據庫設計是如何影響事務效率的。
IM10 數據挖掘(選修) 主題:
數據挖掘的有用性關聯和順序模式 數據分簇
購物籃分析(market basket analysis) 數據清洗
數據可視化
學習目標:
1. 對比在研究和應用實踐中數據挖掘概念的不一樣。
2. 解釋在商場籃子數據中尋找相互關聯的的做用。
3. 描述由關聯規則挖掘發現的各種模式的特色。
4. 描述如何擴展關係系統,從而使用關聯規則尋找模式。
5. 對有效數據挖掘的方法論問題進行評價。
6. 識別所給數據中噪聲源、冗餘和異常
(outliers)並說明其特色。
7. 肯定數據挖掘過程當中結束循環的機制
(在線聚合、任意時間行爲、交互可視化)。
8. 闡述爲何不一樣的結束循環過程可以提升數據挖掘的有效性。
IM11 信息存儲與檢索(選修) 主題:
字符、字符串、編碼、文本
文件、電子出版、標記和標記語言
特里(Tries)、逆序文件、帕特(PAT)樹、簽名文件、索引
語形學分析、詞幹、詞組、中止列表 檢索詞頻率分佈、不肯定性、模糊性、加權
矢量空間、機率、邏輯和高級模型信息需求、關聯、評價、效能
主題詞表、實體、分類、元數據文獻信息、文獻計量學、引用 路由選擇和(社區)過濾
搜索和搜索策略、信息搜尋行爲、用戶建模、反饋
信息彙總與可視化
引用、關鍵詞、分類方案和其它術語的綜合
協議和系統(包括Z39.50、OPAC、WWW 引擎、研究中的系統)
學習目標:
1. 解釋基本信息存儲和檢索的概念。
2. 闡述有效信息檢索的專門問題。
3. 給出使用可選搜索策略的應用,並解釋爲何該應用適合於某個特定的搜索策略。
4. 開展基於 Internet 的研究。
5. 設計並實現一個小型到中型的信息存儲和檢索系統。
IM12 超文本和超媒體(選修) 主題:
超文本模型(早期的歷史、Web、
Dexter、Amsterdam、HyTime)。
連接服務、引擎和(分佈式)超文本結構
結點、複合、定位點
尺寸、單元、位置、範圍瀏覽、導航、視圖、放縮自動連接產生
表示、轉換、同步寫做、閱讀和註釋
協議和系統(包括Web,HTTP)
學習目標:
1.總結超文本和超媒體模型從早期到如今 的演化過程,區別各自的能力和侷限性。
2.解釋基本的超文本和超媒體的概念。
3.說明對信息表示、轉換和同步的基本理解。
4.基於協議和所使用的系統,對比超媒體傳送的差別。
5.利用適當的創做工具設計和實現可以利用Web的信息檢索應用。
IM13 多媒體信息與多媒體系統(選修) 主題:
設備、設備驅動程序、控制信號和協議、DSP(數字信號處理)
應用、媒介編輯器、寫做系統和寫做流/結構、捕捉/表示/轉換、空間/區域、壓縮與編碼
基於內容的分析,索引、音頻、圖像和視頻搜索
表示、繪製、同步、多模式集成和接口
實時發送、服務質量、音頻/視頻會
議、視頻點播
學習目標:
1.描述一般與多媒體信息和系統有關的媒介和支持設備。
2.解釋多媒體表示的基本概念。
3.展現基於內容的信息分析在多媒體信息系統中的運用。
4.從音頻、視頻、圖形學、顏色和其它信息表示概念的適當運用出發,對多媒體表示進行評述。
5.使用商業創做系統實現一項多媒體應用。
IM14 數字圖書館(選修) 主題:
數字化、存儲和交換 數字對象、合成物和包
元數據、分類、做者提交命名、儲存處、文件夾
空間(概念空間、地理空間、2/3D、VR)
體系結構(代理、總線、包裝物/調解者(wrappers/mediators)、互操做性
服務(搜索、鏈接、瀏覽等)
知識產權管理、隱私、保護(水印) 歸檔與保存、完整性
學習目標:
社會和專業的問題(SP)
SP1.計算的歷史(核心)
SP2.計算的社會背景(核心)
SP3.分析方法和工具(核心)
SP4.職業和道德責任(核心)
SP5.基於計算機系統的風險與責任(核
心)
SP6.知識產權(核心)
SP7.隱私與公民的自由(核心)
SP8.計算機犯罪(選修)
SP9. 計算中的經濟問題(選修)
SP10.哲學框架(選修)
SP1.計算的歷史(核心) 主題:
史前史---1946 年之前的世界
計算機硬件、軟件和網絡的歷史計算先驅
學習目標:
1. 列出計算領域的幾位先驅的貢獻。
2. 比較我的計算機和Internet 出現以前和以後人們平常生活的改變。
3. 肯定計算領域歷史中重要的、持續的發展趨向。
SP2.計算的社會背景(核心) 主題:
介紹計算的社會內涵網絡的社會內涵
互聯網的增加、控制和訪問與性有關的問題
國際事務
學習目標:
1. 說明某特殊實現的社會背景。
2. 肯定隱含在一個特殊設計中的假設和價值觀。
3. 經過使用經驗數據評價一個特殊的實現。
4. 描述計算改變人與人之間交互方式途徑的積極和消極方面。
5. 解釋一些國家爲何要限制計算/網絡的訪問。
SP3.分析的方法和工具(核心) 主題:
道德爭論及其評價 肯定和評價道德選擇理解設計的社會背景肯定假設和價值觀
學習目標:
1. 分析某個爭論,肯定其前提和結論。
2. 說明道德爭論中實例、類比和反面類比的應用。
3. 識別基本邏輯推理在爭論中的應用。
4. 肯定事務中的風險投資者以及咱們對他們的責任。
5. 說明在技術決策中道德方面的折衷。
SP4.職業和道德責任(核心) 主題:
咱們依賴的社會價值和法律職業化的本質
各類形式的專業文憑及其優劣公共政策中職業人員的做用 保持對後果的清醒認識
道德上的異議和檢舉
道 德 、 行 爲 和 實 踐 規 範
(IEEE,ACM,SE,AITPD 等等)
處理騷擾和歧視
實踐中計算的」可接受使用」政策。
學習目標:
1. 認識告發事件的發展進程。
2. 說明當相關的職業規範做爲職業風範和決策指南時,有哪些優勢和不足。
3. 認識軟件開發中出現的道德問題,知道如何從技術上和道德上進行解決。 4. 制訂具備具體實施手段的計算機使
用策略。
SP5.以計算機爲基礎的系統的風險和責任
(核心)
建議時數:2 小時主題:
軟件風險的歷史實例(如:Therac-25) 軟件複雜性的意義
風險評估與管理
學習目的:
1. 解釋測試做爲保證軟件正確性的一種方式的侷限性。
2. 闡述正確性、可靠性和安全性的區別。
3. 討論從現有部件重用中發現還沒有發現的問題的潛力。
4. 闡述目前磁盤管理的方法,並說明各自的優缺點。
SP6.知識產權(核心) 主題:
知識產權的基礎
版權、專利和商業祕密軟件版權的侵犯
軟件專利
知識產權的國際問題
學習目標:
1. 區別專利、版權和商業祕密保護。
2. 在國內法和國際法中討論版權的法律背景。
3. 解釋各國的專利法和版權法會怎樣不一樣。
4. 概述軟件專利的發展歷史。
5. 討論軟件版權侵犯對軟件開發者形成的後果以及相關執行組織的做用。
SP7.隱私和公民自由(核心) 主題:
隱私保護的道德和法律基礎 大型數據庫系統的隱私的意義隱私保護的技術策略
電腦空間中的言論自由
國際意義和在不一樣文化中的意義
學習目的:
1. 總結本國隱私權和言論自由權的法律基礎,觀察這些概念在國與國之間有什麼不一樣。
2. 說明目前隱私所面臨的基於電腦的威脅。
3. 解釋互聯網在保護言論自由方面會怎樣改變歷史。
4. 解釋網絡空間中自由言論的優缺點。
5. 闡述隱私保護的趨向,這些趨向在技術實例中獲得證明。
SP8.計算機犯罪(選修) 主題:
計算機犯罪的歷史和實例「黑客行爲」及其做用 病毒、蠕蟲和特洛伊木馬犯罪預防的策略
學習目的:
1. 概述病毒和拒絕服務攻擊的技術基礎。
2. 列舉反黑客攻擊的技術。
3. 討論幾種不一樣的黑客手段及其動機。
4. 認識專業人員在安全問題上的做用及相關的折衷。
SP9.計算中的經濟事務(選修) 主題:
壟斷和它的經濟上的含義
熟練勞動力的供求對計算產品質量的
影響
計算領域的訂價策略
訪問計算機資源的差別及由此產生的不一樣效果
學習目標:
1. 總結反壟斷的緣由。
2. 勞動力供求關係對計算產品質量的影響。
3. 提出解決計算訪問限制問題的途徑並申明其理由。
4. 概述計算產品和服務訂價策略的演化。
SP10.哲學框架(選修) 主題:
哲學框架、特別是功利主義和道德理論道德的相對論問題
從歷史的角度看科學道德 科學方法和哲學方法的不一樣
學習目的:
1. 總結相對主義、功利主義和道義理論的基本概念。
2. 認識道德理論和職業道德的區別。
3. 指出「僱用代理」方法、墨守陳規、天真的利己主義和相對主義做爲道德框架的缺點。
軟件工程(SE)
SE1. 軟件設計(核心)
SE2. 使用 API(核心)
SE3. 軟件工具和環境(核心)
SE4. 軟件過程(核心)
SE5. 軟件軟件需求與規格(核心)
SE6. 軟件驗證(核心)
SE7. 軟件演化(核心)
SE8. 軟件項目管理(核心)
SE9. 基於構件的計算(選修)
SE10. 形式化方法(選修)
SE11. 軟件可靠性(選修)
SE12. 專用系統開發(選修)
SE1. 軟件設計(核心) 主題:
基本設計概念和原則軟件體系結構
結構化設計
面向對象的分析和設計構件級設計
重用設計
學習目標:
1. 討論好的軟件設計應具備的性質。
2.比較並區別面向對象分析和設計與結構化分析和設計的不一樣。
3.基於主要設計原則和概念評價多個軟件設計的質量。
4.在軟件應用的構造過程當中選擇並應用適當的設計模式。
5.利用軟件需求規格和一般的程序設計方法和符號(如使用結構化設計或者面向對象設計),爲一箇中等規模的軟件產品生成並描述其軟件設計。
6.採用適當指導方針,對軟件設計進行評價。
7.在部件級評價軟件設計。
8.從軟件重用的角度評價軟件設計。
SE2.使用API[核心] 主題:
API程序設計
類瀏覽器和相關工具 根據實例進行程序設計
API環境中的調試
基於構件的計算導引
學習目標:
1. 解釋應用程序接口(API)在軟件開發中的價值。
2.在應用API的應用的開發過程當中,使用類瀏覽器和相關工具。
3. 設計,編寫,測試,和調試使用大規模軟件包的程序。
SE3.軟件工具和環境[核心] 主題:
程序設計環境
需求分析和設計建模工具測試工具
配置管理工具工具集成機制
學習目標:
(如管理,建模或測試)。
SE4.軟件過程[核心] 主題:
軟件生命週期和過程模型過程評估模型
軟件過程指標
學習目標:
1. 解釋軟件生命週期及其各個階段,包括其產生的deliverables。
2.選擇,同時證實最適合各類軟件產品的開發和維護的軟件開發模型。
3.解釋過程成熟模型的做用。
4.比較傳統的瀑布模型和增量模型、面向對象模型和其餘適當的模型的異同。
5.對每一種軟件項目過程(senarios), 描述項目在軟件生命週期中所處的階 段,肯定下一步應該完成的特殊任務, 以及適合於這些任務的metrics。
SE5. 軟件需求與規格(核心) 主題:
需求的抽取
需求分析和建模技術功能和非功能的需求原型
形式化規格技術的基本的概念
學習目標:
1.利用啓發和分析的關鍵因素和經常使用的方法爲一箇中等規模的軟件系統生成其軟件需求。
2.討論維護遺產軟件所面臨的挑戰。
3.使用一般的非形式化方法(以需求規格文檔的形式)爲一箇中等規模的軟件系統建模並肯定其軟件需求。
4.利用最好的實踐經驗肯定文檔的質量,從而對軟件需求文檔進行檢查。
5.把使用經常使用的形式化規格語言寫成的軟件需求翻譯成天然語言。
SE6. 軟件驗證(validation) [核心] 主題:
驗證計劃
測試的基本原則,包括測試計劃的產生和測試用例的產生
黑盒和白盒測試技術
單元、綜合、驗證和系統測試面向對象的測試
檢查
學習目標:
1. 區別程序確認和驗證。
2.說明軟件確認中工具的做用。
3.區別在中等規模軟件產品測試中各類不一樣類型、不一樣級別的測試(單元、綜合、系統和驗收)。
4. 對一箇中等規模的代碼段生成、評價並實現一個測試計劃。
5.做爲小組活動的一部分,對一中等規模的代碼段實施檢查。
6. 討論包括面向對象軟件測試在內的各類事項。
SE7. 軟件演化(核心) 主題:
軟件維護
可維護軟件的特色
再生工程(Reengineering) 遺產系統(Legacy systems) 軟件重用
學習目標:
1.識別與軟件演化相關的主要問題並解釋其對軟件生命週期的影響。 2.討論維護遺產系統時所面臨的挑戰以及對反向工程(reverse engineering)的需 求 。 3.概述迴歸測試的過程及其在發行管理中的做用。
4.評估需求變更對現有中等規模軟件產品的影響。
5.做爲對需求變動的響應,爲一箇中等規模軟件產品制定再工程計劃。
6.討論軟件重用的優缺點。
7.在指定環境中發掘軟件重用的時機。
SE8.軟件項目管理[核心] 主題:
隊伍管理
--隊伍過程(Team processes)
--隊伍的組織和決策
--軟件隊伍的做用和責任
--角色肯定和分配
--項目跟蹤
--隊伍問題的解決工程調度
軟件測量和評價技術風險分析
軟件質量保證軟件配置管理
項目管理工具
學習目標:
1.經過介入一項協做項目,說明開發隊伍創建和管理的主要因素。
2.爲一軟件項目準備項目計劃,包括軟件規模和人力評估、時間安排、資源分配、配 置控制,變更管理,以及對項目風險的認 識和管理。 3.比較和區別保證軟件產品質量的不一樣方法和技術。
SE9. 基於構件的計算(選修) 主題:
基本問題
--構件的定義和本質
--構件和接口
--做爲合同的接口(Interfaces as contracts)
--構件的好處基本技術
--構件設計和組織
--與客戶—服務器模型和模式的關係
--對象的使用和對象生命週期服務
(Use of objects and object lifecycle services)
--對象代理的使用
--編組
應用(包括移動構件的使用) 基於構件系統的體系結構
面向構件設計
事件處理: 檢測,通知和反應中間件
--中間件中的面向對象模式
--對象請求代理
--事務處理監視器
--工做流程(Workflow)系統
--當前的最新工具
學習目標:
1.解釋獲得承認的原則,並把這些原則運用到高質量軟件部件的構造中。 2. 爲適合於特定狀況的基於構件的系
統討論並選擇一種體系結構。
3.識別在一個或多個API中實現的事件處理的類別。 4.解釋中間件系統中對象的做用及其與部 件 的 關 系 。 5. 在一些軟件的設計中運用基於部件的方法,這些軟件包括包含併發和事 務、可靠通訊服務、具備遠程查詢和 數據庫管理服務的數據庫交互、安全 通訊和訪問的軟件。
SE10. 形式化方法(選修) 主題:
形式化方法的概念形式化規格語言
可執行和非可執行規格
先後斷言(Pre and post assertions) 形式化驗證
學習目標:
1. 在複雜度較低的軟件代碼中使用形式化驗證技術。
2.討論形式化驗證技術在軟件確認
(validation)和測試中的做用。
3.解釋使用形式化規格語言潛在的好處及弊端。
4.爲從簡單到複雜的多種狀況生成並評價前置和後置斷言。
5.使用常見的形式化規格語言,對一個簡單軟件系統進行規格並從質量方面說明其優點。
SE11.軟件可靠性[選修] 主題:
軟件可靠性模型冗餘和容錯
缺陷分類
機率分析方法
學習目標:
4.肯定具備必定可靠性的軟件體系結構的實現方法。
SE12. 專用系統開發(選修) 主題:
實時系統
客戶—服務器系統分佈式系統
並行系統
基於網絡的系統高度集成的系統
學習目標: 1.識別和討論不一樣的專用系統。
2.在爲特定環境設計的軟件系統中討論生命週期和軟件過程問題。
3.選擇並用適當的理由證實,可以有效地開發和維護專用軟件系統的方法。
4.已知具體環境和一組相關的專業問題,討論參與開發專門系統的軟件工程師應該如何對此做出反應。
5.概述與專用系統開發相關的核心技術問題。
計算科學和數值計算方法(CN)
CN1 數值分析(選修) CN2.運籌學[選修]
CN3.建模與仿真[選修] CN4.高性能計算 [選修]
CN1 數值分析(選修) 主題:
浮點算術
偏差、穩定性和收斂泰勒級數
根的循環求解(牛頓方法) 曲線擬合; 函數逼近
數值微分和積分(Simpson規則) 顯式和隱式方法
微分方程(歐拉方法) 線性代數
有限差分
學習目標:
1. 比較並區別本單元中給出數值分析技術。
2. 定義概念:偏差、穩定性、機器精度和計算逼近的不許確性。
3. 識別計算不許確性的來源。
4. 設計、編碼、測試和調試實現數值方法的程序。
CN2.運籌學[選修] 主題:
線性程序設計
——整數程序設計
——單純法(Simplex method) 機率模型
排隊理論
——Petri網
——馬爾可夫模型和馬爾可夫鏈優化
網絡分析和路由算法預測和評估
——決策分析
——預告
——風險管理
——經濟計量學、微觀經濟學
——敏感度分析動態程序設計
試驗性應用軟件工具
學習目標:
1. 運用運籌學的基本技術。
2. 描述幾個成熟的預測和評估技術。
3. 設計、編碼、測試和調試運籌學研究中求解問題的程序。
CN3.建模與仿真[選修] 主題:
隨機數
——僞隨機數的產生和測試
——蒙特卡洛(Monte Carlo)方法
——分佈函數導引退火模型
——離散事件模擬
——連續模擬
仿真模型的驗證和確認
——輸入分析
——輸出分析排隊理論模型 試驗性應用
學習目標:
1. 探討計算機模擬的基本概念。
2. 評價計算機模擬模型。
3. 比較隨機數產生方法的異同。
4. 設計、編碼、測試和調試模擬程序。
CN4.高性能計算 [選修] 主題:
高性能計算導引
——計算科學的歷史和重要性
——應用領域概述
——所要求技巧的回顧高性能計算
——處理器體系結構
——高性能的存儲器系統
——輸入/輸出設備
——流水線(pipelining)
——並行語言和體系結構科學可視化
——結構表示
——數據格式
——可視化工具和工具包
部分問題(sample problems)
——海洋和大氣模型
——地震波模型
——N-體系統(Barnes-Hut 算法)
——化學反應
——階段轉移
——流體
學習目標:
1. 認識可以使用計算模型改善現有研究方法的問題域。
2. 比較和區別科學和並行計算的體系結構,認識各自的優缺點。
3. 爲高性能系統實現簡單的性能度量。
4. 設計、編碼、測試和調試使用數值分析技術、計算機仿真和科學可視化的程序。