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