摘要:本文針對計算機工程實踐教學現狀,對計算機工程實踐教育模式進行改革和探索,提出了自己的教育理念和改革思路,建立了計算機工程實踐特有的課程體系。
關鍵詞:計算機;工程實踐;課程體系改革
中圖分類號:G642 文獻標識碼:B
最新人力資源調查顯示,人才市場急需計算機工程師人才特別是“嵌入式人才”,但是負責人才輸出和培養的大專院校近年卻出現了重軟件輕硬件、重研究輕操作、重理論輕實踐的現象,顯然無法滿足市場對人才的需求。為了解決供需矛盾問題,達到教育部提出的“高等教育要重視培養大學生創新能力、實踐能力和創業精神”的要求大專院校除了要培養研究和創新型人才以外,應該注重有大工程觀和大系統觀,同時具備一定實踐能力的高級工程師的培養。
為了提高工程實踐教育水平,根據社會和國家建設的需要,清華大學開始建設計算機工程實踐教育實驗區,以此為契機,我們對計算機工程實踐教育模式進行改革和探索。
1 計算機工程實踐教育的定位和教育理念
計算機工程實踐教育的培養目標是:培養學生接受創新的工程實踐意識、嚴謹的工程實踐作風、科學的工程實踐素質、優秀的工程實踐能力、規范的工程實踐標準等方面的教育。依據學校的規劃和實施方案,根據教學需要,我們建立了自己的教育理念,內容如下:
(1)面向工程需求的課程體系
計算機的發展推動了計算機學科的進步,計算機的應用提升了各學科的技術水平。實驗區面向社會實際工程的不同需求,按照技術基礎、工程應用和工程實踐,建立多層次的課程體系。
(2)強調理論基礎上的實踐
計算機教學具有實踐性強的特點,實驗區給學生提供充足的實踐空間,通過實驗驗證、課程設計、專題訓練、專業實踐、畢業設計等實踐活動,提高學生的實踐能力、科學作風,加深對理論知識的理解。數理、電子技術是計算機學科的基礎,邏輯思維、抽象思維是計算能力的體現,實驗區強調理論指導下實踐,實踐與理論的結合。
(3)依托科研優勢的實踐教育
清華大學計算機科學與技術是全國重點學科,擁有高素質的科研隊伍和雄厚的科研能力,承擔了一系列國家“973”、“863”、“國家自然科學基金”、“國家攻關”等重大和重點項目,取得了多項創新性成果。實驗區注意提取科研中的相關知識點,引入到工程實踐教學中,以先進的科學問題激勵學生的思考。通過實踐教學,讓學生體驗書本與應用、學習與研究、通識與專業、繼承與開創的關聯。提升工程實踐人才的培養水平,努力將實驗區建設成為一個科研成果轉化和工程實踐創新基地。
2 計算機工程實踐教育的改革思路
我們深入地分析了國內外院校在計算機教學方面的經驗,從教學內容、授課機制、實踐教學建設、工程意識與團隊精神培養等教學環節和培養目標上看到了我們的不足,并在此基礎上明確了近幾年內的建設目標。與此同時,我們根據建設和發展的要求,針對人才培養模式提出了如下改革思路:
(1)建設一套完整的工程實踐教育體系。計算機學科是實踐性、工程性很強的學科,實踐環節十分重要。建設技術基礎、工程應用和工程實踐三個層次的課程體系,自主研制或引進一批與世界一流大學接軌的實踐教學裝置和儀器,同國內外知名的企業和公司合作建立一批學生工程實踐基地。
(2)建立一支優秀的工程實踐教師隊伍。一堂好的實踐課對教師的要求很高,建立一支愛崗敬業、技術精湛、水平高、責任心強的教師隊伍十分重要,這是搞好計算機工程實踐教育實驗區建設、提高實踐教學水平的重要保障。工程實踐教育實驗區在注重培養學校內部教師工程實踐能力的同時,將定期邀請一批企業、公司中高素質的工程技術人員講學、任教。
(3)注意把科研成果引入到工程實踐教學中,將計算機工程實踐教學區建設成為一個科研轉化基地。高水平的科研始終是實踐教學的有力支撐和源泉。計算機學科發展很快,必須經常更新工程實踐內容,引導學生直接面對科學前沿,應用新技術駕馭新工程,教會學生在實踐中學習,在學習中提高。
(4)加強工程實踐教育標準化,推出面向工程實踐的系列教材。作為工程實踐性強的代表學科,計算機學科對工程實踐能力的要求非常高,但是近10年對此的要求和教育重視程度有所降低,因此加強工程實踐教育尤其是大工程實驗方面的教育是我們接下來的重點改革目標,為了更加系統化和規范化,將推出配套的面向工程和實踐的系列教材。
3 計算機工程實踐教育的課程體系和培養方式
我們設定的計算機工程實踐教學課程體系包括三個層次:技術基礎類、工程應用類和工程實踐類課程,其中工程應用類又分為軟件和硬件兩個子類(如圖1所示)。

(1)技術基礎類課程
從課程設置方面看,這些基礎課程都屬于計算機專業基礎課程,是計算機系學生的必修專業基礎課。這類課程為學生打下了堅實的計算機應用技術基礎,為工程實踐技術的應用做好準備。
(2)工程應用類課程
工程應用類課程分為兩大系列:軟件工程應用系列和硬件工程應用系列課程。軟件工程應用系列以計算機網絡技術、軟件工程、數據挖掘等課程為主體;硬件工程應用系列以計算機組成原理、微計算機技術、嵌入式系統、FPGA設計等課程為主體。這些課程雖然如此分類,但是有很多課程軟件和硬件技術都融合在一起,并非有嚴格的界限劃分,學生在學習和選擇上也僅做參考。這些課程直接為學生服務,提高學生利用“人類通用智慧工具”分析和解決問題的能力,將計算機科學與技術在工程應用中充分體現出來,提升學生的綜合素質和工程應用能力。
(3)工程實踐類課程
計算機工程實踐類課程包括必修和選修環節,目的是能夠將學生培養成為合格的工程師,有創新的工程實踐意識、嚴謹的工程實踐作風、科學的工程實踐素質、優秀的工程實踐能力。此類課程在內容上每年都進行更新,在質量有充分保證的基礎上,每年都爭取增加和擴大,以提高學生的選擇空間。
在三類課程中,實驗區重點突出工程實踐類課程,并逐年提高此類課程所占的比例,力圖將學生訓練成在工程實踐上有很強自主性和創新能力的專才。以計算機工程實踐必修課“計算機專業實踐”為例。該課程要求學生在教師指導下,靈活運用所學到的基礎知識和主要專業知識,自己設計、制作、調試完成一個工程性極強的大型教學實踐課程,使學生在實際動手能力、創新思維、專業知識、工程實踐能力和團隊合作精神等方面得到全面的訓練。主要內容包括“開放式CPU設計與測試”、“多模態身份驗證系統”、“足球機器人及機器人足球賽”、“基于FPGA的微機接口設計”等。以“開放式CPU設計與測試”專題為代表,該實踐專題的最大優點是開放式設計,完全由學生自主設計處理機體系結構,并進行全面測試。該實踐專題以“數字電路”和硬件設計語言為基礎,把“計算機組成原理”和“計算機系統結構”等課程理論與實踐融合在一起,是計算機本科硬件課程的匯總。
再例如2007年7月夏季學期推出的“基于大規模集群的海量數據處理技術”課程,該課程是Google公司與實驗區合作,在清華大學開設的有關集群分布式編程的課程。通過本課程的學習,學生將深入了解到通過大規模集群的模式處理海量數據的方式與編程方法。來自Google公司的優秀工程師親自講述有關使用大規模集群處理海量數據的理論知識以及相應的實際編程方法。通過實踐相關的課程內容,使用開源的Apache Lucene Hadoop工具,學生親身實踐Google文件系統以及Google所使用的分布式編程方式MapReduce。學生還需要完成特定的分布式應用程序設計來鞏固所學的編程知識,用于處理實際的海量數據問題。課程內容的重點放在實踐上面,Google公司為學生提供一個具有20個節點的大規模集群范例,學生可以在這個集群上面完成相應的實踐課程以及最后的大項目作業。大項目作業是檢驗學生是否掌握課程內容的關鍵,學生可以根據自己的能力以及對課程的理解程度,選擇一些項目來實踐完成。例如可以利用所學的編程方法完成一個完整獨立的搜索引擎,或者在現有的基礎之上建立類似于Google的分布式鎖機制Chubby以及結構化數據處理系統BigTable。我們主要邀請Google內部的具有實際分布式工作經驗的工程師前來授課,包括世界一流大學的教師,授課語言為英語。
長期與清華大學計算機工程實踐實驗區合作的有微軟、GOOGLE、INTEL、IBM等國際知名公司,這些公司除了和我們有長期合作項目以外,還定期派多名工程技術工程師來實驗區講課和培訓。作為工程實踐課程的一個特色,大量聘請外部教授和工程師來實驗區講學和培訓已經成為我們大力推廣的一種辦學方式,我們將努力把這樣的課程推廣到總體實踐課程的1/4以上。
實踐項目創新特別是工程實踐類項目創新是清華大學始終堅持的原則,實驗區力爭每年都有新實踐項目開設,有新實踐平臺提供給學生使用,有新的大型工程創新實踐環境提供給學生,使學生能夠把握計算機技術發展的新動向,具備對全新工程的駕馭能力。