1研究背景
近年來,計(jì)算機(jī)硬件,特別是多核技術(shù)及嵌入式技術(shù)的發(fā)展,給計(jì)算機(jī)相關(guān)研究帶來了新的契機(jī),同時(shí)也對計(jì)算機(jī)相關(guān)課程的教學(xué)產(chǎn)生了深遠(yuǎn)影響。多核技術(shù)的發(fā)展使未來大多數(shù)的軟件開發(fā)都將以多核芯片為基礎(chǔ)硬件平臺,因此一直習(xí)慣于“順序軟件”的開發(fā)者必須要找出新的軟件開發(fā)方法。全球的軟件開發(fā)者此時(shí)都站在同一起跑線上,對高校學(xué)生而言亦是如此。
在“英特爾多核大學(xué)計(jì)劃”的推動(dòng)下,截至2009年,國內(nèi)已有102所高校開設(shè)了多核相關(guān)課程,每年有超過2萬名學(xué)生從中受益。多核及嵌入式相關(guān)課程有著知識點(diǎn)多、覆蓋面廣、實(shí)踐性強(qiáng)、學(xué)習(xí)難度大的特點(diǎn)。由于課時(shí)數(shù)、實(shí)驗(yàn)條件等原因的限制,教師在有限的課堂上很難面面俱到,只能對重要的知識點(diǎn)或方法進(jìn)行講解分析,這就對學(xué)生的自主學(xué)習(xí)能力提出了更高要求。具備自主學(xué)習(xí)能力是培養(yǎng)學(xué)生創(chuàng)新能力的前提,因此我們在多核及嵌入式的課程教學(xué)中進(jìn)行了一些有益的探索,立足學(xué)生的發(fā)展,強(qiáng)調(diào)學(xué)生自主學(xué)習(xí),強(qiáng)調(diào)教師在學(xué)生自主學(xué)習(xí)中發(fā)揮引導(dǎo)作用。本文以武漢大學(xué)多核架構(gòu)及編程技術(shù)課程為例,以英特爾reg;學(xué)術(shù)社區(qū)為自主學(xué)習(xí)平臺,分享我們在課程改革中的一點(diǎn)經(jīng)驗(yàn)。
2多核架構(gòu)及編程技術(shù)課程設(shè)計(jì)
2.1課程簡介
武漢大學(xué)多核架構(gòu)及編程技術(shù)本科生課程針對通信工程、電子信息工程等專業(yè)學(xué)生開設(shè),在第6學(xué)期開課,共72學(xué)時(shí)(理論36學(xué)時(shí)、實(shí)驗(yàn)36學(xué)時(shí)),3個(gè)學(xué)分。該課程獲得2007年度“教育部-英特爾精品課程”立項(xiàng)項(xiàng)目。
我們以“多核架構(gòu)及編程技術(shù)在本學(xué)科領(lǐng)域”為主線開展教學(xué)活動(dòng),使學(xué)生掌握多核體系的基本原理、典型設(shè)計(jì)策略,全面深入地了解多核體系架構(gòu),完善知識結(jié)構(gòu),能在多核平臺上進(jìn)行并行編程,會(huì)使用相關(guān)工具進(jìn)行程序優(yōu)化和調(diào)試,理解多核技術(shù)對其他學(xué)科的影響。
2.2課程分析
該課程覆蓋硬件和軟件兩大模塊,知識覆蓋面廣,包括了多核芯片與傳統(tǒng)單核微處理及對稱多處理器的架構(gòu)比較、并行體系與多核體系架構(gòu)、典型多核芯片、嵌入式多核芯片、多核平臺結(jié)構(gòu)與芯片組支持技術(shù)、多核操作系統(tǒng)、多核系統(tǒng)軟件對并行編程的支持、多線程編程對多核架構(gòu)的支持、Windows(Linux)系統(tǒng)下多核多線程編程、OpenMP對多核的支持、編譯優(yōu)化、性能評測、英特爾多核編程工具、案例分析等眾多內(nèi)容,實(shí)驗(yàn)部分包括8個(gè)基礎(chǔ)實(shí)驗(yàn)、8個(gè)提高實(shí)驗(yàn)、課程設(shè)計(jì)等內(nèi)容。要在有限的學(xué)時(shí)內(nèi)保質(zhì)保量地達(dá)成教學(xué)目標(biāo),需要加強(qiáng)培養(yǎng)學(xué)生的自主學(xué)習(xí)能力。我們總結(jié)出多核課程自主學(xué)習(xí)的三要素,即通過多種途徑激發(fā)學(xué)生的學(xué)習(xí)興趣,選擇一個(gè)良好的自主學(xué)習(xí)平臺,教師在學(xué)生自主學(xué)習(xí)過程中發(fā)揮引導(dǎo)作用。
3教學(xué)過程
3.1激發(fā)興趣
多核技術(shù)是全新的,要改變編程思維方式,入門難度很大,因此學(xué)生容易產(chǎn)生畏難心理,更不用說有什么興趣了。我們采用三步走的方式激發(fā)學(xué)生的學(xué)習(xí)興趣,取得了比較理想的效果。
第一步,感性認(rèn)識向理性認(rèn)識的轉(zhuǎn)變。教師通過對圖像處理案例等本學(xué)科領(lǐng)域內(nèi)容(如512地震堰塞湖的遙感監(jiān)測)的分析,將其與單核單線程、單核多線程的處理結(jié)果相比較,說明多核技術(shù)的應(yīng)用場合及效果,讓學(xué)生從感性上認(rèn)同教學(xué)內(nèi)容并產(chǎn)生探秘心理,即“知其然”。
第二步,理性認(rèn)識的深化。教師一方面可以在課堂上講解多核架構(gòu)的硬件,分析說明為什么可以并行處理數(shù)據(jù),即讓學(xué)生“知其所以然”;另一方面采用校企聯(lián)合辦學(xué)的辦法,請英特爾工程師來校講座,增加學(xué)生與企業(yè)研究人員面對面交流的機(jī)會(huì),通過探討加深對知識的了解。近兩年,英特爾工程師來校講座實(shí)踐了4次,同學(xué)們參與熱情非常高,提問也非常積極。
第三步,理性認(rèn)識向興趣的轉(zhuǎn)化。經(jīng)過約20課時(shí)的學(xué)習(xí)實(shí)踐,學(xué)生已經(jīng)初步具備了多核編程能力。在這一階段,我們在課堂上播放從英特爾學(xué)術(shù)社區(qū)中下載的國外知名教授或資深研究員的知識點(diǎn)講解視頻,如Clay Breshears教授講解的“鎖”,加深學(xué)生對知識點(diǎn)的理解,激發(fā)學(xué)生的學(xué)習(xí)興趣。在這一時(shí)期,課程組與學(xué)院其他課題組的老師聯(lián)系,請他們?yōu)閷W(xué)生出一些實(shí)踐課題,讓學(xué)生學(xué)以致用。
隨后的時(shí)間中,課程組教師每周拿出固定的時(shí)間為學(xué)生當(dāng)面答疑,同時(shí)也對郵件問題給予及時(shí)回復(fù),敦促學(xué)生加快學(xué)習(xí)進(jìn)度。
3.2搭建平臺
為了更好地開展自主學(xué)習(xí),學(xué)生需要自主學(xué)習(xí)平臺。我們除了建設(shè)課程網(wǎng)站外,還把英特爾學(xué)術(shù)社區(qū)作為學(xué)生自主學(xué)習(xí)的主要平臺。該社區(qū)平臺提供了全球知名高校相關(guān)課程的課件、工程師的演講視頻、最新的研究動(dòng)態(tài)文檔、在線研討工具、各類多核編程軟件等資料,為學(xué)生提供了豐富的課外學(xué)習(xí)資源和寬廣的交流平臺,其中教師講課視頻和心得體會(huì)最受學(xué)生歡迎。同時(shí),英特爾軟件網(wǎng)絡(luò)推出了“英特爾黑帶軟件開發(fā)人員獎(jiǎng)勵(lì)計(jì)劃”,對參與社區(qū)活動(dòng)、分享教學(xué)經(jīng)驗(yàn)和學(xué)習(xí)體會(huì)的師生給予獎(jiǎng)勵(lì),更是極大地激勵(lì)了參與者的積極性,使師生們在英特爾學(xué)術(shù)社區(qū)平臺學(xué)習(xí)知識、交流分享、追求創(chuàng)新,進(jìn)一步豐富了社區(qū)內(nèi)容,形成了人與平臺之間的良性互動(dòng)。
3.3教師引導(dǎo)
“不聞不若聞之,聞之不若見之,見之不若知之,知之不若行之;學(xué)至于行之而止矣”,強(qiáng)調(diào)的是實(shí)踐的重要性?!笆谥贼~,不如授之以漁”,強(qiáng)調(diào)的是學(xué)習(xí)過程中方法的重要性,也就是本文所述的自主學(xué)習(xí)能力。多核技術(shù)是一門實(shí)踐性很強(qiáng)的課程,培養(yǎng)學(xué)生實(shí)際編程和解決問題的能力尤為重要,而自主學(xué)習(xí)能力則是實(shí)踐能力得以提高的重要前提。
在多核及嵌入式知識的學(xué)習(xí)中,課程組以課堂為載體,引導(dǎo)學(xué)生質(zhì)疑、調(diào)查、探究,促進(jìn)學(xué)生在教師指導(dǎo)下主動(dòng)地、富有個(gè)性地學(xué)習(xí)。教師把學(xué)習(xí)方法教給學(xué)生,把學(xué)習(xí)的主動(dòng)權(quán)交給學(xué)生,著重培養(yǎng)學(xué)生的獨(dú)立性和自主性。我們主要從以下幾個(gè)方面展開教學(xué):
第一,提高教師的專業(yè)修養(yǎng)。要使學(xué)生保持高度的學(xué)習(xí)興趣并能夠投入學(xué)習(xí)活動(dòng),教師的表率、帶動(dòng)和引導(dǎo)作用最為關(guān)鍵。我們通過參加各類學(xué)術(shù)活動(dòng)關(guān)注最新技術(shù)的發(fā)展動(dòng)向,并將它們及時(shí)引入課堂。如在Intelreg; Threading Building Blocks(英特爾reg;線程構(gòu)建模塊TBB)發(fā)布之初,我們就在課堂上與學(xué)生展開討論,分析其與以往編程工具的差異。課程組教師不斷學(xué)習(xí),參加了英特爾公司組織的各類培訓(xùn)和技術(shù)論壇、講座,如在線Webniars,吸取、消化最新指示,并傳授給學(xué)生。這使學(xué)生深切感受到自己正處在本類知識的歷史發(fā)展階段,提高了對這些知識的關(guān)注程度,也使學(xué)生知道對知識的學(xué)習(xí)不能僅局限于課堂,還應(yīng)關(guān)注行業(yè)發(fā)展。
第二,選擇一個(gè)合適的學(xué)習(xí)平臺。英特爾reg;學(xué)術(shù)社區(qū)(http:/ /software.intel.com/zh-cn/academic/)以內(nèi)容豐富、技術(shù)氛圍濃著稱,全球的專家及高校老師在此進(jìn)行技術(shù)交流和討論。學(xué)生目前已經(jīng)習(xí)慣到這個(gè)平臺上學(xué)習(xí),查找資料。據(jù)我們調(diào)查,學(xué)生對這個(gè)平臺保持良好興趣的原因主要有以下幾項(xiàng):
可以獲得各類技術(shù)文檔及英特爾編程工具
能得到英特爾工程師的實(shí)時(shí)、長期、固定指導(dǎo)
可以觀看很多知識點(diǎn)講解的視頻
可以跟蹤某項(xiàng)技術(shù)進(jìn)展情況
可以聯(lián)系某國際知名教授,請其作自己的研究生導(dǎo)師
另外,我們還選擇了moblin社區(qū)(http://moblin.org/)作為學(xué)生學(xué)習(xí)的平臺。Moblin是一個(gè)開源社區(qū),學(xué)生可以在這里獲取千萬個(gè)應(yīng)用的源代碼,進(jìn)行學(xué)習(xí)和修改,這對于提高深層次程序系統(tǒng)設(shè)計(jì)能力有很大的幫助促進(jìn)作用。我們還選取了一些moblin開源社區(qū)上的項(xiàng)目,學(xué)生可以在一學(xué)期內(nèi)完成,作為實(shí)踐項(xiàng)目和畢業(yè)設(shè)計(jì)題目,很受學(xué)生歡迎。
第三,以學(xué)科競賽為載體,提高創(chuàng)新能力。各類學(xué)科競賽(全國大學(xué)生電子設(shè)計(jì)競賽、嵌入式專題邀請賽、多核編程大賽等)可以在短時(shí)間內(nèi)有效提高學(xué)生的實(shí)踐能力、協(xié)作能力和寫作能力。我們依托我校國家級電工電子基地和示范中心的優(yōu)勢,將以上大賽的競賽培訓(xùn)與學(xué)生創(chuàng)新實(shí)踐能力的培養(yǎng)有機(jī)結(jié)合,強(qiáng)調(diào)過程,確立了“強(qiáng)化基礎(chǔ)知識、基本技能訓(xùn)練,提高理論水平,培養(yǎng)學(xué)生綜合應(yīng)用和實(shí)踐能力,淡化競賽意識錦標(biāo)意識”的指導(dǎo)思想,制定了詳盡具體的訓(xùn)練方案,系統(tǒng)地培養(yǎng)學(xué)生的綜合素質(zhì)和實(shí)踐創(chuàng)新能力。由基礎(chǔ)實(shí)驗(yàn)、小單元系統(tǒng)設(shè)計(jì)、系統(tǒng)設(shè)計(jì)和創(chuàng)新提高設(shè)計(jì)四個(gè)階段組成的由易到難的訓(xùn)練計(jì)劃,大大提高了學(xué)生的創(chuàng)新能力和綜合素質(zhì)。
第四,開放實(shí)驗(yàn)室,成立項(xiàng)目小組??蒲袑?shí)踐是培養(yǎng)學(xué)生創(chuàng)新能力的主要途徑之一。我們一方面依托教師的科學(xué)項(xiàng)目,找準(zhǔn)切入點(diǎn),充分利用現(xiàn)有資源,帶領(lǐng)學(xué)生共同開展創(chuàng)新研究;另一方面鼓勵(lì)大學(xué)生科研創(chuàng)新實(shí)踐。武漢大學(xué)設(shè)有大學(xué)生科研項(xiàng)目,每年都有大批學(xué)生申報(bào)立項(xiàng)并獲得資金和教師指導(dǎo)的支持。同時(shí),對于學(xué)生自主申報(bào)的其他項(xiàng)目,課程組根據(jù)項(xiàng)目特點(diǎn)邀請校內(nèi)教師或企業(yè)(如Intel、Microsoft、IBM、Google、中興、華為、大唐等)工程師共同審核課題并指導(dǎo)學(xué)生,由企業(yè)根據(jù)項(xiàng)目的創(chuàng)新性大小給予資金不等的小額支持。
4教學(xué)成果
實(shí)踐證明,學(xué)生自主學(xué)習(xí)活動(dòng)的深入開展,不僅較好地培養(yǎng)了學(xué)生的個(gè)性和興趣,提高了學(xué)生的創(chuàng)新能力,也全面提高了我校電氣信息、電子信息類專業(yè)學(xué)生的工程實(shí)踐能力、綜合應(yīng)用知識的能力和素質(zhì)。幾年來,學(xué)院多核及嵌入式技術(shù)實(shí)驗(yàn)室創(chuàng)新教育開展得如火如荼,成為武漢大學(xué)電子信息學(xué)院“三創(chuàng)”教育先進(jìn)模范。我們近年來取得的成果有:
(1)2007年,“多核架構(gòu)及編程技術(shù)”獲“教育部—英特爾精品課程”立項(xiàng);作為重要組成部分之一,電子綜合設(shè)計(jì)實(shí)驗(yàn)教學(xué)團(tuán)隊(duì)于2009年獲得武漢大學(xué)第一屆杰出教學(xué)貢獻(xiàn)校長獎(jiǎng)。
(2) 在近幾年的各項(xiàng)比賽中,我校均取得了優(yōu)異成績,并且處于上升趨勢。2004年,我校在全國大學(xué)生嵌入式專題邀請賽中獲得全國二等獎(jiǎng)1項(xiàng);2006年,我校在全國大學(xué)生嵌入式專題邀請賽中獲得全國三等獎(jiǎng)3項(xiàng);2009年,我校在全國大學(xué)生嵌入式專題邀請賽中獲得全國一、二、三等獎(jiǎng)各1項(xiàng)。
(3) 培養(yǎng)了一批優(yōu)秀的拔尖人才,我院每年約有1/4的學(xué)生參加各類學(xué)習(xí)競賽、訓(xùn)練、大學(xué)生科研、社會(huì)實(shí)踐等活動(dòng),極大地提高了學(xué)生綜合素質(zhì),受到國內(nèi)外用人單位的一致好評,同時(shí)也有效提高了就業(yè)水平。
(4) 通過探索“教師引導(dǎo)學(xué)生自主學(xué)習(xí)”的教學(xué)模式,引導(dǎo)并組織學(xué)生參加科研課題,學(xué)生的創(chuàng)造能力和創(chuàng)新意識有了很大提高。僅2006—2009年,我們承擔(dān)指導(dǎo)了本科生全國大學(xué)生創(chuàng)新設(shè)計(jì)項(xiàng)目3項(xiàng),校級科研項(xiàng)目12項(xiàng),部分項(xiàng)目已經(jīng)以優(yōu)異的成績通過科技驗(yàn)收。