緒論:寫作既是個人情感的抒發,也是對學術真理的探索,歡迎閱讀由發表云整理的11篇計算機系畢業設計總結范文,希望它們能為您的寫作提供參考和啟發。
關鍵詞:硬件課程群;實驗體系;實驗內容;實踐能力
中圖分類號:G642
文獻標識碼:B
我校計算機專業自99級開始進行了較大規模的擴招,但由于師資力量跟不上、實驗條件和實驗內容相對落后等原因,造成計算機硬件教育存在層次單一、教學內容滯后、理論與實踐脫節等問題,學生普遍存在著“重軟怕硬”的現象,畢業后硬件設計能力差,軟件開發缺少后勁。為提高學生的硬件動手能力,增強畢業生的社會適應性,學院自2002年開始進行計算機硬件課程群建設及相應的硬件課程群實驗體系建設,包括“計算機組成原理”等九門硬件課程及5門相關的實踐課程。本文對我院計算機硬件課程群實驗體系建設及硬件實踐教學環節的改革進行了探討與總結。
1構建科學完整的硬件課程群實驗體系
在原有的課程體系下,我院為本科生開設的硬件實驗教學課程有“數字邏輯實驗”、“計算機組成實驗”、“微機接口實驗”、“單片機實驗”。由于實驗條件的限制,各課程實驗內容相對獨立,綜合性、系統性較差;尚有部分硬件主干課程沒有對應的實驗課程,如系統結構。實驗課程體系存在諸多問題。
(1) 缺乏對學生系統設計能力的培養。傳統的硬件設計和軟件設計相分離的設計方法成為阻礙設計和實現復雜、大規模系統的關鍵因素。系統平臺的搭建、軟硬件的協同設計驗證和軟硬件功能模塊的可重用性已成為現階段設計方法的熱點。培養學生具有系統設計的思想成為當務之急。
(2) 缺乏對學生可編程芯片設計能力及EDA技術的培養??删幊绦酒cEDA技術是現代電子設計的發展趨勢,將可編程芯片設計及EDA技術引入實驗教學中是時展的需要。
(3) 缺乏綜合性的實踐課程,學生的創新能力發揮受限。由于實驗條件限制,原有的多數實驗是基于純硬件邏輯設計的,只是在面包板上用器件構建小系統,功能擴展性差;并且只能開設數量有限、技術含量較低的實驗,學生無法開展自主的綜合性設計,無法進行創新能力的培養。
為此,經過充分調研和論證,我院首先從修改03級教學計劃入手,對課程體系中的多門課程進行了調整,同時理順各門課程間的關系,構建起了新的硬件課程體系。該課程體系由必修課程、選修課程及配套實踐三部分組成。必修課包括“組成原理”、“接口技術”、“系統結構”等基礎課程。為適應社會需求,在選修課中刪去原有的“診斷與容錯”等一些過時的課程,增加“數據采集”、“計算機控制技術”、“嵌入式系統”等社會需求較強、實用價值高的應用性課程,同時新開了“模型機設計與組裝”、“硬件綜合實踐”等實踐課程。在07版教學計劃中,又新增了“DSP原理與應用”、“嵌入式系統實踐”等新課程,保證課程體系的實用性與先進性。
硬件系列課程從體系結構上劃分為三個層次:基礎層、應用層和提高層,其課程間的關系如圖1所示?;A層為“數字電路”與“組成原理”?!皵底蛛娐贰闭n程雖然在教學體系上不屬于計算機硬件系列課程,但它是計算機硬件系統的技術基礎,是必修的前續課;“組成原理”介紹計算機的基本組成和工作原理,解決整機概念;通過“電工電子實習”與“模型機設計與組裝”兩門實踐課程,強化學生的硬件動手能力。在應用層中,通過“接口技術”介紹應用層的接口和相關外設,以“嵌入式系統”等四門實用性強的課程作為選修課,每門課程都配有相應的實驗環節,并通過“硬件綜合實踐”、“嵌入式系統實踐”強化學生對基礎知識的掌握和綜合應用。提高層為“系統結構”及“性能測試與分析”實踐課程,通過學習和實踐,能夠使學生比較全面地掌握計算機系統的基本概念、基本原理、基本結構、基本分析方法、基本設計方法和性能評價方法,并建立起計算機系統的完整概念。
在硬件課程群實驗體系建設過程中,突出強調課程體系的系統性和完備性。從第1學期到第7學期硬件實驗不斷線,層次逐步提高,實驗內容銜接連貫。注意各硬件實踐的相互次序和互補,使硬件實踐訓練層次化、系列化,以此來系統強化學生的硬件動手能力。同時調整各課程的開設順序,理順每門課與前導課和后續課之間的關系,從而保證硬件課程體系的系統性和完備性。
注:所有必修課程與選修課程均開設課內實驗,包括驗證實驗(20%)、設計實驗(80%);實踐課程單獨開設,包括綜合實驗(80%)、探索實驗(20%)。
2改革實驗教學內容與模式
計算機硬件系列課程的重要特點之一是工程性、實踐性強。為了使學生在學過該系列課程后具備較強的實際動手能力和計算機應用系統的開發能力,應在實驗教學內容的設置上體現出基礎性、系統性、實用性和先進性,既要重視計算機硬件的基礎內容,又要結合當今電子與計算機的最新發展。為此,我們對該硬件系列課程的實驗教學內容和教學模式進行了改革創新。
2.1優化實驗內容,引進實驗新技術,提高硬件設計的效率和興趣
隨著計算機硬件技術的日益發展,各種各樣的微處理器不斷更新,功能不斷增強,以FPGA為代表的數字系統現場集成技術取得了驚人的發展,嵌入式系統設計也逐步成為主流。為了使學生跟上時代潮流,了解最新技術,需要不斷引入新設備、新技術,提高硬件設計的效率和興趣。如更新的“組成原理”和“系統結構”實驗臺,通過RS232串口與PC機相連,可在PC機上編程并向系統裝載實驗程序,還可在PC機的圖形界面下進行動態調試并觀察實驗的運行,使學生像設計軟件一樣來設計硬件,做到了硬件設計軟件化,大大提高了硬件設計的效率和興趣?!澳P蜋C設計與組裝”,將CPLD和FPGA等技術引入,用CPLD來設計復雜模型機?!皡R編語言”和“接口技術”補充Windows下設備驅動程序的設計與實現,增加PCI、USB的應用等內容?!跋到y結構”通過局域網組建小型的微機機群,研究探索多處理機操作系統,試驗并行程序的運行與任務分配調控等功能。為適應當前嵌入式芯片的迅速普及應用,新開設了“嵌入式系統設計”課程設計。針對學生已學過多門硬件課程,但仍不能完成一個完整的、可獨立工作的計算機系統設計問題,新開設了“硬件綜合實踐”,使同學親自體會設計一臺微型計算機系統的全過程。
2.2建立“驗證型-設計型-綜合型-探索型”的多層次實踐教學模式
在實驗教學內容的改革上,本著“加強基礎、拓寬專業、注重實踐、提高素質”的方針,將實驗項目分為4類,即驗證型、設計型、綜合型、探索型,實驗項目由淺入深,循序漸進。在所有硬件必修和選修課程中,全部開設課內實驗。課內實驗由驗證實驗(20%)、設計實驗(80%)組成。所有實踐課程都單獨開設實驗,包括綜合實驗(80%)、探索實驗(20%)。這樣,課內課程中開設“驗證型”和“設計型”的實驗,在后續課程設計中,開設“綜合型”和“探索型”的實驗,形成“驗證型-設計型-綜合型-探索型”的多層次實踐教學模式,系統強化學生的綜合設計和硬件動手能力。
在驗證型實驗中,注重使學生鞏固基本理論,進一步掌握基本概念和基本技能。在設計型的實驗中,注重培養學生的創新意識、設計能力和動手實踐能力。在這一類實驗中,以學生動手為主,教師輔導為輔,只給定實驗的課題及達到的目的,中間過程需學生自己去查閱資料和設計方案,直至最后調試完成。在綜合型實驗中,注重培養學生綜合運用所學知識的能力,使學生受到更為實際、更加全面的科學研究的訓練。綜合實驗的特點是沒有現成的模式可循,學生需要獨立完成硬、軟件設計和調試。在調試過程中,學生自己動手分析解決實驗中出現的問題,雖然有一定的難度和深度,但對學生很有吸引力,能使學生從應付實驗變為主動實驗,不僅提高了基本操作技能,也發揮了學生的主觀能動性和創造性。課程設計的部分內容屬于探索型實驗,學生可以自主選擇感興趣的課題及相關開發工具,寫出設計書,交給指導教師審核后實施。在這一過程中,學生需要查閱大量的資料,培養了學生的自學能力、研究設計能力、獨立分析問題及解決問題的能力和創新能力。
2.3確立“系列化硬件實踐訓練”方案
硬件實踐訓練由“課程實驗-課程設計-綜合訓練-畢業設計”四個系列組成。課程實驗――所有硬件課程都開設。課程設計――在“嵌入式系統”、“組成原理”等重點課程中開設,在這些課程的課內實驗中進行部件或模塊實驗,在課程設計中進行綜合性、創新性設計。綜合訓練――通過“硬件綜合實踐”展開。該課程安排在大四開設,是一門綜合性設計實踐課程,也是對前面所學課程的一個全面應用和總結,在硬件課程群建設中起著“總練兵”的作用。通過讓學生親自設計一臺小型計算機控制系統,包括計算機的各個部件和功能,“麻雀雖小,五臟俱全”,旨在讓學生真真切切感受到如何設計一個可獨立工作的計算機系統,強化和提高學生的綜合實踐能力,培養學生的創新思維和創造能力。畢業設計――每年精選一定數量的硬件畢業設計題目,提供實驗場所、設備及材料,讓對硬件感興趣的同學去實現自己的設計,放飛自己的理想。學生以接近于實際應用環境,完成高質量綜合設計為訓練手段,以掌握計算機硬件結構與應用系統設計作為主要訓練目的,使學生對計算機的整個硬件系統有較全面、較系統的掌握。要求學生能夠根據需要設計出一定規模的計算機硬件應用系統實例,從模板設計、制作、總線的走向、計算機部件選取、工作原理的分析、部件在模板上的部局、部件的焊接、運算能力的調試、結果正誤的判斷分析等流程的設計到具體的制作,直至最后寫出畢業論文,使學生建立系統的概念與工程的概念。
3結束語
上述改革取得了令人滿意的效果。大學生對計算機硬件實驗課程學習的興趣增強了,實驗室開放期間,有更多的學生走進了硬件實驗室。在畢業設計時,有更多的學生選擇了與計算機硬件系統設計和開發相關的課題。學生做完硬件綜合實習和硬件畢業設計課題后,普遍充滿自豪感和成就感,感到硬件設計及底層軟件開發不再可怕。通過這樣的訓練,提高了其綜合設計能力和創新能力,同時也鍛煉了他們的團隊合作精神,步入單位就能直接勝任計算機應用系統設計、開發的工作,實現高校、學生、用人單位等各方面的多贏。同時我們也應該看到,隨著新技術的不斷發展,計算機硬件系列課程及其實驗體系的建設和實驗內容的改革是一項長期不懈的工作,需要不斷完善。
參考文獻
[1] 羅家奇,李云,葛桂萍等. 計算機硬件系統實驗教學改革的研究[J]. 實驗室研究與探索,2007,26(8):98-99.
中圖分類號:G642 文獻標識碼:B
文章編號: 1672-5913(2007)10-0104-04
1“項目化”訓練模式
浙江萬里學院自2005年9月開始,在計算機專業部分實踐課程教學中實施了“項目化”教學訓練模式,比如“Internet應用”、“軟件工程”、“專業實驗”、“課程設計”等課程,學生們普遍表現出對于這種教學訓練方式的歡迎,較好地提高了學習興趣,給學生帶來了良好的就業效應。
“項目化”訓練模式是指在計算機專業實踐性課程教學中,實踐內容按照不同的規格形式設計成不同的演練項目,將參與的學生按課題組(項目團隊)進行分組,組內學生分配不同任務,通過參與不同項目角色的演練,完成不同規格的要求,最終達到教學目標的一種個性化訓練模式。項目,即與計算機專業相關的工程項目,可以是有一定綜合性的課程實驗項目,設計性的模擬項目,也可以是實際軟件工程項目或其子項目等。實踐性課程包含計算機專業實踐教學體系之內的實驗課程、課程設計、集中實踐與實習,以及校外實習、畢業設計等,還包括素質拓展訓練項目。該訓練模式研究的目的是在1~4年級中,按照訓練體系的安排,對學生實施“專業興趣培養專業基礎奠定專業技能訓練行業小項目引導企事業實用項目開發”的過程培養,使學生在工程項目的認知、設計、開發、建設、管理、服務等系列訓練過程中學習知識、鍛煉技能、掌握技術、拓展素質、提升專業素養、實踐能力和創新能力,為社會培養出貼近行業需求、角色定位明確、職業適應期短、綜合素質高的應用型人才。
2畢業設計“項目化”組織
畢業設計是高等工科院校教學計劃的重要組成部分,是工科類專業的最后一個教學環節。既是學生對所學專業知識綜合運用的過程,也是學生將理論與實踐相結合,發現、分析和解決問題,提高其能力的過程,更是培養學生創新精神的過程。抓好設計環節,無疑是極為重要的。然而,傳統的工科學生畢業設計,大多是閉門造車,至多是模擬完成的。這種“紙上談兵”式的畢業設計形式背離了高等教育培養人才的目標,嚴重脫離企業生產實際,造成了供需脫軌社會問題。
提倡產學結合的“項目化”畢業設計,改革畢業設計的內容和方式,對提高畢業設計質量,確保專業培養目標的實現具有重要意義。
在經過了一些課程“項目化”訓練模式改革的基礎上,部分學生已經具備了軟件項目的設計開發能力,計算機系決定對2007屆部分畢業生實施“項目化”的畢業設計改革嘗試。項目來源于企業,其中較大的一個項目是寧波華力電腦公司進銷存ERP項目,在經過充分的前期協商之后,學院與該公司簽訂了20萬元的合作協議。項目按功能劃分為五大模塊:采購業務、銷售業務、財務管理、其他管理、綜合查詢,如圖1所示。
圖1 項目模塊劃分
項目納入畢業設計以后向全系師生公布,自愿報名,要求加入之后必須接受公司化管理機制,最終由7名教師和55名學生組成了一個大項目組,其組織結構如圖2所示。
圖2 項目人員組織結構
總負責人是有20余年軟件設計開發經驗的高級工程師(教師),辦公室協調人員由教師擔任,其余教師帶領學生進入各項目模塊,項目組和測試組成員全部由學生自主報名,在過程實施中也可適當調整,教師完全是以教練的角色參與項目過程。
3項目實施過程及要求
為了確保畢業設計質量,學院出臺了一系列的規章制度,以加強畢業設計過程管理。對于基于實際項目的小組來說,時間限制、嚴格管理及規范要求尤為重要。
3.1時間保障
為緩解畢業設計與就業的時間沖突,畢業設計安排大多從第7學期開始,但是學生在第7學期依然會有課程學習、報考研究生、考公務員等事情,所以時間還是不寬松。我們的處理辦法是:
(1) 在學期結束之前,從畢業論文要求的角度來講,只要求項目組完成資料查閱,寫出文獻綜述;確定方案,寫出開題報告;從項目研發的角度來講,要完成需求分析及初步方案論證。
(2) 在學期結束之后,項目組全體成員推遲放假10天,按照畢業設計進程計劃及項目協議要求,完成項目的主體設計部分及相關工程文檔初稿。
(3) 下學期開學的主要工作一方面是測試、整合、完善軟件,最終交付用戶使用;另一方面是完成整體畢業論文、工程文檔、軟件說明書等文檔工作,準備論文答辯。
3.2過程管理
計算機與信息學院歷年來注重畢業設計的過程管理工作,除了在二級學院網站上及時公布畢業設計進程及詳細要求之外,學院每年印刷畢業設計手冊,師生人手一冊,包括了進度計劃、選題申請表,文獻綜述、開題報告、任務書、論文等寫作指導,以及論文詳細格式規范、答辯記錄與要求、成績評定標準、過程管理監督簽字表等內容。其中,過程管理簽字表是為了確保畢業設計質量而要求每兩周至少完成一次“畢業設計導師―班級導師―輔導員”三級簽字手續,由導師分配設計任務,學生描述其完成情況,班級導師和輔導員給予確認。近幾年實施結果表明,這是一種切實可行的保障畢業設計質量的措施。
對于項目組成員來說,由于有實際任務的壓力,有項目經理負責管理,加上角色分工明確、要求具體,而且又是在集中時間、集中實驗室中進行,因此過程管理比較容易。大多數同學都非常積極主動,爭取早日完成指定任務,有些設計內容來回修改多次,從完成到完善,都是在項目總負責人的協調下進行。學生們從中不僅得到了軟件開發過程的規范化鍛煉,更重要的是學會了管理自己,學會了個人服從集體,學會了與客戶、其他項目組、項目組內部人員之間的溝通協作問題。
3.3工程文檔規范要求
軟件開發工作技術性很強,除了要求參與人員必須具有一定的技術水平,更需要具備寫文檔的能力。因為一方面從事軟件業人員的流動性比較大,一旦主要負責人員離開,又沒有規范化文檔留下,后續工作會變得非常困難。另一方面對于軟件本身的更新與修改來說,同樣離不開前期文檔。從軟件開發公司的實際運行結果看,文檔問題長久以來一直困擾著整個行業。在著名軟件的發展歷史上,也不乏印證軟件過程文檔重要性的實例。
從畢業論文的角度,要求學生必須具備規范的文獻綜述、開題報告、中英文摘要、論文正文、參考文獻、致謝、資料翻譯等近兩萬字的文檔材料。
從項目研發角度,要求學生提供:需求規格說明書、概要設計說明書、過程設計(亦稱為詳細設計)說明書、測試計劃、測試報告、用戶操作手冊、項目開發總結報告、程序維護手冊、軟件問題報告和軟件修改報告等相關文檔。
本項目最后要形成一套面向客戶的、詳細的軟件使用手冊,一套面向軟件工程的、標準的工程文檔,多套面向畢業設計的、符合畢業論文要求和規范的畢業論文文檔。
4思考
2007屆基于實際項目的“項目化”畢業設計的實施,是浙江萬里學院計算機專業教學改革的一次嘗試。無論是從專業建設、學院教學改革方面,還是從教師角色挑戰、學生學習重心偏移等方面,都是值得深入思考的。
(1) 學院領導的改革思路及大力支持至關重要。浙江萬里學院各級領導都很年青,思維活躍、改革進取,使得學校得以快速發展。計算機專業的這種公司式的“項目化”畢業設計組織實施,如果沒有學院在政策、經費、實驗設備及場地上的大力支持,是無法實現的。
(2) 教師需要轉變觀念并付諸行動。近兩年的改革活動,我們已經有近30名來自教學一線的教師參與,為培養“雙師型”教師提供了鍛煉的機會。特別是這次畢業設計的實際項目操作,對教師自身素質能力是一種挑戰,大部分青年教師非常熱心地投入,表現了極大的參與熱情,突現出一批優秀的教師。但是也還存在著以下問題:
一是大多數高校教師都是出學校進學校,重理論輕實踐。由于自身缺乏實踐經驗,因此在教學上基本是“紙上談兵”。比如程序設計語言課,特別注重語法知識的講解,往往是半個學期還沒有進入實際程序設計,學生被繁雜的語法搞得不知所措,興趣全無,進而對編程課和專業課的學習失去信心,在進入畢業設計時就不知從何處下手了。
二是集體組織觀念不強,責任感不夠。有些開發過軟件項目,具有較強實際動手能力的教師,喜歡以自己的思路單打獨斗,唯我獨尊,不聽從別人的意見,不注重團隊配合,組織管理及協調能力不到位。有些教師缺乏責任感,認為項目好壞是總經理的事,應付差事,不管項目進展到多么關鍵時刻,依然是自己的私事最重要。這些思路整合和人員協調問題輕者造成項目進程緩慢,無法按計劃完成,重者可能會造成項目失敗。
因此,如何整合教師隊伍,提升其實踐能力和業務素養,提高組織管理能力和團隊意識?如何讓他們都能充分發揮骨干的作用?是值得我們思考的問題。
(3) “項目化”畢業設計充分挖掘出一般院校學生的潛力,展現了他們活躍的思維與創意,可如何提高受益面呢?
以實際項目為目標,以實際公司化組織模式來組織師生團隊,激發了學生們的創新熱情。同時他們的表現也給老師們帶來了驚喜,我們的學生有思想、會創新,同樣具有廢寢忘食的精神,動手能力不比一本、二本的學生差。這樣的畢業設計活動深受學生及其家長歡迎,基于學院與北京起步科技公司合作人才培養協議,在這次畢業設計項目組中,有五位學生得到公司技術管理人員的認可,再經過明年幾個月的訓練,即可去北京總公司或上海的分公司應聘工作,待遇優厚。
但是,從這次項目組合來看,不是所有學生都能夠積極主動,有些組中間不得不調換人員,原因是部分學生對軟件開發不感興趣,報名時有點混水摸魚,沒想到這么辛苦,還要遲放假,于是就知難而退,不思進取,這也是很多同類院校部分學生的現狀問題。
(4) “項目化”實踐教學評價體系的構建問題。在實際項目實施中,體現了溝通能力與團隊協作精神的重要性。有些平時學習成績好、但孤高自傲、獨來獨往的同學,不能與人和睦相處而不被團隊歡迎。相反,平時學習成績一般的學生,思維活躍、組織管理能力很強,反而能當好項目經理。這使得多年來以考試分數為唯一考評體系的教育模式受到沖擊。目前,我們采取的主要考核辦法是:不同的崗位角色給出不同考核標準,每一角色又是基于完成任務的效果及與他人合作的結果進行評定,目前還無法確定一個量化指標,有待進一步探討。
5結束語
“項目化”訓練模式是在計算機專業教育與社會需求之間出現脫離的情況下孕育而生的改革措施,是一種綜合性強、互動性高、知識含量大、實用性廣的實踐教學活動。經過浙江萬里學院計算機系從簡單課程到畢業設計的教學試驗表明,該模式徹底打破了學生只學習課本知識,不知道如何應用于實際的僵局,能快速提高學生軟件開發的實戰能力,鍛煉學生的組織管理能力,培養學生的團隊合作精神。很多學生由此看到了未來職業對自己的要求,因而端正了學習態度,明確了職業方向,增強了學習動力,提高了學習效果。教師們也普遍看到了這種教學模式對于扭轉“供需不對應”社會問題的建設性作用。有理由相信,經過不斷的探索和改進,一段時間后,這種模式必然會改進本專業畢業生的社會認可程度,為應用型本科院校計算機專業教學中闖出一條新的教學之路。
參考文獻
[1] 黃明和等. “導師制下項目驅動教學模式”的研究與實踐[J]. 計算機教育,2007,38,(2):29-32.
[2] 李繼芳. 畢業設計(論文)過程管理與提高質量的探索[J]. 科技信息(學術版),2006,3,(B):24-25.
[3] 龔方紅,湯正華,蔣必彪. 試論工程教育中的本科實驗教學改革[J]. 中國高教研究,2006,(4):86-87.
關鍵詞:教學改革;創新型人才;計算機硬件實驗
中圖分類號:G642
文獻標識碼:B
1計算機硬件實驗普遍存在的問題分析
目前,國內大多數高等院校的實驗組織模式和實驗手段主要存在以下問題:
“一人動手大家看”的“放羊式”
實驗的內容、步驟嚴格按照教材(實驗指導書)進行
實驗內容陳舊、與工程實際脫節
本科生和研究生的實驗環境分別建設
計算機學科的課程內容具有很強的交叉性和相關性。針對每門具體課程單獨設置實驗及單獨提供實驗環境,一方面很難使學生對其前導課程所完成的基礎能力做要求,同時也很難兼顧到其后續課程,各自獨立,相互間缺少有效的貫通;另一方面實驗環境重復建設,實驗資源得不到充分利用。下面以“數字邏輯”、“計算機組成原理”和“計算機系統結構”三門硬件主干課程為例說明計算機硬件實驗的現狀。
(1) “數字邏輯”是計算機專業必修的專業基礎課,目的在于掌握計算機數字電路設計和調試方法,為后續硬件課程奠定基礎。而相應的“數字邏輯實驗裝置”一般僅能用于TTL與GAL器件的實驗;有部分學校購置的實驗裝置還不能進行GAL器件的實驗。實驗一般使用小規模74系列TTL器件,通過面包板實現輸入/輸出連線,其可靠性低、元器件易損,復雜實驗受到限制,很難支持設計型實驗;許多目前流行的硬件設計方法,如采用EDA(電子設計自動化)工具的基于CPLD(復雜可編程邏輯器件)的邏輯設計等,更是因為硬件設計環境不夠而無法進行。
(2) “計算機組成原理”作為計算機專業的核心課程,目前很多大學采用類似清華大學計算機廠早期研制的實驗裝置,采用面包板和撥位開關等輸入/輸出接線,調試手段缺乏,支持的實驗內容少,對CPU設計之類的實驗沒法很好地開展。即使一些新的實驗裝置,重點仍然是支持驗證型實驗,設計型實驗的開展仍具有局限性。
(3) “計算機體系結構”作為計算機專業的高端專業課,由于缺乏實驗條件,很多學校還沒有開設實驗,少數開設實驗的學校也只能采用系統結構模擬軟件進行模擬實驗。大多數該類模擬軟件運行在UNIX平臺上,參數設置復雜、接口界面不友好,使用起來費時費力。學生只是通過課堂學習來掌握計算機體系結構的內容,缺乏對計算機體系結構的感性認識,更談不上培養學生的設計與創新性能力。
由于以上三門課程目前都只針對自己的課程內容單獨設置實驗并單獨提供實驗環境,這些相關性非常強的課程各自獨立,相互間缺少有效的貫通,不僅導致了實驗環境的重復建設,實驗資源得不到充分利用,而且也不利于學生對計算機硬件體系有一個系統的了解,更無法對本科生的課程設計、畢業設計等大型和綜合型訓練提供必要的支撐環境。
為了解決目前計算機硬件實驗教學中存在的問題,需要建立能滿足計算機專業實驗教學需求的,集實踐性、先進性、開放性、創新性為一體的先進硬件實驗教學體系,結合EDA、軟件模擬和虛擬現實等先進的實驗手段建立集基本驗證、綜合設計和創新研究為一體硬件實驗平臺,促進理論教學與實踐教學緊密結合,以適應學科發展和IT企業對高層次計算機專業人才的更高需求。
2 適應多層次人才培養需要的計算機硬件實驗體系的建立
為了構建適合本科生、研究生多層次需要的一體化的實驗教學體系,我們對國內外著名大學的課程及實驗教學大綱等做了深入的研究,主要做了以下幾個方面的研究工作:
(1) 研究計算機專業硬件課程及其實驗課程當前的設置和今后的發展趨勢;
(2) 剖析計算機專業硬件相關課程之間的銜接關系;
(3) 分析教學實驗和科研實驗的本質,發現本科階段以及研究生階段主要硬件課程教學實驗的規律。
基于以上研究工作,我們設計的計算機硬件實驗體系主要包含以下層次。
2.1系統化的計算機硬件實驗內容層次
計算機學科是目前更新換代最快的學科之一,實驗在設計時必須和實際工程結合緊密。實驗內容和手段的設計必須是以培養具有很好實踐能力和一定創新能力的本科畢業生為目標。因此,我們將每門課程實驗的內容分為以下三個層次:
基礎驗證型:主要用于驗證課程當中所講的內容,加深對課堂知識的理解,并培養學生的基本專業技能和實際操作能力。
綜合設計型:這類實驗一方面可以加強學生對相關課程的理解,更主要的是培養了學生綜合分析能力和獨立解決問題的能力。
創新研究性:這類實驗要求學生自行設計目標并進行實驗;實驗允許失敗,但是必須對失敗原因和改進設想做深入的分析和探討。這類實驗是學生早期參加科學研究的一種重要形式,主要培養學生的創新意識、創造性思維及創造性個性,使學生創新性的想象力、判斷力、思維能力和實踐能力得到提高。
這三個實驗從內容上由淺入深、由易到難,從對學生的要求上是由低到高的。其中前兩類實驗主要針對本科生設計,第三類實驗主要針對少數有余力的低年級本科生、多數畢業設計階段的本科生和所有研究生設計。
在多層次實驗教學中,教師的主要作用在于啟發學生認識實驗教學的目的和意義,組織開展實驗教學活動,引導學生研究問題,指導學生的實驗過程和認真完成各項實驗任務。在實驗教學中,教師要教育學生樹立嚴謹的科學態度,鼓勵學生勇于求異的創新意識,注意培養學生獨立解決問題的能力。
2.2計算機硬件課程層次的建立
以西安交通大學計算機學科為例,本科生和研究生的硬件相關課程體系中主干課程由“數字邏輯與數字系統”、“計算機組成原理”、“計算機體系結構”、“高性能計算機體系結構”和“計算機系統的量化研究方法”組成,其中前三門課程為本科生課程,后兩門課程為研究生課程。與主干課程相關的本科生必修課程還包括“匯編語言程序設計”、“微機原理和接口技術”、“操作系統原理”、“計算機網絡原理”、“嵌入式系統”;研究生課程包括“計算機網絡理論及應用”、“VHDL和FPGA設計”、“分布式系統”等。這些課程,特別是主干課程,不僅有較強的順序性,而且課程內容的相關性很強。圖1給出了計算機硬件主干課程的實驗層次。其中,虛線方框部分為偏軟件類型的實驗。
圖1 計算機硬件主干課程實驗層次
從圖1可以看出,計算機專業本科階段硬件主干實驗課程主要為數字邏輯專題實驗、計算機組成專題實驗、微機接口專題實驗;并且這三個實驗中,每個實驗的開展必須以前一個課程為基礎;課程實驗從內容到形式都有很密切聯系。為了讓學生學習完這些課程后對計算機硬件結構有一個系統和感性的認識,我們在設計這三個實驗時,首先設立了一個總的培養目標,每個課程組根據這個目標,結合本課程的內容和培養目標分階段完成相關支撐的實驗內容,并且這些實驗可以采用一致的實驗手段和平臺。具體措施主要包括以下兩方面內容:
(1) 對于每門具體的計算機硬件課程均設置8學時的課內實驗,實驗類型為獨立的基礎驗證性。
(2) 硬件課程都有配套的專題實驗,專題實驗均為綜合設計型。主干課程的實驗為必修專題實驗,其他小部分課程實驗為選修專題實驗。以工程項目設計實驗為目標形成多個系列,同一系列實驗間具有時間先后關系、支撐與被支撐關系。例如圖1中的“數字邏輯”、“計算機組成原理”和“計算機系統結構”三門硬件課程就構成了一個主干的硬件實驗系列。這三門課程的實驗必須在內容上具有前后相關性,并采用基本一致的實驗方法和平臺。
2.3多樣化的計算機硬件實驗平臺層次
在硬件開發平臺的設計上兼顧不同層次人才的培養需要,綜合本碩博各個階段的不同需求,構建多層次的實驗環境,提高實驗效率,促進學生的創新思維,進行創新式構建實驗。還要考慮對畢業設計的實驗環境以及本科生創新性研究活動實驗體系的支持,結合軟件設計的方法和手段(即硬件設計軟件化)構建靈活多樣的硬件實驗平臺。此外,實驗平臺設計要具有層次性,并且考慮課程間內容交叉和互補。
從國外的發展趨勢來看,計算機硬件課程的實驗由傳統的孤立的實驗裝置承擔,發展到了由EDA和CPLD/FPGA仿真器聯合承擔的階段。
傳統的實驗裝置支持相對簡單的連線類的實驗,這類實驗只能使用中小規模的集成電路器件。設計大規模的實驗幾乎是不可能的,因為大規模的實驗用中小規模的芯片來實現費時、費力,且受面包板等空間和實驗裝置能提供的電源限制。
使用HDL語言,如AHDL、VHDL和Verilog等,通過EDA工具軟件設計各種規模的數字電子系統是目前工程師的設計潮流。通過EDA和CPLD/FPGA仿真器能完成計算機硬件課程的各類實驗。圖2是我們設計實現的一款低成本綜合實驗裝置,該裝置使用了Xilinx公司Spartan-3系列FPGA芯片(40萬門),通過擴充板可以滿足大部分的實驗要求。
圖2 一款綜合實驗裝置的PCB的元器件布局示意圖
2.4多層次的實驗考核體制
實驗的考核主要有以下幾種形式。
(1) 實驗過程的跟蹤考核:改變傳統的根據實驗結果和報告打分的體制,對實驗過程中的主要環節進行記錄、評價,并作為最終成績考核的依據。
(2) 實驗報告撰寫:實驗結束后,要求學生撰寫實驗報告,以總結個人實驗結果,明晰實驗思路,實現知識的融合、升華和再學習。通過實驗報告的撰寫可以培養學生對科技活動的總結能力,科技論文的寫作能力,使學生的科研素養得到初步鍛煉。
(3) 實驗答辯機制:對于綜合設計型,特別是創新研究型實驗,前兩種考核機制存在明顯的不足,因此需要引入新的機制來評價學生所做工作及取得的成績??赏ㄟ^學生講解、演示,教師提問和回答,課程設計報告撰寫三個步驟來進行考核。
參考文獻
[1] 蔣景華. 麻省理工學院培養創新人才特色的做法的分析研究[J]. 實驗技術與管理,2006,23(6):1-4.
[2] 朱穎. FPGA實驗開發系統的設計和實現[D]. 西安交通大學計算機科學與技術系,2005.
[3] 趙妍. FPGA開發系統的設計實現和實例開發[D]. 西安交通大學計算機科學與技術系,2007.
[4] 賈國芳. 高校計算機基礎課程體系建設與教學改革探析[J]. 科技教育創新,2007(7):220-221.
計算機專業是一個理論與實踐相結合的、極具工程背景的專業。計算機專業的畢業設計大多除了要求學生寫出論文外,還要求學生實現一個軟件或硬件系統。這種設計是實現專業人才培養目標的綜合I生實踐教學環節,也是培養學生運用本學科的基本理論和專業知識,提高分析和解決工程實際問題的能力、獨立工作的能力和創新意識的重要途徑,更是對學生能力和素質的全面檢查。因此,深入研究計算機專業畢業設計教學對于提高畢業生綜合能力和工程素質有著重要作用。
1 CDIO工程教育模式
由麻省理工學院、瑞典皇家工學院等4所大學研究創立的CDIO工程教育模式是國際高等工程教育改革的新成果。CDIO以產品研發到產品運行的過程為載體,讓學生以實踐的、主動的、課程之間有機聯系的方式學習工程。CDIO培養大綱將工程畢業生的能力分為工程基礎知識、個人能力、人際團隊能力和工程系統能力4個層面,大綱要求以綜合的培養方式使學生在這4個層面上達到預定目標。
2 基于CDIO的計算機專業畢業設計教學改革
2.1 基于CDIO的畢業設計教學模式
建立高水平的教學方法與模式是高校教學設計的核心任務,為保證畢業設計改革的合理性和科學性,我們將CDIO理念融合在計算機畢業設計教學目標、教學過程、教學評價與教學環境的全過程中。從教學執行時間、教學模式、教學內容與組織、教學評估等方面對畢業設計進行改革,改革后的教學模式如圖1所示。根據社會對計算機人才的具體需求,結合計算機軟、硬件系統的設計開發過程和基本原理,形成一個以計算機基礎知識和程序設計實踐為一體的本科學習團隊的整體培養機制。我們將CDIO能力大綱與計算機專業的人才培養特點相結合,全面均衡地提高計算機專業學生的創新能力和職業素質。
2.1.1 采用面向能力培養,強調“學生為中心,教師為引導”的建構主義教學模式
改變目前的“導師命題一學生選題”的畢業設計模式,充分強調整個畢業設計過程中以學生為主體的理念。畢業設計題目的確定是一個復雜的過程,題目的設置既要反映學生綜合應用專業知識的能力,又要體現出計算機專業工程背景的特點。因此,選題時教師應盡量滿足學生就業崗位的需求,并結合學生大學所學習的專業課程。一方面,學生可以根據他們在企業實習中發現的實際工程問題或指導教師的相關科研課題,提出畢業設計研究方向和題目,再由指導教師審核確定題目。另一方面,指導教師應適當考慮學生的興趣和愛好,啟發、引導學生研究具有實際應用價值的課題;學生通過調研、閱讀文獻等手段對課題的發展方向和研究內容有了深入了解后,再確定畢業設計題目。將具有應用價值和明確工程背景的題目作為畢業設計題目,不但可以提高學生畢業設計的積極性,而且有助于學生勝任未來相關技術崗位和工作。
CDIO工程教育理念強調工程系統的實踐能力,因此,在畢業設計教學過程中采取“內引外聯”雙導師制度的指導方式。首先,鼓勵導師組織學生參與導師的科研項目、大學生實踐創新訓練計劃、各類多級別的學科競賽等,提高學生實戰動手能力;其次,構建開放培養平臺,與企業建立橫向聯合,讓企業工程師與學校導師共同指導畢業設計,加強工程實踐教育,縮短學校理論教學與企業實際需求的距離。學生通過工程實踐可以了解計算機相關項目的開發過程,學習工程師的寶貴經驗,從而提升自身的綜合能力和工程素質。
CDIO工程教育理念強調人際和團隊協作能力,這與大型計算機系統開發依靠團隊協同完成的開發模式是一致的。在畢業設計中,學生以課題小組的形式開發應用系統,小組成員各自分工不同,成員發揮各自的認知特點,相互溝通、幫助以實現小組成員的共同目標。學生在拿到設計任務之后,經過認真的分析、思考,制訂出一套解決方案,供組內成員討論。教師定期組織學生進行小組討論,學生先介紹自己的思路、工作進度和任務完成情況,然后共同討論知識難點,在協作學習的氛圍內探究問題最佳的解決方案。另外,學生完成階段任務之后,小組成員包括教師要對任務的完成情況進行評價,評價結果可以作為畢業設計評價的依據。
從選題、構思到團隊分組等過程全部由學生自主完成,教師應盡量以啟發的方式給予合理化建議,輔助學生完成畢業設計,而不再是保姆式的監督、糾正和修改學生畢業設計中的所有問題。
2.1.2 以產品過程為導向,設計教學內容與教學組織
工程教育一定是以應用為目的、以產品/結果為目標、以工程過程(即問題解決過程)為教學組織主線、以“理論+經驗”的“做中學”為教學模式的一種教育。基于CDIO理念的畢業設計教學流程主要分4個階段,導師應指導學生參與畢業設計教學流程中的每一個過程。
(1)構思(C)階段。確定題目和開題,即在確定畢業設計課題、分組與調研方案后,給學生下達畢業論文設計任務書,并讓學生提交開題報告,準備進入實質性設計階段。設計任務書規定了設計題目、要求完成的主要內容、使用的開發工具、成果提交形式及完成日期等。
(2)設計(D)階段。學生應在導師幫助下掌握計算機軟、硬件系統設計的相關理論和方法。計算機相關的開發不僅僅是編程,還包括可行性分析、需求分析、概要設計、詳細設計等過程。需求分析是畢業設計過程中的關鍵過程,此階段的任務是確定系統的目的、范圍、定義和功能,需要團隊成員多次調試、討論。設計階段應完成對系統的體系架構、模塊劃分、接口規范、開發工具及任務分配等的明確說明,并提交相關設計說明書等資料。學生應在導師的指導下不斷完善構思與設計,提高畢業設計質量。
(3)實現(I)階段。即把設計的內容轉化為實際的軟、硬件系統,包括編碼、調試、測試等過程。在編碼階段主要是讓 學生養成好的開發習慣,保證代碼的結構化、可讀性和可移植性;及時進行模塊測試,寫出測試計劃,提交測試分析報告。此外,這一階段教師還要做好畢業設計評估工作中對畢業設計工作的中期檢查,完成中期報告。除了闡述設計思路、工作原理、關鍵技術外,教師還要參照任務書檢查已完成的任務、尚需完成的任務、存在的問題、解決方法等,同時對畢業設計工作進度給予評價。教師通過中期檢查及時發現并糾正存在的問題,督促學生按任務書中的要求和時間進度完成工作。
(4)運作(O)階段。此階段需要導師引導學生總結設計工作,撰寫論文。要求學生掌握論文的寫作規范及寫作要素,同時要求導師對論文提出書面修改意見,并督促學生修改完善。畢業設計答辯流程采取分級審核制,也就是導師初審、預答辯小組會審、正式答辯小組終審的分級審核和學院備案的制度。導師應該根據畢業設計過程中學生的表現和平時成績,決定是否給予學生預答辯資格。學生通過預答辯熟悉答辯程序后,及時發現并修改設計及論文的不足,預答辯小組決定是否給予學生正式答辯的資格。答辯采用項目驗收的形式,答辯人利用PPT介紹設計工作的內容和完成情況,現場運行和查看源代碼,并接受教師提問。最后學院對答辯結果進行抽樣調查以核查成績是否公平合理,并設計復評制度,必要時可以復審。
2.2 基于CDIO的畢業設計實施過程
重新設計的本科畢業設計實施過程如圖2所示。該做法將畢業設計時間提前,避免傳統畢業設計時間與學生就業時間的沖突,以緩解畢業生的雙重壓力。學生在學校也有充足的時間查詢資料、編寫代碼、調試系統、撰寫論文、準備答辯等。
(1)引導階段。改變畢業設計起始時間,從大三上學期即可進入畢業設計引導階段。基于學生已學習了本科階段的主要基礎課程,教師首先要對所有學生介紹畢業設計的重要性、必要性、執行流程、如何選題、如何開展等情況,并特別強調畢業設計的評價標準,使學生對畢業設計有初步的認識。然后,學生可根據自己的興趣、愛好廣泛查閱相關資料,了解研究、設計的方向,在學期末提交一份總結報告。引導階段主要培養學生綜合分析問題、調研、檢索網絡資料和查閱文獻的能力。
(2)選題階段。大三的下學期進入選題階段。選題過程可由學生先行提出畢業設計題目、方向,再由教師審核創新性、可行性,教師亦可以通過啟發、引導的方式提出課題方向,必要的時候教師要給予技術支持和演示。選題階段主要培養學生發現問題的能力。
(3)執行階段。大四上學期是畢業設計的執行階段。經過了縝密的選題階段,教師需引導學生綜合運用所學的專業知識,包括算法設計、數據庫設計、軟件開發方法、程序編寫、界面的美化、程序調試等,實現畢業設計。這個階段主要培養學生解決問題的能力。
(4)總結階段。大四下學期,學生開始整理文檔、撰寫論文、準備答辯,教師要督促學生寫出系統測試分析報告,同時讓學生整理完善計算機軟件設計說明書、用戶手冊、操作手冊等文檔。這個階段主要培養學生的軟件文檔編制和編寫材料的能力,進一步提升學生的軟件設計與開發能力。
2.3 基于CDIO的畢業設計教學評價標準的制訂
CDIO教育模式評價標準(標準11)的核心是能力的培養,能力本位的觀點貫穿于畢業設計的全過程。為確保能力評價過程的合理性和有效性,評價標準采用不同的方式和手段評價不同的能力:
(1)評價的理念應強調學習過程,力求知識與能力的協調統一。學生的知識掌握與能力的建立是通過整個畢業設計教學環節活動獲得的,評價以“過程”為基礎開展,關注知識、技能的學習過程,關注實踐環節及工程應用的能力。評價不能像傳統評價模式那樣只集中在畢業設計答辯環節。畢業設計過程中,學生的文獻檢索、網絡使用能力,團隊合作中的協同能力,困難問題的處理能力,專業技能的積累能力,論文撰寫能力等都是評價學生畢業設計質量不可忽略的依據。
(2)評價的功能應關注工程實際,把握需求與個性特點的有機結合。由于學生的設計題目多來自企業實際,因此,對學生能力的評價不僅要來自學校指導教師和學生團隊,也要來自企業導師。對學生工程意識的建立、工程實踐的能力和產業經驗的評價,企業導師擁有最大的發言權。引人CDIO模型后,評價的功能應由側重成績“優差”轉向側重學生的個性特點。學生的個性特點包括品德、興趣、特長、能力等方面,品德表達了為什么干,興趣表達了想干什么,特長表達了會干什么,能力表達了能干什么。因此,畢業設計評價應關注學生的個性特點,強調評價的針對性、情景性與真實性。
(3)評價的標準與方法應體現革新,突出主動性與階段性的特點。評價標準是實施CDIO教育的關鍵,我們根據CDIO教學理念對人才的要求,提出對畢業設計教學的評價從專業技術知識、動手實踐能力、創新能力、團隊協作能力4個方面進行評價,相應地制訂多元化、多層次、可供組合的畢業設計質量評價標準與指標,并將評價機制貫穿于整個畢業設計過程中。專業知識評價用來衡量學生對基礎理論知識、核心工程技術的掌握程度;實踐能力評價主要考核學生運用知識解決實際問題的能力;創新能力評價用來評估學生的工程分析、推理和創造性設計的能力;團隊協作能力評價記錄整個設計過程中團隊分工、交流、協調、合作的具體內容,并據此對團隊協作能力進行評價。以“分階段任務式”的方式進行評價,摒棄傳統觀念造成的模式化操作過程。對計算機專業畢業設計內容而言,可行性分析、需求分析、系統設計、系統實現及測試等完整的工程過程是畢業設計成果質量的基本保證,應從制度上要求對畢業設計各分階段進行嚴格檢查,對學生的調研報告、開題報告、中期檢查、軟硬件系統設計、論文撰寫、答辯等階段實現全程監控,保證畢業設計高質量的完成。
(4)評價的過程應呈現多維度,要求客觀、公開地反映評價結果。畢業設計評價過程有時會因為不同評審人員采用的指標評價體系不同、畢業設計各類屬性值與指標權重值的不同源 性而失去客觀性。為加強評價過程的客觀性,在評價過程中力求多人員、多層次、多維度地開展評價工作,如畢業設計評價由指導老師、評閱老師和答辯小組綜合制訂。校內指導教師主要側重學生設計階段的評價,企業指導教師主要側重工程意識建立、工程實踐能力的評價,評閱教師主要側重論文文本規范性的評價,答辯小組主要側重答辯時學生的表現和系統演示的效果以及項目指標、功能、性能完成情況等的評價。還可以利用常用的評價方法,如層次分析法、模糊層次分析法等建立本科畢業設計質量評價系統,加強評價過程的客觀性。在對每個方面的評價過程中,評估結果要體現客觀定量與主觀定性的結合。畢業設計評價要客觀透明,評分機制要具有操作性和科學性。另外,畢業設計評價最后要進行審核,以提高畢業設計結果的權威性。
3 結語
筆者以CDIO工程教育理念為指導,基于對教學本質的理解,結合計算機專業的工程教育特點,分析和梳理了計算機專業畢業設計的全過程,對畢業設計選題、時間安排、教學過程以及畢業設計評價等幾個方面進行了教學改革,按照構思、設計、實施、運行4個環節開展畢業設計,并將改革模式應用于寧夏大學計算機專業畢業生,取得了較好的效果,為計算機類專業的畢業設計教學改革提供了一種切實可行的教學模式。未來本文選自《計算機教育》2014年第8期,版權歸原作者和期刊所有,如有異議,請聯系QQ712086967,我們將在第一時間處理。我們將在畢業設計的教學組織、實施過程等方面進一步改進和完善,使該模式更科學、合理,切實提高計算機專業畢業設計教學的質量。
參考文獻:
[1]張紅延.面向能力培養的工科專業課教學設計方法[J].計算機教育,2010(11):54-59.
[2]王娜,徐魯雄.基于任務驅動的計算機專業畢業設計的實踐[J].福建師大福清分校學報,2012(2):37-41.
一、畢業設計的必要性
高等職業教育應該是以能力為本位、以學生為主體、以實踐為導向的教育。近年來為適應社會發展的需求,有學者提出打破傳統的“文化課一專業基礎課一專業課”三段式的課程組合結構,按照新的人才觀標準,實施“職業思想道德一職業基礎知識與能力一職業知識與能力一職業拓展知識與能力”的新課程組合。我們認為,高職院校軟件相關專業組織畢業設計符合新的人才培養標準,對培養學生的職業技能和素質具有重要意義。
在實踐中我們意識到,通過畢業設計能夠鍛煉學生以下方面的能力:
1.獨立解決問題的能力。高職院校學生普遍存在著基礎薄弱又缺乏刻苦精神、渴望一技之長又不知如何下手等問題。大多數學生雖然在學校經過兩年半的學習,但對程序和軟件的理解不夠,動手能力差。學校教育和IT行業對軟件開發人員要求之間的差距,只有通過實際的大型訓練才能彌補。畢業設計的進行過程中學生一定會遇到平時課堂學習中碰不到的困難和挑戰,克服這些困難的過程就是軟件技術和心理素質逐步提高的過程。
2.團結協作的能力。今天IT行業早己不再是個人英雄主義的時代,能否具備團結協作的意識和能力己成為IT行業對人才的基本要求之一。學生在平時的課程教學和作業中難有訓練這種能力的機會,畢業設計一般是分小組進行的,小組成員之間代碼、文檔的交流以及相互之間討論和協商都是對學生基本素質的鍛煉。
3.實踐軟件工程的相關原則。具備軟件工程思想是軟件開發從業人員的必備素質之一,在日常的教學中由于缺乏軟件開發的實踐訓練,學生們往往感覺軟件工程這門課非常抽象,對其中提到的軟件開發和測試的理論和方法等方面理解不夠。畢業設計的過程,就是一個課題小組從接到開發任務到提交產品和文檔的過程,其中涉及到需求分析、概要設計、詳細設計、編碼、測試、程序打包安裝、編寫文檔等軟件工程的方方面面。經過這樣的鍛煉,學生們對軟件工程思想和方法的理解必定會大大加深。
二、關于畢業設計的選題
選題是畢業設計的第一步,也是非常重要的一步,教師選題一般需要注意題目的新穎性、現實意義和可行性。這樣的選題對引起學生的探索興趣,提高能力大有幫助。計算機專業畢業設計選題范圍一般包括。數據庫研究與應用;計算機網絡與應用;程序設計的理論與方法;信息可視化與應用等方面。畢業設計的地點可以在學校內,科研單位,企業等,只要有研究開發的環境即可,時間一般12周左右。
一般畢業設計選題存在的問題主要有:題目偏小單一,得不到綜合性訓練;題目重復,多人同題;指導教師要求不嚴,走形式;題目年年相同沒有新意,使畢業設計難以達到預期的效果。高職院校計算機軟件相關專業的學生在畢業設計之前主要學習的課程包括:軟件開發語言和工具(如C語言、C#、ASP、Java)等、數據庫管理軟件如(Access,SQLServer)、計算機網絡原理和軟件工程等,這些必備的知識和技能是IT行業對軟件相關專業畢業生素質的基本要求。筆者認為,畢業設計的選題可以分為四大類:程序設計類、數據庫應用類、網絡通信類和網站開發類。選題的基本原則主要是題目的綜合性和新穎性兩方面。
(一)程序設計類
程序的設計和開發是軟件行業的基本內容,也是軟件行業對相關從業人員的基本要求之一。近年來我國軟件行業提出了“藍領”工人的說法,各地陸續出現了以培養編碼人員為目的的軟件學院。這些程序員學歷不高,但對某些開發工具的掌握非常熟練,能夠很好的完成分配的任務??梢娕囵B和訓練學生的程序設計能力是適應軟件行業發展需要的?!稊祿Y構》課程是計算機軟件相關專業重要的基礎課,內容豐富,實踐性強。雖然在課程的教學中都安排有相關的上機實驗,但效果并不很理想。實踐中我們認識到,畢業設計程序設計類的選題圍繞數據結構的相關內容進行,對提高學生的動手能力、加深對軟件的理解和認識都大有益處。
數據結構算法演示程序可以做為課堂教學的重要補充,以可視化的方式解釋程序運行的中間過程,可以幫助學生更好的理解算法。國內外很多著名的高校都開發有類似的演示系統做為教學輔助課件。結合高職院校學生的實際情況筆者認為以下一些題目可以做為畢業設計選題的參考。
1.漢諾塔問題的演示。這個題目是圍繞遞歸方法進行的,要求通過動畫的方式演示盤子的每一個移動過程,對幫助學生深入理解遞歸思想很有幫助。
2.表達式運算及轉換的演示。堆棧是一種使用頻率很高的數據結構,在程序設計的實踐中有廣泛應用。中綴表達式轉換為后綴表達式、后綴表達式求值的過程不是太好理解,如果演示程序能夠動態顯示每一步堆棧的變化以及程序的動作,那么理解表達式運算及其轉換的過程就比較容易了。
3.排序算法的演示。排序算法在數據結構中占有重要地位,各種排序方法看似簡單,卻是許多計算機科學家智慧的結晶。開發排序算法的演示程序,利用柱狀圖形表示待排序的數據,詳細顯示排序過程中不同算法的每一步處理過程,統計數據比較和移動的次數;隨機生產大量數據,利用多線程技術實現多個排序算法的效率比較。實現這些功能對于幫助學生理解和掌握各種排序的原理很有幫助。
(二)數據庫應用類
社會各個行業信息化的進步促進了數據庫應用系統的普及,類似圖書管理系統、倉庫管理系統、人事管理系統、教務管理系統等小型軟件都是一般畢業設計的常用選題范圍。在實踐中我們意識到,數據庫應用類題目的選擇最重要的是與社會實際需要緊密聯系,例如為汽車專賣店開發實用的汽車銷售管理系統,這樣可以使學生了解行業終端用戶的需求,在完成需求分析的基礎上進行設計,避免閉門造車。
(三)網絡通信類
網絡的應用和普及使計算機的世界更加豐富多彩,網絡通信類程序的設計開發己成為軟件開發的重要分支,也是學生畢業設計選題的重要來源,很多題目能夠兼顧理論和實踐,對學生而言即十分有意義又有趣味性和挑戰性。
1.Client/server模式的通信程序。利用TCP或UDP網絡協議開發客戶機/服務器模式的通信程序很簡單,在此基礎上進行功能的擴展,可以開發聊天工具、局域網網絡監控工具等軟件。
2.網絡聊天及文件傳輸類程序。QQ、MSN等聊天工具十分普及,設計題目選擇一個點對點的局域網聊天工具完全可行,功能的實現可參考QQ或MSN的基本功能,包括收發信息、傳輸文件等,其他如語音視頻聊天等高級功能可以忽略。高職學生系統學習過的開發工具如VisualBasic、Java等都提供完備的網絡控件,但一般的基礎教材中介紹不多,學生在實際的設計訓練中通過查詢聯機幫助、網上學習等途徑學習這些控件的使用方法和技巧,對提高程序設計能力很有幫助。
搜集資料是任何研究工作的基礎,選題結束后學生按小組搜集資料,可以是圖書期刊等資料,計算機軟件專業的學生更應該學會在網絡上搜集信息,瀏覽高水平的開發論壇對開闊思路很有益處。搜集資料需要做好記錄和整理工作并進行討論。畢業設計過程中教師的角色主要是指導和監督,參與討論軟件的整體設計,不涉及程序開發的具體細節,一般可以每周檢查開發小組的進展情況。
(四)網站開發類
網絡的飛速發展促進了網站開發技術的進步和市場的成熟,網站開發己成為高職類學生就業的熱點方向之一。一個小型網站的開發涉及到總體的規劃、數據庫的設計和數據的組織、代碼的編寫和調試、后期運行管理、安全機制等多方面工作,而且對于學生接觸市場需求很有幫助。在實踐中筆者發現,學生們通過獨立完成一個小型的網站,各方面能力都得到了鍛煉,畢業后從事相關的工作很容易上手。
2“產學研”結合模式的指導方式
“產學研”結合模式主要通過理論和實踐教學兩條途徑,在充分考慮企業需求前提下,以提高學生的工程素養、鞏固學科基礎、培育創新能力為基本目的,由高校、企業、學生三方面共同研究,明確畢業設計的課題,確定研究內容和研究方法[7]。在畢業設計實施的具體過程中,由高校和企業聯合派出導師,由高校教師承擔對學生的理論指導,由研發一線的工程師在企業中進行實踐指導。畢業設計后期,可聘請企業中經驗豐富的高職稱工程師或工程技術部門主要負責人與校內教師一起共同組成畢業設計答辯考評小組,共同對學生的畢業設計實施書面評價、答辯、評定成績等畢業設計的質量審查。
3“產學研”結合模式的的關鍵點
3.1做好選題工作
恰當的選題是提高畢業設計質量的關鍵,能直接體現出地方院校人才培養的特色。“產學研”結合的畢業設計選題要求密切聯系生產和研發實際,有工程應用的背景和工程的實際內涵,確保其具備較強的實用性。此外,選題還應具有一定的深度,保證有足夠的工作量,在某些方面還應體現出創新的成分。因此,在選題時要盡量做到以下幾方面的具體要求:⑴畢業設計選題應與服務地方的人才培養定位充分結合地方性本科院校是以培養高素質的應用型人才和服務地方經濟發展的為主要辦學方針的高校。我院所處的廣東省近十年來軟件產業一日千里、欣欣向榮,業已成為全國行業的龍頭老大。2011年統計數據表明,廣東省共有軟件企業3136家,占全國的13.7%,全年實現軟件業務收入3122億元,占全國的16.9%。其中軟件產品收入1203億元,信息系統集成服務收入471.3億元,信息技術咨詢服務收入140.1億元,數據處理和運營服務收入583.8億元,嵌入式系統軟件收入663.9億元,IC設計收入60.2億元。我院所處的惠州地區正處于廣東省軟件產業發展的核心地帶,因此我院計算機系的畢業設計在選題上就充分考慮了人才培養的定位,以嵌入式軟件設計、大型數據處理與運營、創意文化支撐技術等方向為主,為人才培養設定了明確的目標。⑵畢業設計選題應與地方企業研發實際充分結合地方院校的計算機工科專業是為了滿足適應地方信息產業發展的高級應用型人才,其是否具有較強的創新能力和工程實踐能力是決定著人才能否快速適應地方信息技術產業發展的實際需求。因此畢業設計的選題應密切結合地方信息產業發展的趨勢,與地方企業密切聯系、共同協商、共擬課題,真題真做。由于課題貼近實際、應用性突出,學生們往往更容易地激發學習興趣,在解決工程問題的過程中切實增強學生的實踐能力。同時,與地方企業研發充分結合還有利于高校教師隊伍的建設,加強教師們服務地方經濟的意識,增進服務地方的能力。⑶畢業設計選題應與學生就業充分結合利用“產學研”結合的畢業設計模式可讓學生到有就業意向的企業中完成畢業設計的課題,直接接觸到今后工作中需要面對的研發項目。這樣學生往往會將之視為證明自己能力和價值的一次機會,激發出了極大的工作熱情,有助于高質量地完成畢業設計。同時,在此過程中學生也提前適應了工作崗位,完成了崗前培訓,能更快地適應工作崗位,也為企業節省了培訓新員工的費用與時間。⑷畢業設計選題應反映學科發展的前沿畢業設計也是學生在走向社會之前對學科發展前沿的一次眺望。因此在畢業設計的選題上,應以能使學生盡可能多地接觸國內外行業應用和發展的最新理論、最新技術、最新應用,如云技術、量子計算、網絡信息融合與知識服務等,可在畢業設計選題中適度安排這些體現學科先進性的內容,以期學生在畢業后能盡快融入到企業的發展中。
3.2強化過程管理
對畢業設計過程有效地管理是“產學研”結合模式能否成功的關鍵。為此我院專門制定有《惠州學院本科生畢業論文(設計)工作規定》,在此基礎上還補充制定了與企業研發密切相關的具體措施,如教育并嚴格要求學生對接觸到的關鍵技術、源代碼、項目文檔等履行保密義務,保障校企雙方的利益都不受損害。在確定課題后,各系部組織學生與校內導師、企業導師見面,在校企雙方面導師的共同指導下向學生詳細介紹課題的內容、要求和任務,并要求學生按照規定完成查新、外文文獻閱讀、撰寫開題報告、制定研發計劃和工作進度,設定預期目標,確定最終的結果形式等工作。學生在企業完成畢業設計期間,還加強了對學生考勤的檢查,規定學生必須按照實習單位的作息制度上下班,如遇特殊情況確需請假,應同時報告校內導師和企業導師,在取得他們同意后方可離開。我院還強化對校內指導教師的管理。校內導師要與學生定期聯系、在畢業設計開題、中期檢查;定稿前、答辯前均需召集學生開會,檢查畢業設計完成情況,收集學生意見,答疑解惑;每周不少于2次指導學生畢業論文(設計)。考慮到此時學生大多身處企業,不在校內,可利用電話、網絡(如電子郵件、QQ在線交流、網絡論壇、微博)等方式遠程指導,校內導師還定期訪問學生所在企業,與企業導師保持密切聯系,協助校外導師做好學生的日常管理,及時了解學生的工作進展、生活情況、甚至心理與情感困惑等。為保證設計及畢業論文都到達規范要求,我院專門制訂有《惠州學院畢業論文(設計)撰寫規范》,對畢業論文的形式做出了十分具體的要求。畢業論文送審前均需由校內導師對論文進行形式審查,審核諸如論文各項內容是否齊全,格式是否規范等,確保形式符合要求。為提高畢業設計質量,教務處每年還從各系部評選出來的優秀畢業設計(論文)中遴選出最優秀的典范畢業論文,編印成冊,下發至畢業班級中,以這些畢業論文為示范樣本,鼓勵學生高質量完成畢業設計(論文)。我院還做好畢業設計的檔案管理工作,規定在畢業設計完成前需提交畢業論文審批表、任務書、開題報告、查新報告、指導記錄、外文閱讀文獻目錄、論文文本、各類不的源代碼、需求分析報告、項目總結報告等十二種材料,紙版文檔與電子版文檔均需同時提交,雙備份,對于電子文檔需長期保存。
3.3適度調整考核標準與程序
“產學研”結合模式下指導的畢業設計有其特殊性,因此最終的考核——畢業論文評審、畢業論文答辯——也應有別于在校內完成的傳統學術型論文,在評價上需結合實際并適度傾斜。首先在選題的評價方面應首先考察學生選題的新穎性、實用性,對于密切結合研發的具有較大實用價值且是研發過程中的重點或難點的選題,應該給予肯定;在畢業設計工作完成情況的評價上,應該充分考慮學生的工作量,并對于畢業設計的原創性、真實性予以認真的考察,即畢業設計必須是學生親自動手解決的研發過程中的若干具體問題;評審人的構成方面,可聘請企業中經驗豐富的研發工程師、項目經理等人員與校內專家一起組成考評小組,企業專家的參與將增強評判的客觀性、公正性,也將強化學生畢業論文中實用性的評價;學生畢業設計的考核也應包含團隊協作能力的評價,在企業進行研發工作,如完成一個軟件項目,本身就是一個團隊作戰的過程,學生的溝通能力、表達能力、組織協調能力也應該進行考察,引導學生重視團隊協作;最后,畢業設計的成果形式也不應僅局限于畢業論文,可將學生在“產學研”過程中實際參與或完成的智力成果都納入評價范圍,如公開發表的學術論文、計算機軟件登記、各類發明與實用新型專利、工程設計報告、項目需求分析報告等。
4“產學研”結合模式的實踐
惠州學院計算機科學系從2004年成立起就一直非常重視與惠州市及周邊地區的企業開展“產學研”結合。主動與旭日集團電腦部、用友軟件有限公司等當地十多家IT企業輸送實習生,充分利用以往積累下來的資源。從2005年起,每年都組織學生到上述企業開展畢業論文、生產實習等實踐教學,共同開展協同創新。在校內指導教師與企業工程師的雙重指導下,通過“產學研”結合模式完成畢業設計,并初具成效。從客觀數據上分析,參加“產學研”結合模式的學生其畢業設計成績得分較高,且易取得突出成果。以2005級為例,該年級學生在企業完成畢業設計的共計有30余人,占畢業生總數的近20%,其中9人的畢業設計被評為“優等”,2人的畢業論文獲選校級優秀畢業論文。從學生主觀感受上看,學生直接到企業參與企業的研發課題,也提升了學生的學習積極性和主動性,使其自信心陡增,對學習的滿意率也有大幅提高,這一點可從畢業論文的“評教”得分上得以體現。我系對參加“產學研”結合模式進行畢業設計的學生展開了調研,匯總“評教”得分,將其與不參加“產學研”結合模式的學生的“評教”的得分進行了對比,具體情況如表1。
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2012)15-3647-04
物聯網、云計算目前已經成為信息產業的主流方向,在這個主流方向中,最核心、最關鍵的部分是嵌入式系統。調查數據【1】顯示,市場對嵌入式人才的需求缺口巨大。就高校而言,培養符合行業要求的人才是高校的職責,而人才的培養又始終離不開切實可行的教學計劃和課程體系,制定符合行業實際的教學計劃和課程體系,是培養人才的關鍵。而開設什么樣的課程來培養符合行業要求人才,又要依據行業特點和對人才的技術要求來確定,否則就會偏離行業要求,滿足不了行業需求。在2008年《普通高等學校高職高專教育指導性專業目錄(試行)》里已經規劃了嵌入式技術與應用專業(專業代碼510121),但還沒有形成一門獨立的本科專業,近幾年高校中的電子專業、計算機專業以及機電與自動化專業、通信專業都相繼開設了嵌入式系統相關課程,大都針對本科高年級學生或者研究生開設了嵌入式系統方向。從國內不同高校不同專業開設的嵌入式系統課程來看,各具特色,有些硬件課程開設的多,有些軟件課程開設的多。這主要是由于嵌入式系統本身包含軟件與硬件兩個層次,在設計與應用方面,又具有軟硬件協同工作的特點,既要依據硬件設計軟件,又要依據軟件確定硬件,不能簡單的說哪個更重要,只能從應用的角度講其側重點不同。因此對于不同專業開設的嵌入式系統課程,不能一概而論。本文主要從嵌入式從業人員進行嵌入式系統開發所具備的知識要求和技術要求為依據,確立計算機專業本科生從事嵌入式系統開發應具備的基礎知識和技能,并著重對計算機專業本科生嵌入式系統的課程體系構建內容及實驗平臺方案進行探討和研究。
1嵌入式系統概述
嵌入式系統是以計算機技術為基礎、以應用為中心、軟件硬件可裁剪并且對系統的功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。從其概念來看,嵌入式系統是專用計算機系統,應該包含硬件系統和軟件系統,具體地說,一個嵌入式系統硬件以微處理器為核心集成存儲器和系統專用的輸入/輸出設備;嵌入式系統軟件包括初始化代碼及驅動、嵌入式操作系統和應用程序等,這些軟件有機地結合在一起,形成系統特定的一體化軟件。一個典型的嵌入式系統應包含嵌入式硬件、嵌入式操作系統和嵌入式應用軟件三個部分構成。
由于嵌入式系統是將先進的計算機技術、半導體技術和電子技術與各個行業的具體應用相結合后的產物,因此嵌入式系統是應用于特定環境下,針對特定用途來設計的系統,所以不同于通用計算機系統,它的硬件和軟件都必須高效率地設計、“量體裁衣”、去除冗余,力爭在較少的資源上實現更高的性能。嵌入式系統的基本特點就是“嵌入”、“專用性“和“計算機性”。由于系統的這些特性,導致系統的存在形式是多樣的和面向特定應用的,并且對成本、功耗、可靠性和實時性特別關注,因此在嵌入式微處理器和嵌入式操作系統的選擇上都要考慮這些特點。
2嵌入式系統專業人才崗位及核心能力分析
2.1嵌入式系統的技術研發崗位劃分與設置
從事嵌入式技術的崗位主要是企業的研發、生產、銷售部門,當然還有其它輔助部門,在此主要針對研發部門的崗位進行分析。嵌入式系統研發部門崗位的設置,離不開嵌入式系統的結構和開發過程,設置什么樣的崗位、需要何種學歷的人才都與嵌入式系統的開發過程緊密相關。就嵌入式系統而言,總體上可劃分為硬件和軟件兩部分,硬件一般由高性能的微處理器和的接口電路組成,軟件一般由硬件抽象層、嵌入式操作系統、軟件應用平臺和應用程序等組成,如圖1所示。
硬件層是整個嵌入式操作系統和應用程序運行的平臺,包括輸入輸出接口/驅動電路、處理器、存儲器、定時器、串口、中斷控制器、外設器件、圖形控制器及相關系統電路等部分。對于硬件層的設計開發要有較深的硬件開發經驗,這些崗位一般都需要資深的硬件工程師。中間層包括硬件抽象層(HAL)或板級支持包(BSP),負責對各種硬件功能提供軟件接口,包括硬件初始化、時鐘管理、定時器管理、中斷處理、總線管理、內存地址的映射等。它位于底層硬件和操作系統之間,是二者之間的橋梁。這個層次的設計開發不僅要精通底層硬件結構,還要熟悉上層的操作系統,主要工作是開發設備驅動程序。這部分工作需要有豐富的軟硬件件研發經驗才可以勝任。軟件層主要包括操作系統和軟件應用平臺,操作系統主要是實現資源的訪問和管理,完成任務調度,支持應用軟件的運行及開發,軟件應用平臺則是為了提高開發速度與軟件質量,一些應用提供商開發了一些可重用的應用平臺,封裝了一些常用的功能,同時提供API接口,可以在此基礎上進行二次開發。這些崗位要求具有豐富的嵌入式操作系統開發經驗和軟件工程能力。功能層主要指的是應用軟件層,位于嵌入式系統層次結構的最頂層,直接與最終用戶交互。針對各種特定功能來編寫應用程序,實現系統的功能應用。主要是進行大量的C、C++或JAVA語言編程,不需要更多涉及底層硬件,大都是基于操作系統之上的編程。這些崗位要求就有豐富的嵌入式應用軟件開發能力。從嵌入式系統開發流程看,還可以對硬件層、中間層、軟件層、功能層四個層次的研發工作進一步細化。
2.2技術研發崗位從業人員核心能力分析
對于從事嵌入式系統研發的技術人員而言,必須具有與崗位匹配的核心能力才可以勝任工作。文獻[3]就嵌入式整個行業的從業人員在不同崗位應具備的知識和能力進行了描述。由于目前國內就嵌入式人才的評估和認證只有嵌入式工程師認證,因此本文將從硬件設計、軟件設計、系統架構、軟、硬件測試這五類技術研發崗位進行研究,來確定相應人員應具備的知識和能力要求。對于每一類崗位,將從崗位工作任務、崗位知識能力、主要技能和核心能力這四個方面就行研究,其中崗位工作任務是指該崗位應完成日?;竟ぷ鞯氖聞辗秶?,崗位知識能力是指該崗位應具備的基本知識要求,主要技能是指該崗位技術能力的要求范圍,核心能力是指該崗位工作主要能力要求。分析結果如表1所示。
2.3技術研發崗位知識要求
表1就目前嵌入式技術人員的五種崗位要求從四個方面進行了分析,從分析的結果看,對于硬件設計及測試人員而言,應具有的知識點:①熟悉或者掌握模擬電子線路、數字電路,單片機等基本的硬件電子電路設計知識;②熟悉和掌握C語言或者C++語言及接口電路程序設計;嵌入式系統硬件的設計、嵌入式系統的程序設計③至少熟悉l到2種基本的EDA工具,如MODELSIM、Quartus? lI、Protel等;④熟悉各種常用工具和儀器儀表,熟悉電子元器件性能分析。軟件設計軟件測試人員而言,應具有的知識點:①熟悉Linux,WinCE,Vxworks等操作系統的各種軟件開發環境;②熟悉GUI開發過程、熟悉網絡編程、多任務編程等;③精通C語言、匯編語言;④熟悉嵌入式系統硬件的設計、嵌入式系統的程序設計。⑤熟悉嵌入式軟件開發模式及方法,熟悉白盒測試、黑盒測試和回歸測試,熟悉單測試、集成測試、系統測試過程及測試的誤區的分析。系統架構人員應具有的知識點:①熟悉嵌入式軟件工程;②熟悉面向對象和結構化軟件開發方法;③精通常用軟件開發語言;④熟悉軟件架構模式和設計模式,熟悉常用軟件建模技術。
3計算機專業嵌入式系統課程體系及實踐平臺的構建及分析
3.1計算機專業嵌入式系統課程體系及實踐平臺的構建
從嵌入式系統專業人才崗位及核心能力分析來看,對于計算機專業,在構架課程體系時,應該結合計算機專業特點及嵌入式技術研發崗位和應具備的知識能力出發,可從理論與實踐兩個方面,去制定切實可行的專業課程體系。本文將從理論課程體系和實踐課程體系兩個方面闡述課程體系和實踐平臺的構建。其平臺結構如圖2所示。
在圖2中,計算機專業基礎和核心課程體系可依據計算機專業相關培養課程體系及目標確定,本文不再贅述。對于嵌入式系統理論課程體系可分別從硬件課程、語言課程、專業課程三個方面進行構建,其中硬件課程可包含有電路與模擬電子技術、數字邏輯電路、計算機組成與體系結構、微機原理與接口、ARM體系結構與編程、電子線路設計、計算機控制系統、單片機原理與應用、DSP技術及應用、FPGA設計基礎等課程;語言課程可包含有C語言程序設計、VC++程序設計、離散數學、數據結構、VB程序設計、C#程序設計、J2EE中間件技術、C語言深入編程、C++/VC++深入編程等課程;專業課程可包含有嵌入式操作系統、Linux設備管理與應用、ARM體系結構與編程、嵌入式系統設計、WinCe系統設計與應用開發、面向操作系統的程序設計、多核程序設計等。對于嵌入式系統實踐課程體系可從專業實踐與認證培訓兩個方面進行構建,其中專業實踐可從課內實踐、課程實訓、項目團隊、專業競賽、企業實習、畢業實習等方面進行構建。在專業實踐中,課內實踐和課程實訓是對嵌入式專門知識的鞏固與提高,綜合實踐是階段性綜合能力培養的需求,項目實訓與畢業設計是綜合分析設計能力的保障。而對于培訓認證,可參與ARM公司全球認證、中國軟件行業協會嵌入式認證、中國電子學會認證、信息產業部認證等機構和部門的培訓認證活動。
3.2嵌入式系統課程體系分析
從嵌入式系統課程體系的內容來看,具有三個方面的特點。首先是體系完整,專業特色突出,整個課程體系體現四個方面的能力培養:①編程能力培養,體現在C語言程序設計、C語言深入編程、C++/VC++深入編程及面向操作系統的程序設計等課程。②實踐能力培養,體現在嵌入式系統設計與應用開發實踐、Linux和WinCE操作系統與應用開發實踐、嵌入式系統設計與應用綜合實訓及畢業實習和畢業設計等方面。③應用能力培養,體現在嵌入式系統設計與應用、嵌入式圖形界面開發及嵌入式測試技術等方面。④創新能力培養,主要體現在創新團體、嵌入式競賽、企業實習及一些嵌入式協會等。其次,整個課程體系具有側重應用,循序漸進,層層遞進的特點。從軟硬件編程到專業技能培養,再到項目實訓和畢業設計是遞進式的。軟硬件編程是整個能力培養的基礎,專業技能是提高,項目實訓和畢業設計是綜合應用能力培養。最后,整個課程體系涵蓋了微軟、信產部認證課程。微軟認證為微軟WinCE嵌入式系統工程師認證,其課程主要包括WinCE系統設計與應用和嵌入式系統設計。信產部認證為嵌入式系統設計師認證,其主要課程包括嵌入式系統設計、嵌入式測試技術和ARM體系結構與編程。
4計算機專業嵌入式系統實驗教學平臺的構建
根據嵌入式系統實踐課程體系構建的設想,對于教學實踐,要根據計算機專業和嵌入式系統開發的技術要求和崗位職責,可進行合理規劃。既要讓學生掌握堅實的基礎知識,又要讓學生跟得上主流技術潮流。由于嵌入式系統在構成上可由硬件和軟件構成,因此在進行實驗教學時,可從硬件和軟件兩個方面進行構建。根據目前嵌入式系統開發的主流技術來看,在硬件選型上要以X86CPU、單片機和ARM處理器為主,在操作系統的選擇上要以WinCE、Linux、μC/OS-II和Vxworks等操作系統為主,可從驅動程序設計、嵌入式系統界面、應用程序等方面進行實驗。本文提出了一種可行的實驗架構,如圖3所示。
圖3嵌入式系統課內實驗體系
圖3從三個層面對實驗教學進行了規劃,最底層為硬件層,可選擇不同的處理器及各種電路及存儲設備進行實驗,如X86CPU、ARM處理器、單片機、數模轉化電路、I/O接口、通用接口、ROM、RAM等。中間為操作系統層,可選擇主流嵌入式操作系統進行實驗,如WinCE、Linux、μC/OS-II、Vxworks等。最上層為應用層,可從嵌入式驅動層序開發、嵌入式圖形用戶界面以及應用程序的設計等方面進行實驗,其中在程序設計語言的選擇上可重點考慮匯編語言、C/C++語言、JAVA為主要訓練語言。
5總結
圖1 計算機人才層次結構
為了能使高等院校的軟件人才培養與社會對人才的要求相一致,幾年來,教育部計算機科學與技術教指委陸續下發了一系列指導意見及規范,明確指出計算機科學是實踐性極強的學科,必須培養學生具有很強的實際動手能力,對高校計算機專業辦學提出了一項很重要的建議,即大力加強教學活動中的實踐環節和動手能力的培養。在計算機專業中工程型及應用型人才的培養成為了教學研究的重點,并已成為我國高等教育關注的熱點。
東軟信息學院計算機系與實訓中心合作,將實訓融入軟件相關專業的本科教學計劃之中,構建可教學化實訓體系,探索出一條培養應用型軟件人才的實踐之路。
2引入實訓體系的思考
由東軟信息學院大學生創業實訓中心創建的可教學化實訓體系,是在企業實際項目的背景下,將項目分解為若干個相應的知識點,采用小班型教學的模式進行授課。從基礎知識的講解到最終項目的完成,邊講邊練,并穿插相應的階段考核,形成全方位一體化的實踐訓練體系。實訓過程中,教師擔任項目經理,學生轉化成“企業員工”,采用日報制等企業式管理模式,構造虛擬企業開發環境,使學生在實訓過程中既掌握企業所要求的各項技術技能,又實現了對開發流程、管理規范和團隊合作深入了解,實現與企業需求的無縫鏈接。
在大學生創業與實訓中心目前構建的實訓體系中,Java項目實訓與嵌入式項目實訓是兩個比較成熟的實訓體系,每個實訓體系都分為四個階段,在四個月左右的時間之內完成,其內容及考核要求如表1所示。
表1實訓安排計劃表
其中的技術基礎講解階段是在復習以往學過的基礎理論知識,項目開發專用技術講解及練習階段是通過一個小型項目的開發來鞏固已學過的基礎知識,并且使學生了解項目開發流程,而實訓項目開發測試階段才是實訓的真正核心,最終在實訓項目總結考核階段檢驗學生實訓的成果。
按照傳統計算機專業的實習教學安排,課程設計和畢業設計相對獨立,與課堂教學之間是一種“松耦合”狀態,雖然體系相對嚴密,但并不能構造一個完整的教學體系,畢業生在前三年學過的課程與畢業前的實習和畢業設計存在著一定程度上的脫節。而且單純的實訓更強調實踐能力,著重于技術工具的運用,不利于學生后續的發展。同時,由于學生在畢業前才進行某個方向的實訓,只能掌握某一項技術,在一定程度上限制了學生的專業拓展和就業面,因此,只有將實訓體系合理融入教學計劃,才能優勢互補,發揮實訓教學的作用。
3堅持實踐不斷線的探索
東軟信息學院一直秉承“知識的應用比知識的擁有更重要”,致力于培養“理論知識夠用,實踐動手能力強”的應用型人才。從建院初期,就強調培養學生的實踐能力,率先在國內提出了“1321”模式,即一個學年分為三個學期,其中兩個理論學期,一個實踐學期。在引入實訓體系之前,安排實踐學期教學內容的思路是:強化理論學期課程,并補充理論學期由于課時限制而無法開設的課程。因此,三個學年的實踐學期分別定義為概念實習、技能實習和項目實習,各年度的實踐學期之間缺乏整體的聯系,內容相對獨立,體系不夠完善。
引入實訓體系之后,安排實踐學期內容的思路調整為:以畢業實訓為最終目標,貫徹“實踐不斷線”,強調實踐的延續性及關聯性。因此,在理論學期的課程安排上也為最終的實訓為目標,并補充必要的理論知識,提供給學生后續發展的動力。同時,前兩個學年的實踐學期分別進行兩個小型項目訓練,第三個實踐學期與最后一學年上學期一起進行項目實訓,下學期進行畢業設計,整體的安排如圖2所示。
圖2 工程型軟件人才培養路線圖
從圖中可以看出,在第一學年和第二學年的前兩個理論學期中,除了在課程設置上融入了原本在實訓第一階段講解的基礎理論知識之外,還添加了多門理論課程,可以為學生打下足夠的理論基礎,有利于今后在企業中的進一步發展。在第一學年的實踐學期(第三學期),將進行嵌入式實訓方向中的小項目訓練;在第二學年的實踐學期(第六學期),將進行Java實訓方向中的小項目訓練。這樣,所有學生在低年級就已經掌握了將來兩個實訓方向所需要的知識基礎和實踐基礎,既有利于學生在高年級的專業方向選擇,又有利于學生就業時選擇就業方向。從第三學年開始,學生可以選擇在Java方向或者嵌入式方向進一步通過全面實訓提高實踐能力,進一步強化專業知識,在第三學年的實踐學期(第期),開始進行該方向的實訓,一直持續到第四學年上半學期(第十學期),第四學年最后一學期進行畢業設計,使學生綜合運用三年所學的理論知識和剛剛結束的實訓中所學到的知識及實踐技能,在教師的指導下,相對獨立地完成畢業設計課題,從而強化學生的實踐動手能力。
進行了優化安排之后,理論學期課程與實踐學期內容之間結合的更加緊密,學生學完理論后就進行實踐應用,有利于對理論知識的進一步強化理解,也將掌握得更加牢靠;而且,整個課程體系與實訓體系呈現“緊耦合”狀態,實訓主線貫穿清晰,層次分明,每門課程的教學目標以及教學要求也更加具體化;同時,所有的實踐學期都相輔相成,安排更加合理,也貫徹了“實踐不斷線”的整體思路。
4 實踐成果及總結
目前東軟信息學院計算機科學與技術系08屆學生已經進入了實訓階段,明年將走向社會,接受市場的檢驗。從目前實訓學生的反饋來看,學生對實訓乃至整個實踐體系都給與了充分的肯定,認為在在學習期間不僅在理論知識上而且在實踐動手能力上都有了長足的進步,特別是畢業前的實訓,更增強了他們的就業核心競爭力,也增加了就業的自信心,是非常必要也是非常重要的。
關鍵詞:畢業設計;分析問題;解決問題;能力
畢業設計作為理工科高等院校教學體系的一個重要組成部分,是培養學生創新精神和獨立解決問題能力的一個綜合性教學環節,對于培養實踐性應用型人才具有重要作用。畢業設計是對所學知識的檢驗與總結,能夠培養和提高學生獨立分析問題和解決問題的能力。針對在畢業設計的實施階段存在著一些問題,對在畢業設計實施階段如何培養學生獨立解決問題的能力進行了探索與實踐。
一、畢業設計實施階段存在的主要問題
畢業設計對于培養大學生的創新精神、實踐能力和綜合素質起著重要作用,是實現人才培養目標的重要環節。在指導學生的畢業設計時,在畢業設計實施階段中存在一些問題。
(1)在需求分析階段中畢業設計創新的意識不強,學生創新意識薄弱,比較缺乏探索新問題的動力和能力。
(2)概要設計階段和詳細設計階段實踐操作能力不強,有很多學生缺乏實踐的信心,雖然會有一些很好的思想,但由于沒有馬上進行實踐,或者做了實踐遇到困難就退了下來,這樣很難將所學的專業理論知識整合、系統化,提高學生獨立解決問題的能力更是無從談起。
(3)畢業設計的通過要求較低,畢業設計階段也是學生聯系工作準備就業的階段,加上畢業設計一般都能全部通過,學生的學習壓力遠小于就業壓力,相當數量的學生對畢業設計不重視。
二、畢業設計實施階段如何提高學生獨立解決問題的能力
畢業設計是本科教學的一個重要階段,是展示學生本科學習成果和專業能力的綜合環節。對于計算機科學與技術專業的學生而言,更是面臨著挑戰。計算機專業的畢業設計通常是要求模擬實現一個應用系統,完成從需求分析、概要設計、詳細設計到編碼實現的基本過程。以下圍繞畢業設計實施階段如何提高學生獨立解決問題的能力進行了若干探討,包括需求分析階段如何培養學生獨立解決問題的能力、概要設計階段如何培養學生獨立解決問題的能力、詳細設計階段如何培養學生獨立解決問題的能力。
1.需求分析階段如何培養學生獨立解決問題的能力
需求分析是關乎畢業設計開發成敗的重要因素。現在的軟件設計中返工開銷占了總開銷很大比例,而導致返工的主要原因是需求分析不明確??梢钥闯鲂枨蠓治鲈诋厴I設計中所占有的地位。需求分析的任務不是確定系統怎樣完成的工作,而是確定系統必須完成那些工作,也就是對目標系統提出完整、準確、清晰、具體的要求。它所做的工作是深入描述軟件的功能和性能,確定軟件設計的限制和軟件同其他系統的接口細節,定義軟件的其他有效性要求。
在指導學生在對自己的畢業設計進行需求分析時,學生對自己要處理的問題有一定的了解,通過網絡查找相關資料,有條件的話到相關的企業做調研,確定目標系統的綜合要求,并提出這些需求實現條件,以及需求應達到的標準。
在畢業設計過程中,首先要求學生從以上幾方面對畢業設計進行科學的需求分析,在這一階段中,學生通過需求分析能夠更加清楚地理解畢業設計中要解決的問題,并能夠從整體上提高對問題的思考能力,為完成畢業設計和以后的工作打下堅實的基礎。此階段,通過師生共同努力,借助于網絡的同時,為學生創造條件和機會進行實際調研,對系統的整個流程掌握清晰,在完成畢業設計需求分析的過程中,通過學生自身的不斷努力和指導教師的指導,在反復論證的過程中提高學生們獨立的分析問題的能力,這是學生走向成功的第一步。
2.概要設計階段如何培養學生獨立解決問題的能力
概要設計階段將軟件系統需求轉換為未來系統的設計;逐步開發強壯的系統構架;使設計適合于實施環境,為提高性能而進行設計。概要設計階段具體的任務有總體設計、接口設計、數據結構的設計、模塊設計、其他設計等。
在概要設計階段,畢業生對業務處理過程了解的完整性和準確性非常重要。調查了解清楚所有的業務流程才能設計出適合各流程業務節點用戶業務特點和習慣的軟件,使開發出來的軟件更受歡迎。在概要設計階段,通過指導教師的指導,學生查找相關的資料,到相關部門調研,不斷努力,反復修訂畢業設計的概要以求達到完美。完成這個階段任務,學生對畢業設計有一個從整體到局部的更深的認識,學生的思路更加清晰。在學生自身的努力和指導教師的指導下,學生對學過的專業理論知識進行系統的梳理并應用于實踐,不僅提高學生的自信,而且提高了學生的實踐能力,對獨立完成畢業設計充滿了自信。
3.詳細設計階段如何培養學生獨立解決問題的能力
詳細設計的基本任務為每個模塊進行詳細的算法設計。用某種圖形、表格、語言等工具將每個模塊處理過程的詳細算法描述出來。
詳細設計階段,通過對每個模塊進行算法分析設計,掌握理論知識的同時學會運用輔助的工具,反復修改論證過程中學生會掌握每個模塊的各種設計思想,并在不斷的實踐中學會如何去思考問題,解決問題,在提高專業理論知識的同時提高了實踐能力,能夠主動去探究解決問題的新方法。變被動學習為主動學習,這對于提高學生獨立解決問題是非常重要的。在此階段,學生通過算法分析、代碼設計在加強理論的同時加強了上機的實踐能力,通過對問題的反復求解,學生會對畢業設計和所用到的設計工具有更深的理解,對學生以后的工作和學習都具有深遠的意義。
在近幾年所指導的本科生畢業設計中,對以上方法進行了實踐,比如:在《教師工作量統計軟件設計與實現》畢業設計中,要求學生在畢業設計實施過程中,引入UML、Rose等在當時還屬于較新的技術,使他們掌握了基本的面向對象分析方法和相關的技術、工具。在《教師檔案管理系統設計與實現》《運動會后臺管理系統成績管理設計與JAVA實現》要求學生以J2EE技術應用實現畢
業設計。J2EE技術是近年來新興的分布式應用技術,學生通過畢業設計實施階段學習了如何基于J2EE技術設計和實現多層分布式應用系統。
通過多次畢業設計的實踐,畢業生在畢業設計實施階段得到了一定鍛煉,在實際軟件開發工作中都能較快地進入角色。滿足社會對計算機人才的需求,具有較好的促進作用。需要指出的是,隨著社會對綜合型人才的需求越來越大,如何搞好畢業設計實施階段中的各項工作仍然面臨著很大挑戰,需要我們根據計算機技術發展趨勢,在實踐中繼續探索!
參考文獻:
[1]張俊林.在本科畢業設計中培養學生創新能力的改革與實踐[J].重慶科技學院學報,2008(1).
[2]洪月華.畢業設計中信息素養的提升與創新能力的培養[J].高教論壇,2009(1).
目前我國應用型本科高校普遍開設了計算機專業,并且計算機專業與通信工程、自動化、電子技術等相近專業間相互擠占就業崗位,就業空間逐漸“縮水”。再者,由于各行各業自主培養各層次的計算機應用人才,各學科專業增開計算機課程,計算機專業畢業生在一些行業內的競爭優勢逐漸減弱。因此如何改革應用型計算機本科人才培養模式,提高學生就業競爭力成為一個不容忽視的問題。
要提高應用型計算機本科人才的就業能力,就需要充分分析和評價計算機科學與技術專業實踐教學體系,以校企合作為突破口、以企業需求導向為價值模型,采用計算機專業工程應用能力分析方法,優化計算機科學與技術專業設置、人才培養和課程體系建設,形成產學研結合的高等本科教育發展機制。在湖南省普通高等學校教學改革研究項目(湘教通[2010]243號)的支持下,本項目組開展了研究并取得了一些成果。
1 校企合作教育研究的開展方式
本項目組從人才培養目標的定位、專業建設、課程開發、實踐基地建設、師資隊伍建設、服務企業等方面,探討通過校企合作辦學構建應用型計算機本科人才培養新模式,以提高人才培養質量為根本,以深化教學改革為中心,以學生就業為導向,以服務企業為宗旨,遵循高等教育發展規律,構建靈活多樣的人才培養模式,探索新形勢下校企合作的新途徑,為企業培養大批高素質的應用型計算機高級工程技術人才。項目組的基本思路是:首先建立專業核心實踐團隊。由項目負責人、企業專家、骨干教師構成核心團隊,統籌建設工作,按照規范的開發流程共同完成以下關鍵性任務:
1.1 制訂研究目標
從校企合作的角度研究應用型計算機本科人才的培養模式。使學校增強辦學實力,提升辦學層次,提高辦學水平,擴大辦學規模,提高辦學效益;使企業推進科技創新,提高管理水平,提高員工素質,增強社會競爭力;使學生所學的知識更加鞏固,能力更加增強,素質更加全面,學生在實習時有實習工資,畢業后有穩定的就業單位,解決學生就業的后顧之憂。實現學校、企業、學生“三贏”的目標。
1.2 研究校企合作人才培養模式的突破口
為了完成研究目標,項目組對企業從業崗位進行調研。首先分析計算機科學與技術專業的主要對口職業崗位和工作任務,在對崗位工作任務和相應職業能力進行分析的基礎上,將職業崗位所需的能力作為主線,按工作過程的不同工作任務和工作環節進行能力分解。將原有實踐教學計劃培養方案中涉及的相關實踐課程做對比,列出原有實踐課程體系在實踐教學中的具體不足點,得出實踐課程體系改革中需加強的能力點,規劃出校企合作教學模式中需要充實和完善的內容。
1.3 積極搭建校企合作平臺,完善計算機本科人才培養模式
我校早在2007年就成立了湖南工學院董事會,截至2011年已與湖南省61家大中型企業簽訂了戰略合作協議,在戰略發展、科研基地建設、人才培訓、技術創新、產業合作等方面開展了卓有成效的合作。為了搭建計算機本科教育的校企合作平臺,在我校校企合作處、科技產業處的積極配合下與計算機系原有的校外實習基地中國電信衡陽分公司、上海央邦計算機科技有限公司、湖南省藍狐網絡、衡陽市九達軟件有限公司積極洽談校企合作平臺的搭建。為加強計算機本科專業建設,培養出與社會發展和經濟建設緊密結合的高級應用型人才,走產學研合作的新途徑,加強計算機系與社會、教學與生產、教學與科技工作的緊密結合,建立學校教學與社會雙向參與、雙向服務、雙向受益的新機制,使計算機本科專業建設和教學工作主動、靈活地適應社會需求,更有效地將計算機本科專業人才就業能力的培養與企業實際需求相關聯。利用校董事會已有的合作模式,項目組與上述校外實習基地聯合設置了專業教學指導組,使其成為計算機本科專業建設、產學研結合等教學研究的學術組織,指導計算機系專業教學改革和專業建設工作的專家型組織。該教學指導組由企業中相關領域的專家、工程技術人員、高級管理人員及計算機系教學經驗豐富的教師、教學管理人員等組成,負責專業建設和人才培養的研究、指導、咨詢、服務工作,并協助確定計算機本科專業教學目標和人才培養方案的制訂。
1.4 校企合作課程體系和教學方法的研究
在校企聯合教學指導組的指導下,對現有計算機本科實踐教學課程結構進行改革,在課程內容上主要體現在理論知識與實踐知識的綜合,職業技能與職業態度、情感的綜合。課程學習內容不再脫離IT企業生產、服務實際過程,而是企業的典型工作項目或任務,使學習內容與企業實際運用的新技術、新工藝、新方法同步,學習與就業同步。
本文對就業能力問題的研究既包括了知識性內容也包括了操作性內容,同時研究中需要注重學生職業道德的培養,這些教學目標既有知識領域的,也有動作技能領域和道德情感領域的。結合2008級計算機科學與技術本科專業的實驗性教學實踐,我們發現既要關注學生的學習過程,還要培養他們的情感,做到讓學生的知識和道德情感同時提高。教學方法中還要激發學生的學習興趣,養成團隊協作的精神,促進學生樹立正確的價值觀。項目組的具體做法是轉變傳統的學生成績評價方法,除筆試外,在部分課程中增加口試、答辯、現場測試、現場操作等多種考核形式,實現理論考試和實操考核相結合,著重考核學生的應用能力和分析能力,促進學生職業素質的全面發展。
2 取得的成效與基本經驗
2.1 人才培養模式改革的情況
計算機本科專業課程體系應該以社會需要為導向深化改革,以適應社會經濟發展和學生就業能力需要,突出工程實踐能力的培養。為此,本項目組成員作了如下研究工作:
(1)在專業定位上,以“面向市場、服務企業,培養應用型高級工程技術性人才,使學生能適應企業崗位的需求”為宗旨。針對校企合作的人才培養模式,在制訂教學計劃過程中,對項目組聯合的企業崗位培養目標制訂專門的人才培養計劃。人才培養計劃針對學生適應社會需要和專業可持續發展進行安排。在專業建設中進行實踐課程建設,并配套進行師資隊伍建設和實驗基地建設。在課程設置方面分為兩部分:一是校內原有的理論及實踐教學;二是針對企業崗位在2008級計算機本科學生中廣泛開展IT技能培訓,在IT技能的培訓和實習過程中,本科的理論教學和針對企業崗位實習交替進行,使學生在學校學習過程中就能掌握IT企業所需的職業技能,從而增強其就業能力。
(2)發揮動手能力培養的優勢,進一步完善計算機科學與技術專業實驗室硬件和軟件建設,安排系統的實踐教學內容,提高學生的動手能力。
(3)理論與實務并重,在培養學生穩固基本理論知識驅動工程實踐能力的系統工程中,實踐教學占有不可替代的地位。由校企合作教學指導組參與實踐教學中的認識實習、操作技能實訓、綜合技能實訓、課程設計、畢業設計等課程體系建設,將企業的崗位需求組織為一個系統,每學期不斷線,與有關課程同步,與課堂理論教學相輔相成,形成相得益彰的并重局面。本項目組只是從“校企合作”教育的視角研究提高計算機本科就業能力的人才培養方法,構建一個“體系”即以校企合作教育的模式明確學生學習的目的性,將工程實踐能力的教學組織、管理、考核及質量評價有企業專家全程參與;找到一種“以學生就業能力為中心,以實踐教學管理平臺為依托,多方協作”的實踐教學管理模式;設計校企合作的理論教學方法以及IT技能培訓、企業生產實習相結合的人才培養平臺;探討如何提升計算機本科專業就業能力,使教學與企業實際所需人才緊密結合。
2.2 學生受益面
目前通過計算計科學與技術2008級本科教學試點,相關實習企業反饋的信息是學生職業素養高,崗位適應能力強,能很快適應工作環境,達到工作要求并能獨當一面,在各自的崗位上創造性地開展工作。尤其是通過針對性的IT技能培訓,使學生工程實際能力大為增強,并且在學校學習期間就已經參與企業實際崗位的實踐訓練,在同類學校的2008級畢業生中占有明顯的優勢,深受企業的歡迎。而且我校學生不僅業務知識扎實,肯吃苦,且儀表端莊,語言表達能力強,能很快勝任企業相關計算機專業崗位的初級工作,充分說明我校培養的畢業生滿足社會企業的要求,該項目的課程教學改革取得了良好的成效。
3 結束語
以我校為例,分析了開展校企合作教育研究的研究目標,以人才培養模式改革為突破口,搭建校企合作平臺,進行課程體系和教學方法的改革,總結出了目前已取得的初步研究成果。下一步將繼續完善不足之處,推進校企合作教育改革模式的研究,提高應用型計算機本科人才就業能力。
參考文獻
[1] 吳維嘉,方磊,何明.計算機專業畢業生就業需求的調查報告[J].黃山學院學報,2007,9(5):152-154.
隨著計算需求的不斷增長,由于復雜的芯片工藝與功耗成本限制,處理器的性能提升從原有的主頻提高轉為多內核發展。很快,一些大型機制造廠商,如IBM、Sun開始利用并行計算設計出了多核處理器(例如:IBM推出的CELL異構多核處理器,Sun公司推出的OpenSparc T1開源多核處理器[1]),這些處理器在一塊芯片上集成多個計算內核,成倍地提高了計算速度。2006年,以Intel與AMD為代表的處理器制造商在年初和年底相繼推出雙核、四核處理器,緊接著,在2007年1月,Intel展示了配置兩個四核處理器的八核計算機,這標志多核處理器開始全面進入市場,宣告計算機真正進入多核時代。
所謂“多核(Multi-core)”,即指一塊芯片上集成多個處理核,各自擁有獨立的控制和計算部件,無需共享關鍵資源。多核技術的發展給大學計算機教育帶來新的課題,即在多處理器環境下,計算機系統結構、計算機操作系統、編譯原理和應用軟件的編程模型等都發生了很大的變化,促使大學計算機的教學需要做出針對性的變化。
計算機系統結構(Computer Architecture),作為研究計算機系統結構演化以及影響計算機硬件與軟件系統設計的一門重要課程,在介紹計算機系統結構原理、分析設計方法、性能評價、發展趨勢和新的實現技術上,需要增加多核技術這個重要的新知識點。在過去相當長的一段時間里,由于不具備開設計算機系統結構和多核技術相關實驗的硬件平臺和軟件環境,
國內很多高校開設計算機系統結構課程時均未開設該課程的實驗,特別是多核技術方面的實驗,以至于學生沒有實驗教學和體驗式實踐而很難掌握該課程的知識。
為了更好地應對新的“多核”時代,電子科技大學的計算機科學與工程學院、信息與軟件工程學院(原示范性軟件學院)從2007年開始在計算機系統結構課程教學中引入多核技術。一是在理論教學上增加處理器體系結構、系統架構和程序設計內容,從三個方面給學生展現了一個比較完整的多核技術概覽圖景;二是在實驗平臺建設上設計多核實驗,從實踐環節上來鍛煉學生的動手能力和提升其創新能力。
1實驗教學的現狀
在計算機系統結構課程中設計多核實驗,須從計算機系統結構與多核知識的課堂教學成果入手,把握多核技術的理論教學動態。然后重點調查國內高校在多核實驗教學方面的研究現狀,為計算機系統結構中的多核技術實驗設計提供必要的技術支持和可行性研究。
事實上,計算機系統結構課程重在培養計算機專業本科生的抽象思維能力、自頂向下系統分析和創新能力。全國重點和普通高校中幾乎都開設了這門課程,出現了大量的課程教學與教研成果[2-12]。雖然課程教學成果多,但是實驗教研成果小,而且還缺乏多核知識點的引入或多核體系更新不足。
作者簡介:于永斌,男,副教授,研究方向為計算機系統結構、大規模集成電路設計與應用。
關于多核技術,清華大學的王小鴿[13]提供了理解多核技術、并行計算與未來計算機發展的視角。薛巍[14]從并行計算基礎、高性能計算前沿技術研討課、多線程/多核CPU邏輯設計短期課程等方面介紹了清華大學多核課程建設成果。吳繼雁[15]簡要地分析與總結了多核技術及發展趨勢。北京交通大學計算機學院的劉近光和梁滿貴[16]介紹了基于MIPS體系結構的多核處理器特點。浙江大學的陳天洲等[17-21]介紹了多核程序設計課程和進行了多核精品課程建設探索與實踐,并主持了教育部骨干教師多核技術培訓,對多核技術的教學科研做出了很大的貢獻。武漢大學電子信息學院的楊劍鋒等[22]介紹了“多核架構及編程技術”這一教育部-Intel精品課程建設成果。北京工業大學計算機學院的方娟[23]探討了多核教學內容和教學模式。與這些多核技術的教學成果相比較,由于多核硬件實驗平臺與軟件環境的難構造,使得多核技術方面的實驗研究成果特別少。根據作者的可查文獻,中山大學教學實驗中心的程小雄和伍麗華[24]進行了基于FPGA的多核技術課創新實驗探索,介紹了在現場可編程門陣列(FPGA,Field Programmable Gate Array)芯片和SoPC(片上可編程系統)、NOIS-II等工具軟件所組成的軟硬件平臺下,開展多核技術課程創新實驗的研究;并在新組成的多核系統中,移植和擴展了µC/OS-II操作系統,還設置了相關的實驗環境和若干實驗項目,對提高學生的綜合實驗能力具有積極的作用。
通過對計算機系統結構和多核技術課堂教研與實驗教學動態的充分調研,我們不難得到多核技術在國內課堂與實驗教學中的實施狀況,雖有新增多核課程或修改原有課程(如:計算機系統結構、高級計算機體系結構或高等計算機系統結構)的教學內容,但較少涉及多核技術方面的實驗教學。基于這樣的背景,在計算機系統結構中設計多核實驗,這對學生的實驗能力和綜合素質提高具有特別重要的作用。
2多核實驗的設計
在計算機系統結構課程中設計多核實驗,需要把握多核本質和其技術要點。多核的本質是為了解決高性能計算和并行計算問題,它在硬件和軟件兩個方面改變了傳統的計算機系統結構。由此,多核技術的發展使得計算機系統結構的教學發生了變化,這種變化主要來自于多核技術所帶來的新知識點。多核技術所涉及的知識點可歸納為硬件和軟件兩個方面,具體如下:
1) 多核硬件方面的知識點。
(1) 多核下的硬件設計技術,包括Cache與存儲一致性、網絡互聯、IO管理;
(2)多核芯片與傳統單核微處理器的區別,多核SoC(System on a Chip)芯片技術;
(3) 嵌入式多核芯片技術以及典型多核芯片:Cell、OpenSparc、Intel雙核芯片、AMD雙核芯片等;
(4) 并行體系與多核體系結構、多核平臺結構與芯片組支持技術。
2) 多核軟件方面的知識點。
(1) 多核操作系統、多核系統軟件對并行編程的支持、多核API優化函數庫,多核平臺上編譯工具;
(2) 多線程編程對多核的支持,Windows/Linux多核多線程編程技術;
(3) OpenMP多線程編程及性能優化,MPI (Message Passing Interface)編程及性能優化;
(4) 多核多線程程序的性能評測方法與工具。
基于上述的多核知識點,聯系計算機系統結構原有實驗,可在硬件平臺和多核軟件工具上設計多核實驗。
多核實驗,包括兩個方面的實驗內容。一是在FPGA芯片上設計多個同構或異構處理器內核,并進行操作系統的移植,最終做出一個可實際運行的多內核計算機系統;通過該實驗,可增長學生對實驗的興趣,更深刻理解多核技術的知識點。二是Windows/Linux多核多線程編程實驗,利用多核軟件工具進行編程;在Windows平臺下,利用Win32API、MFC或.Net Framework提供的接口來實現;若在Linux平臺下,利用IEEE POSIX標準定義的API進行多線程編程。對于綜合設計,可設計為學生課外的有關多核技術設計、實驗或發展趨勢調研的課程設計、創新設計或畢業設計,訓練學生面對實際應用問題的綜合分析、方案設計、多種程序設計結構的綜合使用和實際工程問題的綜合解決能力。
在計算機系統結構中設計多核實驗,希望達到如下目標。
1) 設計多核實驗,發展計算機系統結構課程教學與實驗實踐內容,按照Intel多核技術大學合作計劃[25],實現高校與Intel的合作;
2) 理解普適的多核思想和硬件設計理念[26, 27],普及并行計算技術,使廣大的本科生能在以后的程序設計與開發中可以發揮多核計算優勢;
3) 通過多核實驗,強化計算機專業本科生和未來的科研人員的實驗動手能力,激發興趣愛好
和創造潛能,幫助他們更有效地開展進一步的科研工作。
3結語
計算機系統結構中多核實驗的嘗試性設計,旨在教學實踐中不斷完善和創新,充分體現多核技術的革命。應用FPGA技術設計多核實驗,是一種培養學生創新能力的嘗試,一種引導學生從感性上理解多核技術內涵的實驗創新,有利于促進計算機系統結構課程在多核時代的發展。
參考文獻:
[1] David L. Weaver. OpenSPARCTM Internals[Z]. Sun Microsystems Inc,2008(10):1-36.
[2] 張晨曦,劉依. 探索新的教學模式和方法,建設計算機系統結構精品課程[J]. 計算機教育,2007(12):103-106.
[3] 張晨曦,王志英,劉依,等. 計算機系統結構課程內容體系的研究[J]. 計算機教育,2009(20):57-60.
[4] 吳曉華,徐潔,王雁東,等. 計算機系統結構課程教學探討[J]. 實驗科學與技術,2006(6):67-70.
[5] 王華,徐潔,王雁東,等. 計算機系統結構課程改革與探索[J]. 計算機教育,2009(10):15-17.
[6] 徐潔,王華,吳曉華, 等. 淺析SPEC基準測試程序集及評價指標[J]. 實驗科學與技術,2010(6):21-24.
[7] 王志英,李宗伯,錢程東,等. “計算機體系結構”國家精品課程的特色與建設經驗[J]. 計算機教育,2007(4):27-28.
[8] 姜晶菲,肖儂,王志英,等. “計算機體系結構”課程建設及改革思考[J]. 計算機教育,2009(18):3-5.
[9] 王志曉,夏戰國,王凱. “計算機組織與體系結構”教學改革與探索[J]. 福建電腦,2009(2):213-214.
[10] 曲大鵬,薛建生,范鐵生. 啟發式教學法在計算機系統結構教學中的應用[J]. 遼寧大學學報,2010(3):218-220.
[11] 童小念,何秉嬌,舒萬能. 計算機系統結構實踐教學環節的研究與實施[J]. 計算機教育,2008(3):66-68.
[12] 舒萬能,童小念,何秉嬌. 計算機系統結構實踐教學體系研究[J]. 科技信息,2009(5):5-6.
[13] 王小鴿. 關于多核技術的幾點思考[J]. 程序員,2006(9):56-58.
[14] 薛巍. 多核課程建設[J]. 計算機教育,2007(6):40-43.
[15] 吳繼雁. 多核技術及發展趨勢[J]. 哈爾濱軸承,2007(28):57-58.
[16] 劉近光,梁滿貴. 多核多線程處理器的發展及其軟件系統架構[J]. 微處理機,2007(1):1-3.
[17] 陳天洲,曹捷, 王靖淇. “多核程序設計”概述[J]. 計算機教育,2007(7):39-41.
[18] 陳天洲,劉蘇明. 教育部骨干教師培訓課程設計:多核技術[J]. 計算機教育, 2007(10):65-67.
[19] 陳天洲. 多核課程建設探索與實踐[J]. 計算機教育,2007(2):51-55.
[20] 陳天洲,王靖淇,劉蘇明. 從“教育部-英特爾精品課程”評審看大學對多核技術的課程改革[J]. 計算機教育, 2007(6):37-39.
[21] 陳天洲. 多核精品課程建設與拓展[J]. 計算機教育,2008(1):61-62.
[22] 楊劍鋒,田茂,謝銀波. “多核架構及編程技術”課程建設[J]. 計算機教育,2007(12):82-83.
[23] 方娟. 多核技術在“高級計算機體系結構”課程中的引入與探討[J]. 計算機教育,2008(20):41-42.
[24] 程小雄,伍麗華. 基于FPGA的多核技術課創新實驗探索[J]. 實驗室研究與探索,2008(27):3-5.
[25] 英特爾軟件學院. 辭舊迎新繼往開來持續推進“英特爾多核技術大學合作計劃”[J]. 計算機教育,2009(2):119.
[26] Kunle Olukotun,Lance Hammond,James Laudon. Chip Multiprocessor Architecture:Techniques to Improve Throughput and Latency[M]. San Rafael:Morgan & Claypool Publishers,2007:1-141.
[27] Ahmed Amine Jerraya,Wayne Wolf. Multiprocessor Systems on Chips[M]. San Fransisco:Morgan Kaufmann Publishers, 2005:357-392.
Multi-core Experiment Design of Computer Architecture
YU Yongbin, XU Jie, WANG Hua, ZHANG Fengli, LIAO Jianming, ZHOU Shijie