于方
摘 要: 為了應(yīng)對(duì)新的信息技術(shù)環(huán)境下計(jì)算機(jī)程序設(shè)計(jì)教學(xué)體系的變化,研究了多核程序設(shè)計(jì)課程的教學(xué)模式。提出將多元學(xué)與教思想融入多核程序設(shè)計(jì)教學(xué)過程中的觀點(diǎn),從理論和實(shí)踐兩個(gè)教學(xué)環(huán)節(jié)分別研究了具體的教學(xué)模式和教學(xué)評(píng)價(jià)體系,實(shí)踐證明,該模式具有較強(qiáng)的可操作性,取得了較好的教學(xué)效果。
關(guān)鍵詞: 多核程序設(shè)計(jì); 多元學(xué)與教思想; 教學(xué)模式; 教學(xué)評(píng)價(jià)體系
中圖分類號(hào):G433 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2013)06-69-03
Multi-core programming design course teaching mode integrated with multiple studying and teaching
Yu Fang
(Baotou Teachers College, Information Science and Technology College, Inner Mongolia, Baotou, Neimenggu 014030, China)
Abstract: In order to deal with the change of computer programming design teaching system in new information technology environment, multi-core programming design course teaching mode is discussed. An idea of integrating with multiple studying and teaching thought in teaching process is introduced. The concrete teaching mode and teaching evaluation system are studied from theory and practice. The scheme is more practical and operable, and it gets better teaching effects.
Key words: multi-core programming design; multiple studying and teaching thought; teaching mode; teaching evaluation system
0 引言
多核平臺(tái)的普及推進(jìn)了多核程序設(shè)計(jì)課程在高校計(jì)算機(jī)專業(yè)的開設(shè),但由于多核計(jì)算技術(shù)自身的特點(diǎn),使得此課程的教學(xué)方式應(yīng)區(qū)別于傳統(tǒng)的程序設(shè)計(jì)類課程,因此有必要研究新型的教學(xué)模式以適應(yīng)新的程序設(shè)計(jì)教學(xué)需要。多元學(xué)與教思想是指在教學(xué)過程中,為實(shí)現(xiàn)教學(xué)目標(biāo)、完成教學(xué)任務(wù)而采取的教與學(xué)相互作用的活動(dòng)方式的總稱,其內(nèi)涵可從教學(xué)內(nèi)容的呈現(xiàn)方式(組織策略)、教學(xué)模式(傳遞策略)和教學(xué)活動(dòng)的方式(管理策略)三個(gè)維度上加以描述[1]。本文借鑒多元學(xué)與教思想,研究了多核程序設(shè)計(jì)理論課程的教學(xué)呈現(xiàn)方式、實(shí)驗(yàn)課程的教學(xué)活動(dòng)方式和基于該教學(xué)模式的課程評(píng)價(jià)體系,完整地提出了一套適合多核程序設(shè)計(jì)課程的教學(xué)模式。該模式具有較強(qiáng)的可操作性,為計(jì)算機(jī)程序設(shè)計(jì)類課程的教學(xué)模式改革和教學(xué)大綱修訂提供了新的參考和思路。
1 基于交互與啟發(fā)的理論課教學(xué)呈現(xiàn)方式
多核程序設(shè)計(jì)是一門綜合性要求較高的程序設(shè)計(jì)課程,能夠?qū)崿F(xiàn)對(duì)其他計(jì)算機(jī)專業(yè)課程和知識(shí)體系的綜合與提升,幫助學(xué)生建立系統(tǒng)的、完整的專業(yè)理論體系,培養(yǎng)學(xué)生的系統(tǒng)設(shè)計(jì)能力、綜合應(yīng)用能力和動(dòng)手實(shí)踐能力等,開拓學(xué)生的專業(yè)學(xué)術(shù)視野[2,3]。教學(xué)目標(biāo)是結(jié)合多核編程工具,以多線程并行程序設(shè)計(jì)為主,通過編程作業(yè)和課程設(shè)計(jì)培養(yǎng)學(xué)生的多核編程能力。考慮到多核課程的教學(xué)要求和培養(yǎng)目標(biāo),本文設(shè)計(jì)了交互式與啟發(fā)式相結(jié)合的教學(xué)模式來呈現(xiàn)理論課教學(xué)內(nèi)容。
1.1 基于多媒體的交互式教學(xué)
以往傳統(tǒng)的程序設(shè)計(jì)課程多數(shù)是在普通教室中完成,即便是在多媒體教室中授課,也只是教師使用多媒體手段講授課程,學(xué)生被動(dòng)聽講,不能實(shí)時(shí)參與到教學(xué)過程中來。多核程序設(shè)計(jì)課程的一個(gè)明顯特點(diǎn)是程序運(yùn)行環(huán)境必須是多核平臺(tái),所以單核微機(jī)上無法演示多核編程的過程和效果。因此,本文建議將多核程序設(shè)計(jì)課程的理論教學(xué)基于多媒體環(huán)境的多核平臺(tái)下實(shí)施。課程安排在多核微機(jī)實(shí)驗(yàn)室(不同于實(shí)驗(yàn)上機(jī)),教師在理論知識(shí)講解過程中,應(yīng)用多媒體授課系統(tǒng)進(jìn)行講授,教師可以控制學(xué)生的學(xué)習(xí)過程,保證學(xué)生的學(xué)習(xí)注意力集中;在需要進(jìn)行程序設(shè)計(jì)方面的演示和調(diào)試時(shí),教師下放學(xué)習(xí)權(quán)限,讓學(xué)生自己操作多核微機(jī),實(shí)時(shí)驗(yàn)證剛學(xué)習(xí)過的知識(shí)。此外,在教學(xué)過程中不僅教師講授,還要穿插課堂討論與交流,提高學(xué)生的學(xué)習(xí)興趣,以此來培養(yǎng)學(xué)生的自學(xué)能力和交流能力,使學(xué)生在互動(dòng)中思考,集思廣益,獲得更多的知識(shí)。這樣將理論和實(shí)踐實(shí)時(shí)結(jié)合,教師和學(xué)生頻繁互動(dòng),能夠加深學(xué)生的學(xué)習(xí)體會(huì)、增強(qiáng)學(xué)習(xí)記憶,同時(shí)營(yíng)造了積極主動(dòng)的學(xué)習(xí)氣氛,有助于學(xué)生掌握所學(xué)內(nèi)容。需要注意的是,教師須合理安排理論學(xué)習(xí)和實(shí)際操作的時(shí)間,以保證課堂教學(xué)內(nèi)容的正常完成。
1.2 基于案例的啟發(fā)式教學(xué)
多核程序設(shè)計(jì)課程有一個(gè)重要特點(diǎn)是很多案例需要在多核平臺(tái)下進(jìn)行驗(yàn)證,這對(duì)于大部分學(xué)生來說是既陌生又好奇的。陌生的是:多核平臺(tái)是如何架構(gòu)的?好奇的是:如何在這樣的平臺(tái)上使用多個(gè)核心進(jìn)行并行編程?本文采取案例式教學(xué)方法激發(fā)學(xué)生的探究式學(xué)習(xí)興趣、提高學(xué)生的學(xué)習(xí)層次,以下給出具體案例的選取方法。
⑴ 選取典型性、綜合性和示范性好的實(shí)例,使學(xué)生體會(huì)到利用所學(xué)多核程序設(shè)計(jì)知識(shí)所能取得的實(shí)際效果。如采用多核并行程序設(shè)計(jì)方法求解大規(guī)模矩陣乘法(500階以上)、最短路徑(1000個(gè)結(jié)點(diǎn)以上)求解等基本科學(xué)計(jì)算問題時(shí),通過界面友好的程序性能評(píng)測(cè)系統(tǒng),可直觀地看到計(jì)算時(shí)間的大量減少和計(jì)算效率的大幅提高,體會(huì)到多個(gè)核心同時(shí)并行工作的過程和效果,這會(huì)極大地激發(fā)學(xué)生的學(xué)習(xí)興趣,增強(qiáng)探究式學(xué)習(xí)動(dòng)力,為以后的學(xué)習(xí)樹立信心。
⑵ 閱讀精選的經(jīng)典多核程序設(shè)計(jì)案例,使學(xué)生理解并掌握經(jīng)典、規(guī)范的多核程序設(shè)計(jì)方法和技巧,將其融入到學(xué)生的個(gè)體學(xué)習(xí)過程中。同時(shí),可適當(dāng)要求學(xué)生對(duì)精選案例程序進(jìn)行修改、完善和調(diào)優(yōu)。這有助于增強(qiáng)學(xué)生的編程能力,并逐漸形成融合正規(guī)化和個(gè)性化編程風(fēng)格的良好編程習(xí)慣,提高學(xué)生的程序設(shè)計(jì)創(chuàng)新能力。
在教學(xué)過程中,采用基于案例的啟發(fā)式教學(xué)有以下幾個(gè)好處:一是縮短程序設(shè)計(jì)學(xué)習(xí)周期,提高學(xué)習(xí)效率,增強(qiáng)學(xué)生學(xué)習(xí)程序設(shè)計(jì)的創(chuàng)新能力;二是通過對(duì)經(jīng)典案例的學(xué)習(xí)、修改和完善,培養(yǎng)學(xué)生的程序集成能力,對(duì)今后基于構(gòu)件進(jìn)行軟件開發(fā)打下堅(jiān)實(shí)基礎(chǔ);三是通過分析經(jīng)典案例對(duì)應(yīng)用問題中重點(diǎn)、難點(diǎn)的解決之道,提高學(xué)生獨(dú)立分析問題、解決問題的能力,有助于積累有益的編程經(jīng)驗(yàn),提高并達(dá)到自主進(jìn)行應(yīng)用程序設(shè)計(jì)開發(fā)的目的[4]。
2 基于任務(wù)驅(qū)動(dòng)的實(shí)驗(yàn)課教學(xué)模式
程序設(shè)計(jì)類課程的實(shí)驗(yàn)教學(xué)是整門課程的核心,也是對(duì)理論教學(xué)效果的惟一檢驗(yàn)途徑,因此實(shí)驗(yàn)教學(xué)方法是否得當(dāng)至關(guān)重要。傳統(tǒng)程序設(shè)計(jì)課程的實(shí)驗(yàn)教學(xué)方法基本是針對(duì)所學(xué)語法規(guī)則和算法思想進(jìn)行程序設(shè)計(jì),即大多是驗(yàn)證性實(shí)驗(yàn)教學(xué),不僅實(shí)驗(yàn)?zāi)繕?biāo)單一,學(xué)生操作興趣不大,而且實(shí)驗(yàn)中沒有將所學(xué)程序設(shè)計(jì)方法和生活實(shí)際應(yīng)用問題聯(lián)系起來,對(duì)于設(shè)計(jì)性和綜合性要求高的實(shí)驗(yàn)根本達(dá)不到目標(biāo)要求,實(shí)驗(yàn)教學(xué)效果不佳。多核程序設(shè)計(jì)課程有其自身的特殊性和優(yōu)勢(shì)性,學(xué)生對(duì)于如何利用多個(gè)CPU以及能夠達(dá)到什么樣的程序效果非常期待,可以充分考慮學(xué)生學(xué)習(xí)的興趣點(diǎn)來進(jìn)行實(shí)驗(yàn)教學(xué)設(shè)計(jì),即基于任務(wù)驅(qū)動(dòng)教學(xué)法進(jìn)行實(shí)踐教學(xué),提高教學(xué)質(zhì)量。
基于任務(wù)驅(qū)動(dòng)的實(shí)踐教學(xué)是指圍繞教學(xué)目標(biāo)把實(shí)驗(yàn)教學(xué)任務(wù)劃分成多個(gè)具體的子任務(wù),以子任務(wù)之間的關(guān)聯(lián)為線索,通過實(shí)驗(yàn)成果展示和評(píng)價(jià)學(xué)習(xí)任務(wù)等手段促進(jìn)實(shí)驗(yàn)教學(xué)任務(wù)高效完成。以驗(yàn)證性實(shí)驗(yàn)和綜合性實(shí)驗(yàn)為例,具體做法如下。
⑴ 設(shè)計(jì)小型綜合性實(shí)驗(yàn)任務(wù)來進(jìn)行驗(yàn)證性實(shí)踐教學(xué)。
此部分實(shí)驗(yàn)一般針對(duì)所學(xué)程序設(shè)計(jì)語言的語法規(guī)則等進(jìn)行驗(yàn)證?;谌蝿?wù)驅(qū)動(dòng)的教學(xué)法摒棄單一、固定的模式,即不安排若干個(gè)小實(shí)驗(yàn)分別驗(yàn)證某個(gè)語法的使用是否正確,而是精心設(shè)計(jì)一個(gè)可以綜合考量使用熟練程度的實(shí)驗(yàn)任務(wù)來驗(yàn)證其正確性,同時(shí)能夠檢驗(yàn)學(xué)生綜合運(yùn)用程序設(shè)計(jì)語言的能力,避免斷章取義、片面理解語法語義規(guī)則。例如,在學(xué)習(xí)Windows下使用MPI進(jìn)行多核程序設(shè)計(jì)時(shí),并不只是單純驗(yàn)證MPI每一個(gè)函數(shù)的使用方法,而是設(shè)計(jì)一個(gè)綜合小實(shí)驗(yàn)來考核掌握程度,即使用多個(gè)常用MPI函數(shù)實(shí)現(xiàn)某種具體的功能。實(shí)驗(yàn)功能的選擇應(yīng)考慮實(shí)用性強(qiáng)、可視性好等特點(diǎn),使學(xué)生在著手做實(shí)驗(yàn)之初就有明確的目標(biāo)和較強(qiáng)的學(xué)習(xí)欲望,避免了實(shí)驗(yàn)低效無趣,有助于高效地完成實(shí)驗(yàn)教學(xué)目標(biāo),取得良好的實(shí)驗(yàn)效果。
⑵ 綜合性實(shí)驗(yàn)任務(wù)以子任務(wù)劃分、依據(jù)任務(wù)之間關(guān)聯(lián)推進(jìn)、成果展示評(píng)價(jià)來完成并考核。
對(duì)于較大規(guī)模的綜合性實(shí)驗(yàn)任務(wù),依據(jù)實(shí)驗(yàn)要求和層次將其劃分為若干個(gè)子任務(wù),每個(gè)階段任務(wù)的完成設(shè)定相應(yīng)的評(píng)價(jià)指標(biāo)。例如,可以設(shè)定程序需要達(dá)到的基本性能指標(biāo),或者對(duì)不同組的學(xué)生所設(shè)計(jì)的程序進(jìn)行性能比較,目標(biāo)明確有助于安排合理的實(shí)驗(yàn)計(jì)劃、保證適當(dāng)?shù)膶?shí)驗(yàn)進(jìn)度,這樣能夠使學(xué)生充分調(diào)動(dòng)自身的學(xué)習(xí)能力和團(tuán)隊(duì)協(xié)作能力,為最終達(dá)到較好的實(shí)驗(yàn)?zāi)繕?biāo)而進(jìn)行實(shí)踐練習(xí),目的性強(qiáng)、自主性高,自然實(shí)踐教學(xué)效果也好。以實(shí)現(xiàn)矩陣乘法并行算法設(shè)計(jì)求解為例,實(shí)驗(yàn)任務(wù)可進(jìn)行如下劃分:首先了解各類矩陣乘并行算法思想;然后比較各類算法的時(shí)間、效率,得到較優(yōu)算法選擇;接著根據(jù)較優(yōu)算法思想設(shè)計(jì)并實(shí)現(xiàn)多核平臺(tái)下的矩陣乘并行算法;最后選擇不同的矩陣規(guī)模測(cè)試運(yùn)行時(shí)間效率,同時(shí)與其他組同學(xué)設(shè)計(jì)的算法進(jìn)行比較,得到算法優(yōu)劣分析和改進(jìn)方法。
筆者曾在遼寧師范大學(xué)計(jì)信學(xué)院擔(dān)任三年級(jí)計(jì)算機(jī)專業(yè)本科學(xué)生計(jì)算機(jī)體系結(jié)構(gòu)(并行計(jì)算)課程的實(shí)驗(yàn)指導(dǎo),在教學(xué)過程中采用任務(wù)驅(qū)動(dòng)方法進(jìn)行實(shí)驗(yàn)教學(xué),分別設(shè)定了不同的實(shí)驗(yàn)任務(wù)并分階段完成。從實(shí)際教學(xué)效果來看,該方法使實(shí)踐教學(xué)內(nèi)容條理清晰、層次分明,便于學(xué)生更集中地掌握局部教學(xué)內(nèi)容;有效激發(fā)了學(xué)生的學(xué)習(xí)熱情和互相之間協(xié)作的團(tuán)隊(duì)精神,較好的完成了實(shí)驗(yàn)教學(xué)目標(biāo)。
3 多元學(xué)與教模式下的教學(xué)評(píng)價(jià)體系
多核程序設(shè)計(jì)這門課程的理論考核具有較高的難度、廣度和深度等綜合性要求,實(shí)驗(yàn)課程的教學(xué)目標(biāo)要求學(xué)生熟悉理解多核架構(gòu),并且具備多核平臺(tái)上進(jìn)行多核多線程并行程序設(shè)計(jì)的能力。在融入多元學(xué)與教的教學(xué)模式下,其評(píng)價(jià)體系也應(yīng)進(jìn)行相應(yīng)改變,下面就教學(xué)目標(biāo)和教學(xué)評(píng)價(jià)進(jìn)行深入討論。
⑴ 教學(xué)目標(biāo)考核
多核程序設(shè)計(jì)主要的教學(xué)內(nèi)容包括:并行計(jì)算與多核構(gòu)架基本知識(shí)、基于Linux和Windows平臺(tái)的多線程并行程序設(shè)計(jì)方法;基于多核處理器的并行算法分析、設(shè)計(jì)與實(shí)現(xiàn);多核軟件性能分析工具及使用方法等。學(xué)生學(xué)完多核程序設(shè)計(jì)這門課后要掌握多核的硬件體系結(jié)構(gòu)、并行編程模型、并行程序設(shè)計(jì)等重要知識(shí)點(diǎn),教學(xué)目標(biāo)的考核重點(diǎn)體現(xiàn)在學(xué)生的算法設(shè)計(jì)和并行編程方面。算法設(shè)計(jì)是學(xué)生編程能力高低的主要標(biāo)志,學(xué)生應(yīng)學(xué)會(huì)逐步分析問題、數(shù)學(xué)建模和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),養(yǎng)成良好的算法設(shè)計(jì)習(xí)慣,掌握并行算法設(shè)計(jì)的常用方法和基本策略,并按照這些步驟和思路進(jìn)行設(shè)計(jì);編程能力體現(xiàn)在學(xué)生對(duì)所學(xué)語言的語法和規(guī)則的掌握程度、對(duì)解決應(yīng)用問題算法思想的分析能力、對(duì)算法表示方式的理解和程序設(shè)計(jì)語言語句的實(shí)際應(yīng)用能力。此外,還要具備一定的程序調(diào)試能力,能讀懂錯(cuò)誤提示,掌握常用的調(diào)試方法,快速、及時(shí)地糾正錯(cuò)誤。
⑵ 教學(xué)評(píng)價(jià)方法
對(duì)程序設(shè)計(jì)類課程的評(píng)價(jià)一般是定量考核,通常采用筆試題考核理論知識(shí)掌握程度,上機(jī)題測(cè)試實(shí)踐動(dòng)手能力程度,通過給予一定的分?jǐn)?shù)來獲得對(duì)教學(xué)效果的評(píng)價(jià)。多核程序設(shè)計(jì)課程的綜合性特點(diǎn)決定學(xué)生平時(shí)的學(xué)習(xí)和積累作用對(duì)學(xué)習(xí)效果的影響很大,教學(xué)效果的考核不是幾個(gè)理論問題或者幾個(gè)編程問題就可以準(zhǔn)確考量的。
因此,本文提出除定量考核外,還對(duì)教學(xué)過程進(jìn)行定性標(biāo)準(zhǔn)衡量,即考核學(xué)生的閱讀程序能力、算法設(shè)計(jì)能力、編寫代碼能力和程序調(diào)試能力。主要從以下幾方面進(jìn)行重點(diǎn)考察:多核程序設(shè)計(jì)語言編譯系統(tǒng)環(huán)境的安裝、設(shè)置和使用;多線程程序的編輯、編譯、運(yùn)行、調(diào)試和改錯(cuò);經(jīng)典案例代碼的閱讀、分析、畫出系統(tǒng)流程圖等;完成基本的驗(yàn)證性實(shí)驗(yàn),通過現(xiàn)場(chǎng)設(shè)計(jì)、編程、運(yùn)行和調(diào)試,得出正確結(jié)果;完成綜合性、實(shí)用性實(shí)驗(yàn)項(xiàng)目的分析、設(shè)計(jì)、編程與運(yùn)行,驗(yàn)證結(jié)果的可用性程度。這些能力的考核體現(xiàn)在日常的理論教學(xué)和實(shí)驗(yàn)教學(xué)過程中,教師可以根據(jù)考核能力的不同方面來設(shè)定不同的標(biāo)準(zhǔn)和層級(jí),通過層次比較法確認(rèn)每個(gè)學(xué)生的學(xué)習(xí)水平和能力,從而對(duì)后續(xù)的學(xué)習(xí)和實(shí)踐給出正確指導(dǎo),這也是多元學(xué)與教的一種具體體現(xiàn),用于更好地促進(jìn)教學(xué)進(jìn)程。
4 結(jié)束語
隨著多核技術(shù)的發(fā)展與普及,目前以及未來大多數(shù)的軟件開發(fā)都將以多核為基礎(chǔ)硬件平臺(tái)。多核程序設(shè)計(jì)課程的開設(shè)對(duì)于培養(yǎng)適應(yīng)時(shí)代變化的計(jì)算機(jī)類人才至關(guān)重要,研究多核程序設(shè)計(jì)的教學(xué)體系對(duì)于計(jì)算機(jī)專業(yè)教學(xué)大綱修改、執(zhí)行,以及為社會(huì)培養(yǎng)適應(yīng)性強(qiáng)的高質(zhì)量人才有重要意義。本文結(jié)合“學(xué)與教”方式基本類型與日常教學(xué)的對(duì)應(yīng)關(guān)系[5],將多元學(xué)與教方式融入了日常的多核程序設(shè)計(jì)教學(xué)過程中,通過對(duì)課堂教學(xué)和實(shí)驗(yàn)教學(xué)模式的研究,探討了具體的教學(xué)設(shè)計(jì)過程、教學(xué)評(píng)價(jià)策略等內(nèi)容,既考慮了教學(xué)活動(dòng)的教育性與嚴(yán)肅性,又兼顧了學(xué)習(xí)活動(dòng)的生動(dòng)性與主動(dòng)性,充分挖掘了教師的教學(xué)潛能,同時(shí)積極調(diào)動(dòng)了學(xué)生的學(xué)習(xí)興趣。多元學(xué)與教方式改進(jìn)了計(jì)算機(jī)程序設(shè)計(jì)類課程教學(xué)模式,更好地促進(jìn)了教學(xué)過程的有益推進(jìn),實(shí)踐證明,也更適合于多核程序設(shè)計(jì)課程的理論教學(xué)與實(shí)驗(yàn)教學(xué)。
參考文獻(xiàn):
[1] 王東玲,謝百治.信息技術(shù)條件下多元學(xué)與教方式融入醫(yī)學(xué)教學(xué)的研
究[J].中國(guó)電化教育,2012.2:113-117
[2] 陳天洲.《多核程序設(shè)計(jì)》概述[J].計(jì)算機(jī)教育,2007.7:39-41
[3] 陳天洲.多核課程建設(shè)探索與實(shí)踐[J].計(jì)算機(jī)教育,2007.3.
[4] 阿里甫·庫(kù)爾班,米爾古麗·買買提依明.案例式任務(wù)驅(qū)動(dòng)的C程序設(shè)
計(jì)教學(xué)方法[J].計(jì)算機(jī)教育,2011.l1:53-55
[5] 劉雍潛,李龍,謝百治.多元“學(xué)與教”方式與日常教學(xué)[J].電化教育研
究,2010.10:91-98