浙江大學計算機學院在專業課程中實施課程設計(project)已有10多年的歷史,積累了豐富的經驗和資料。為全面總結專業課程設計的建設經驗,推廣建設成果,學院特別組織相關課程的骨干任課教師編寫了一部以課程設計內容為主的“高等院校計算機專業課程綜合實驗系列規劃教材”,并于2007年下半年起由浙江大學出版社陸續出版。
該系列教材的作者不僅具有豐富的教學經驗,也具有豐富的科研經驗,是浙江大學計算機科學與技術學院和軟件學院的教學核心力量。這支隊伍目前已經獲得了四門國家精品課程(C語言程序設計基礎及實驗、操作系統、嵌入式系統、計算機輔助工業設計)以及六門省部級精品課程,出版了幾十部教材。該系列教材涵蓋了計算機和軟件專業絕大部分專業必修課程和部分選修課程,是一部比較完整的專業課程設計系列教材,也是國內首部由研究型大學計算機學科獨立組織編寫的專業課程設計系列教材。
系列教材由《C程序設計基礎課程設計》、《軟件工程課程設計》、《數據結構課程設計》、《數值分析課程設計》、《編譯原理課程設計》、《邏輯與計算機設計基礎實驗教程與課程設計》、《操作系統課程設計》、《數據庫課程設計》、《Java程序設計課程設計》、《面向對象程序設計課程設計》、《計算機組成課程設計》、《計算機體系結構課程設計》、《計算機圖形學課程設計》等十三門課程的綜合實驗教材所組成。
下面舉例介紹其中幾本教材的主要內容及特點。
《C程序設計基礎課程設計》:在分析C語言高級編程技術的基礎上,通過對“通訊錄”、“計算器”、“俄羅斯方塊”等3個完整案例的解析,指導讀者按照軟件工程的生命周期開發過程,從問題分析、設計、編碼到測試,循序漸進地完成大型程序的開發。教材還提供了9個大型程序訓練的題目及簡要分析,供讀者練習。本教材還針對教學需要,提供了可參考的實施過程說明、開發文檔模版、考核方法和評價標準,特別強調學生團隊合作精神的培養。
《數據結構課程設計》:針對堆棧、樹、圖、排序、哈希查找、算法設計等方面的內容提供了8個課程設計案例,分別從基本知識回顧、設計題目、設計分析、設計實現、測試方法、評分要點等幾個方面進行分析。教材還提供了8個課程設計習題,并對實現要點進行了簡要的分析。
《計算機組成課程設計》:要求實驗者用硬件描述語言(Verilog HDL)設計單元電路、功能部件和指令條數有限而功能較齊全的單時與多時鐘CPU。在計算機功能單元仿真模擬正確后, 實驗者能把自己設計的結果寫入到Spartan-3 Starter Kit Board開發板的FPGA可編程芯片上, 并能直接實驗自己的設計(芯片)是否達到預期目標。實驗設計由淺入深, 內容豐富。
《數據庫課程設計》:以圖書管理系統的開發為例,從需求分析開始,到數據庫設計、數據庫應用和應用開發等過程。其中應用開發的環境和工具包括MySQL數據庫和ODBC接口技術,以及SQL Server和JDBC等。本書側重于介紹“怎么做”和做的過程,而非原理性和全面性的闡述。
《軟件工程課程設計》:主要圍繞軟件工程的基本知識點,通過詳細分析一套典型的實際案例——銀行系統的開發,指導學生應用軟件工程生命周期的理論以及使用相應工具完成實際項目的開發。同時提供了一系列練習項目,供者進一步練習。
《編譯原理課程設計》:主要圍繞設計、實現一個簡單的程序設計語言SPL(Simple Pascal Language)及其編譯器;涵蓋了編譯原理的詞法分析、語法分析、中間代碼生成、代碼優化和目標代碼生成等各階段的內容。通過對該語言編譯器的分析,使學生們對編譯原理有一個形象、直觀和透徹的認識和感受,以便更深入了解和掌握編譯原理的內容和實現方法,進而提高分析問題與解決問題的能力。