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