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