亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        “多核編程”課程教學(xué)方法的探討

        2008-12-31 00:00:00高志君滕英巖張盈謙
        計算機教育 2008年20期

        文章編號:1672-5913(2008)20-0169-03

        摘 要:本文闡述了在多核編程課程中采用的多樣的教學(xué)方法。首先介紹課程的總體規(guī)劃,再具體論述理論教學(xué)與實踐教學(xué)的教學(xué)過程和手段,以及討論課堂的設(shè)計思路,最后總結(jié)了教學(xué)效果和意義。

        關(guān)鍵詞:多核編程;教學(xué)方法;多線程開發(fā)思想

        中圖分類號:G642 文獻標識碼:B

        2002年,為支持教育部國家示范性軟件學(xué)院項目,Intel啟動大學(xué)軟件學(xué)院計劃,促進軟件類課程建設(shè),協(xié)同培養(yǎng)實用型、復(fù)合型的軟件人才。2007年我校與Intel開展合作,將目前主流的多核技術(shù)融入現(xiàn)行的本科教學(xué)計劃中,成立課程組,開設(shè)了一門專業(yè)課程——“多核編程”。目前該課程已經(jīng)開設(shè)兩年,現(xiàn)將在本課程中的一些教學(xué)方法、心得與各位同仁分享。

        1 課程介紹

        本課程主要內(nèi)容包括多核體系結(jié)構(gòu)介紹,多線程開發(fā)思想,多線程程序設(shè)計與實現(xiàn),多線程程序編譯、分析工具的應(yīng)用,多線程編程方法學(xué)等。由于本課程授課內(nèi)容比較新穎,與現(xiàn)今的多核技術(shù)密切相關(guān),因此對學(xué)生要求較高,需要學(xué)生有較好的分析和編寫串行程序的能力,具備操作系統(tǒng)等相關(guān)課程的知識,因此本課程在大三下學(xué)期開設(shè)。

        本課程以一條主線貫徹始終,反復(fù)重復(fù)、不斷強化為指導(dǎo)思想和教學(xué)方法。即以培養(yǎng)學(xué)生多線程開發(fā)思想為教學(xué)主線,以在多核平臺上編寫多線程程序為實踐教學(xué)手段,使學(xué)生掌握多線程開發(fā)的思想并在不斷實踐中反復(fù)重復(fù)加以鞏固強化,提高學(xué)生對多線程問題的分析和解決能力,為今后的學(xué)習(xí)打下基礎(chǔ)。

        本課程注重實踐環(huán)節(jié),上機實踐占總課時50%。課程的難點在于打破學(xué)生已經(jīng)固有的串行編程思想,建立多線程開發(fā)思想。

        2 教學(xué)方法設(shè)計

        在整個教學(xué)過程中,分為理論教學(xué)和實踐教學(xué)兩部分。在課程安排上兩部分交替進行,相輔相成,并始終貫穿多線程開發(fā)思想這一主線,讓學(xué)生在實踐中不斷強化,加深理解直至靈活運用。

        理論教學(xué)旨在幫助學(xué)生理解和掌握多核概念,多線程開發(fā)思想以及主要編程語言的應(yīng)用等內(nèi)容。實踐課程旨在通過實際的操作鞏固理論課上所學(xué)的知識,采用相關(guān)Intel多線程工具對程序進行性能分析、調(diào)優(yōu)等。此外,討論環(huán)節(jié)的設(shè)置也是本課程教學(xué)特色之一。討論環(huán)節(jié)的展開加強了學(xué)生間的知識交流與自主學(xué)習(xí)的能力,也將理論教學(xué)與實踐教學(xué)融為一體。

        2.1 理論教學(xué)

        在理論教學(xué)中圍繞多線程開發(fā)思想這一主線展開。在授課中,本課程組始終保持以學(xué)生為本的態(tài)度,采取從學(xué)生現(xiàn)有知識體系出發(fā),逐漸過渡學(xué)習(xí)新知識的教學(xué)方法,良好的保證了學(xué)生對授課內(nèi)容的理解和接受程度。在這一過程中,采取了大量舉例、類比、圖示等分析方法。

        多線程開發(fā)思想主要描述了多線程程序的開發(fā)流程,如圖1所示,大體上分為五個階段。每個階段的授課由淺入深,讓學(xué)生明確在每個階段對問題的分析方法,解決方案以及可以利用的輔助相關(guān)軟件等內(nèi)容。下面將針對某一個階段的教學(xué)方法展開論述。

        圖1 多線程開發(fā)流程簡圖

        在多線程開發(fā)流程中任務(wù)分解,設(shè)計并行算法這一階段(如圖1第3階段)較為重要,它是多線程化的前提和依據(jù)。這一階段需要學(xué)生掌握任務(wù)分解的含義,任務(wù)分解的主要方法,這些方法的含義、特點、優(yōu)缺點、適用條件,以及在明確任務(wù)分解方法的基礎(chǔ)上如何深入設(shè)計并行算法等內(nèi)容。

        在講述了這階段的理論內(nèi)容后,為了幫助學(xué)生理解這階段的內(nèi)容,在授課過程中列舉了大量現(xiàn)實生活的例子,例如種樹。假設(shè)兩人共同完成10棵樹的栽種工作,工作分為挖坑和栽種兩個任務(wù),這時對這一項工作來說有兩種協(xié)調(diào)方法:(1)一人挖坑,一人種樹;(2)每人負責五棵樹的挖坑和栽種工作。這兩種協(xié)調(diào)方法剛好符合任務(wù)分解中任務(wù)分解和數(shù)據(jù)分解兩種分解方法。到這里學(xué)生已經(jīng)比較明確這兩種分解的含義和不同之處,接著以例子和理論相互對比的方法深入分析這兩種分解的特點、優(yōu)缺點以及適用條件。同時與操作系統(tǒng)中的線程同步,資源競爭等概念相聯(lián)系,使學(xué)生在理解上沒有障礙。接著引導(dǎo)學(xué)生設(shè)計該問題的簡明并行算法,讓學(xué)生明確實際問題如何轉(zhuǎn)化為算法,進而轉(zhuǎn)化為程序,從而使問題得以解決。簡明算法如下所示。

        //第一種協(xié)調(diào)方法的算法:(1)一個人挖坑,一個人種樹

        void caving();

        void planting();

        int main(){

        init(); //系統(tǒng)初始化。

        createthread(caving) ;// 生成一個線程(相當于一個人)完成挖坑的工作。

        createthread(planting) ;// 生成一個線程(相當于一個人)完成栽種的工作。

        wait(); //線程同步。

        return 0;

        }

        //第二種協(xié)調(diào)方法的算法:每人負責五棵樹的挖坑和栽種工作。

        void caving_planting ();

        int main(){

        init(); //系統(tǒng)初始化。

        createthread(caving_planting (前五棵樹) );// 生成一個線程(相當于一個人)完成前五棵樹的工作。

        createthread(caving_planting (后五棵樹) );// 生成一個線程(相當于一個人)完成后五棵樹的工作。

        wait(); //線程同步。

        return 0;

        }

        至此,這一階段基本闡述清楚,可以再舉一些例子讓學(xué)生自主分析理解,設(shè)計算法。

        2.2 實踐教學(xué)

        在實踐課程中本課程組采取循序漸進,劃分層次的教學(xué)方法,既保證了多數(shù)同學(xué)的學(xué)習(xí)效果也為優(yōu)秀的同學(xué)提供了提高的空間。

        實踐課時占總課時的一半,主要內(nèi)容包括(1)對多線程開發(fā)思想加以實踐鞏固,(2)對學(xué)習(xí)過程中遇到的疑惑,自主設(shè)計相關(guān)實驗,驗證解決,提高學(xué)生獨立自主學(xué)習(xí)的能力。

        實踐內(nèi)容共分為五個實驗。各個實驗的目的及側(cè)重點各不相同。實驗內(nèi)容如表1所示。

        綜上所述,在實踐授課中始終圍繞理論授課的內(nèi)容是理論知識的鞏固和補充,兩者在本課程中缺一不可。在實踐課程中還采取了隨堂檢查記錄成績的方法,既為最終考核提供了依據(jù),也在一定程度上督促了學(xué)生的學(xué)習(xí),調(diào)動了學(xué)生的學(xué)習(xí)積極性。

        2.3 討論環(huán)節(jié)

        隨著課程的進行,在課程的不同階段安排了若干次的討論環(huán)節(jié)。討論內(nèi)容主要針對在課程學(xué)習(xí)中遇到的問題,通過學(xué)生間的各抒己見、資料查閱、實驗驗證等方法解決。其中有兩次討論環(huán)節(jié)值得一提。

        一次是在自主實驗設(shè)計之前,首先將學(xué)生分組,每位學(xué)生闡述在自主實驗中將要解決的問題及初步設(shè)計方案,進行組內(nèi)討論并修改設(shè)計方案至組內(nèi)通過。接著組內(nèi)將沒有通過的解決方案在全班討論上提出,進行討論修訂,最終確定設(shè)計方案。另一次是在自主實驗設(shè)計之后,學(xué)生將自己的實驗結(jié)果與實驗結(jié)論與大家分享,聆聽其他學(xué)生的評價及進一步的修改意見。例如,很多學(xué)生在OpenMP的學(xué)習(xí)過程中對其具體語法和語義的理解不是十分清楚,容易混淆。學(xué)生設(shè)計實驗,通過對幾組小程序的實踐驗證,對比分析,從而解決這一問題。這兩次討論環(huán)節(jié)的設(shè)置行之有效的幫助學(xué)生完成最后一次實驗,實驗效果良好,讓學(xué)生在實踐中懂得合作與分享的意義。

        總之,本課程組認為討論環(huán)節(jié)在本課程中對學(xué)生的學(xué)習(xí)起到了積極的推進作用,讓學(xué)生在溝通與合作中自主學(xué)

        習(xí),加深了對課程各個環(huán)節(jié)的理解和掌握,提高了學(xué)生分析解決問題的能力。

        3 考核方式

        期末成績?yōu)榘俜种疲瑳]有期末考試,讓學(xué)生專注于課程的學(xué)習(xí)。成績分為平時成績和實踐成績兩部分,平時成績主要針對學(xué)生平時上課的出勤率、聽課狀態(tài)、課上表現(xiàn)、作業(yè)完全等情況。實踐成績包括實驗報告、實驗課表現(xiàn)、隨堂檢查三部分。全面考核學(xué)生在整個學(xué)習(xí)過程中的態(tài)度和表現(xiàn)。當然這需要授課教師在課程的整個過程中關(guān)注每位學(xué)生的學(xué)習(xí)情況。

        4 結(jié)束語

        在Intel相關(guān)部門的大力支持及本課程組教師的共同努力下,本課程已經(jīng)建立起較完善的教學(xué)體系和教學(xué)方法。由于在授課過程中,課程組始終貫徹一條主線的教學(xué)方法,因此使得授課內(nèi)容集中連貫易于學(xué)生理解。理論與實踐的有機結(jié)合使學(xué)生的學(xué)習(xí)更具有實際針對性,討論環(huán)節(jié)的設(shè)置為學(xué)生間的交流和主動學(xué)習(xí)提供平臺。經(jīng)過一個學(xué)期的系統(tǒng)學(xué)習(xí),學(xué)生在今后遇到多線程相關(guān)問題時具有分析和解決的能力,達到教學(xué)目的。

        參考文獻

        [1] 多核系列教材編寫組.多核程序設(shè)計[M].北京:清華大學(xué)出版社,2007.

        久久久久av无码免费网| 国产精品女同二区五区九区 | 99视频这里有精品| 国产不卡一区二区三区视频| 91色区在线免费观看国产| 狠狠噜狠狠狠狠丁香五月| 欧洲日本一线二线三线区本庄铃| 浪荡少妇一区二区三区| 白色白色视频在线观看| 精品亚洲a∨无码一区二区三区| 少妇做爰免费视频网站| 亚洲综合五月天欧美| 亚洲精品国产熟女久久久| 久久久亚洲欧洲日产国码二区| 丰满老熟妇好大bbbbb| 国产成人精品三上悠亚久久| 亚洲丁香五月激情综合| av天堂在线免费播放| 米奇欧美777四色影视在线| 夜先锋av资源网站| 亚洲都市校园激情另类| 美女福利视频在线观看网址| 国产成人无码av一区二区在线观看| 牲欲强的熟妇农村老妇女| 亚洲成a人片在线| 中文字幕av久久激情亚洲精品| 成人免费在线亚洲视频| 2021久久精品国产99国产精品| 亚洲两性视频一三区| 白白色日韩免费在线观看| 少妇高潮太爽了在线视频| 亚洲 欧美 影音先锋| 胳膊肘上有白色的小疙瘩| 久久国产成人午夜av免费影院| 国产精品无码久久久久成人影院| 免费黄色电影在线观看| 亚洲无码啊啊啊免费体验| 日本免费一区二区三区影院 | 精品国产一区二区三区av麻| 国产精品乱码一区二区三区| 久久精品国产99精品国偷|