摘 要:該文以通信工程專(zhuān)業(yè)為例,對(duì)軟件設(shè)計(jì)基礎(chǔ)課程開(kāi)展案例式教學(xué)的必要性進(jìn)行了闡述,然后提出了案例設(shè)計(jì)的原則,探索了“案例式作業(yè)”綜合實(shí)訓(xùn),并以二維離散余弦變換快速算法為例,論述了編寫(xiě)案例的相關(guān)注意事項(xiàng),對(duì)課堂授課方式進(jìn)行了改革,取得了較好的效果。
關(guān)鍵詞:軟件設(shè)計(jì)基礎(chǔ) 案例式教學(xué) 案例式作業(yè)
中圖分類(lèi)號(hào):G642.0 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2014)03(c)-0155-03
1 問(wèn)題的提出
大多數(shù)地方高校本科教育的培養(yǎng)目標(biāo)是:培養(yǎng)高素質(zhì)應(yīng)用型人才。而應(yīng)用型人才的重要特征是:學(xué)生的專(zhuān)業(yè)素質(zhì)能夠適應(yīng)市場(chǎng)的需要。通信工程的學(xué)生要想適應(yīng)市場(chǎng)需要,必須堅(jiān)持“軟硬兼通”的培養(yǎng)模式[1]。據(jù)統(tǒng)計(jì),通信領(lǐng)域70%以上的增長(zhǎng)靠軟件,在一定的硬件設(shè)施基礎(chǔ)條件上,軟件業(yè)務(wù)是通信產(chǎn)業(yè)的主要業(yè)務(wù)增長(zhǎng)點(diǎn)。因?yàn)橛布A(chǔ)設(shè)施是相對(duì)穩(wěn)定的,而軟件業(yè)務(wù)的發(fā)展變化是非常快的,他既要滿足客戶的需求,還要滿足現(xiàn)如今的發(fā)展趨勢(shì)。因此通信軟件的發(fā)展帶動(dòng)了整個(gè)通信行業(yè)的發(fā)展,進(jìn)而成為推動(dòng)整個(gè)IT行業(yè)向前發(fā)展的主要?jiǎng)恿?。目前,在大學(xué)教育擴(kuò)招的背景下,對(duì)于純硬件職位,用人單位在招聘本科人才時(shí),幾乎都要求有相關(guān)工作經(jīng)驗(yàn)。也就是說(shuō),站在公司的利益上講,沒(méi)有公司肯愿意讓?xiě)?yīng)屆畢業(yè)生來(lái)直接介入到硬件工作中去。而單純懂軟件,不懂硬件也不利于系統(tǒng)搭建。事實(shí)上,約有80%的行業(yè)應(yīng)用軟件是由非計(jì)算機(jī)專(zhuān)業(yè)的人編寫(xiě)的。而既掌握本專(zhuān)業(yè)知識(shí),又掌握相當(dāng)計(jì)算機(jī)應(yīng)用知識(shí),已經(jīng)成為各行企業(yè)對(duì)各高校培養(yǎng)人才的要求。在此背景下,C語(yǔ)言程序設(shè)計(jì)和軟件設(shè)計(jì)基礎(chǔ)作為計(jì)算機(jī)軟件的基石成為我校通信工程專(zhuān)業(yè)的必修課[2]。
為了更好地加強(qiáng)通信工程專(zhuān)業(yè)學(xué)生的軟件編程能力,課程教研組編寫(xiě)《計(jì)算機(jī)軟件基礎(chǔ)實(shí)驗(yàn)及課程設(shè)計(jì)指導(dǎo)書(shū)》,充分利用動(dòng)態(tài)鏈接庫(kù)的優(yōu)越性提出“跳躍性分級(jí)設(shè)計(jì)任務(wù)”,把驗(yàn)證型實(shí)驗(yàn)和設(shè)計(jì)綜合型實(shí)驗(yàn)相結(jié)合[4],促進(jìn)了學(xué)生軟件學(xué)習(xí)的興趣。盡管上述教改工作取得一定的成效,但是在畢業(yè)設(shè)計(jì)中,教研組發(fā)現(xiàn)學(xué)生對(duì)于軟件設(shè)計(jì)類(lèi)課題仍然缺乏認(rèn)知度,對(duì)教師下達(dá)的任務(wù)無(wú)從下手,大部分學(xué)生都是靠“百度”和“google”完成畢業(yè)設(shè)計(jì),這使我們反思,為什么學(xué)生還是這么懼怕軟件呢?
教研組深入調(diào)研了市場(chǎng)上相關(guān)的計(jì)算機(jī)培訓(xùn)機(jī)構(gòu),發(fā)現(xiàn)他們?cè)谑谡n時(shí)具有小班上課,靈活機(jī)動(dòng),以案例教學(xué)為基礎(chǔ),用任務(wù)驅(qū)動(dòng)教學(xué)等特點(diǎn),這種授課方式對(duì)于有一定基礎(chǔ)的學(xué)生來(lái)說(shuō),可以更好地聚焦他們的注意力,激發(fā)他們學(xué)習(xí)軟件設(shè)計(jì)的興趣。因此課程組提出《軟件設(shè)計(jì)基礎(chǔ)》課程案例式教學(xué)設(shè)計(jì),試圖引入20-30個(gè)案例,把基礎(chǔ)理論與應(yīng)用實(shí)踐緊密結(jié)合,把案例和應(yīng)用任務(wù)作為教學(xué)內(nèi)容的主線,力爭(zhēng)在4個(gè)學(xué)時(shí)內(nèi)講完案例(當(dāng)然需要學(xué)生課下配合),最終提高學(xué)生的軟件編程能力。
2 案例設(shè)計(jì)原則與實(shí)踐
通信工程專(zhuān)業(yè)與計(jì)算機(jī)軟件相關(guān)的課程主要為:計(jì)算機(jī)基礎(chǔ)(1)→C語(yǔ)言程序設(shè)計(jì)(1)→Visual Basic程序設(shè)計(jì)(3)→軟件設(shè)計(jì)基礎(chǔ)(4)→Matlab及其應(yīng)用(4)→單片機(jī)原理與應(yīng)用(5)→DSP技術(shù)(5)→軟件無(wú)線電技術(shù)(5)→嵌入式系統(tǒng)及應(yīng)用(6)→數(shù)據(jù)通信網(wǎng)(6)→通信系統(tǒng)課程設(shè)計(jì)(7)。其中括號(hào)里的數(shù)字表示開(kāi)課的學(xué)期。《軟件設(shè)計(jì)基礎(chǔ)》是計(jì)算機(jī)軟件的核心課程,其主要內(nèi)容包括數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng),數(shù)據(jù)庫(kù)系統(tǒng)概論。開(kāi)設(shè)這門(mén)課程的目的是讓學(xué)生具有初步的軟件編程能力,掌握數(shù)據(jù)結(jié)構(gòu)的相關(guān)算法,理解操作系統(tǒng)的基本概念,熟悉數(shù)據(jù)庫(kù)的基本操作。為了培養(yǎng)學(xué)生的軟件素質(zhì),此課程也有相當(dāng)數(shù)量的常規(guī)上機(jī)實(shí)驗(yàn)練習(xí),但是這些練習(xí)缺少連貫性和系統(tǒng)性,一般都是以章節(jié)為主,學(xué)生所練習(xí)的題目范圍比較小。更為突出的是:上機(jī)內(nèi)容僅僅從計(jì)算機(jī)專(zhuān)業(yè)的角度加強(qiáng)學(xué)生的軟件素質(zhì),并沒(méi)有結(jié)合通信工程的專(zhuān)業(yè)特點(diǎn),以至于在大四進(jìn)行的通信系統(tǒng)綜合課程設(shè)計(jì)中,學(xué)生對(duì)硬件有較好的掌握,但對(duì)串口編程等通信軟件知識(shí)所知甚少,影響課程設(shè)計(jì)的進(jìn)度。由此可見(jiàn),結(jié)合通信工程專(zhuān)業(yè)的特點(diǎn),科學(xué)有效地培養(yǎng)學(xué)生的軟件素質(zhì),把案例教學(xué)引入到軟件設(shè)計(jì)基礎(chǔ)課程中,對(duì)于培養(yǎng)應(yīng)用型人才起著至關(guān)重要的作用,具有現(xiàn)實(shí)意義[3]。
案例教學(xué)因其在美國(guó)哈佛大學(xué)商學(xué)院的成功應(yīng)用而聞名于世,被教育界所廣泛推崇。我國(guó)于20世紀(jì)80年代開(kāi)始引入案例教學(xué),但多年來(lái)一直主要用于法學(xué)、醫(yī)學(xué)、經(jīng)濟(jì)學(xué)和管理學(xué)等學(xué)科領(lǐng)域,在工科類(lèi)課程的教學(xué)中, 采用案例教學(xué)的偏少。案例教學(xué)法是運(yùn)用案例進(jìn)行教學(xué)的一種方法,通過(guò)對(duì)一個(gè)包含有問(wèn)題在內(nèi)的具體情境的描述,引導(dǎo)學(xué)生對(duì)這些特殊情境進(jìn)行討論的一種教學(xué)方法,是一種教師和學(xué)生直接參與共同對(duì)案例或疑難問(wèn)題進(jìn)行討論的教學(xué)方法,其目的是培養(yǎng)學(xué)生批判性、分析性的思維能力和信心,論證和說(shuō)服的技能,以及解決不同實(shí)際問(wèn)題的應(yīng)變能力。
軟件設(shè)計(jì)基礎(chǔ)課程的教學(xué)對(duì)多媒體的依賴性需要借助案例教學(xué)來(lái)吸引學(xué)生的注意力,并促使學(xué)生同步思維[5]。計(jì)算機(jī)軟件的使用必須在計(jì)算機(jī)上進(jìn)行,為加強(qiáng)直觀性,提高教學(xué)效果,軟件設(shè)計(jì)基礎(chǔ)課程的教學(xué)就離不開(kāi)多媒體設(shè)備。軟件設(shè)計(jì)基礎(chǔ)的教學(xué),主要是要求學(xué)生掌握軟件的各項(xiàng)功能和各種算法操作,對(duì)于一個(gè)較復(fù)雜的軟件來(lái)說(shuō),其功能是很強(qiáng)大的,操作也非常多,且各種操作之間并無(wú)明顯的聯(lián)系,因此,單純地向?qū)W生講授零散的知識(shí)點(diǎn),不利于學(xué)生的深入理解和聯(lián)系記憶。可見(jiàn),軟件設(shè)計(jì)基礎(chǔ)課程知識(shí)點(diǎn)的零散性需要利用案例來(lái)建立各知識(shí)點(diǎn)之間的聯(lián)系,以利于學(xué)生理解和深入。
軟件設(shè)計(jì)基礎(chǔ)與其他課程的關(guān)聯(lián)圖如圖1所示,案例式教學(xué)的例子盡可能與信息論、數(shù)據(jù)通信網(wǎng)、通信原理等通信老牌基礎(chǔ)課相關(guān)。主要培養(yǎng)學(xué)生如下能力:?jiǎn)栴}分析能力、查閱新技術(shù)新資料的能力、工程實(shí)踐能力、編寫(xiě)代碼,撰寫(xiě)文檔能力。具體實(shí)踐如下:
(1)編寫(xiě)《軟件設(shè)計(jì)基礎(chǔ)》案例式教學(xué)實(shí)施方案,關(guān)鍵是要選擇典型而準(zhǔn)確的案例。因?yàn)榘咐虒W(xué)法就是運(yùn)用具體案例進(jìn)行教學(xué),如何選擇案例,選擇什么案例,對(duì)案例教學(xué)有著決定性的意義。故所選擇案例應(yīng)該是“準(zhǔn)確”而又“典型”,“準(zhǔn)確”是指案例內(nèi)容與有關(guān)理論相吻合,“典型”是指該案例具有代表性,具體選擇哪一個(gè)案例取決于教學(xué)的內(nèi)容和目的。只有通過(guò)一個(gè)個(gè)精選的案例使學(xué)生輕松地掌握各個(gè)知識(shí)點(diǎn)的實(shí)際應(yīng)用及其差異,才能達(dá)到預(yù)期的教學(xué)目的和教學(xué)效果。學(xué)生在學(xué)新課時(shí),總是會(huì)問(wèn):“這門(mén)課程的知識(shí)到底有什么用?”這是學(xué)習(xí)過(guò)程中常常困擾學(xué)生的一個(gè)問(wèn)題。案例教學(xué)將理論和實(shí)踐引入特定的教學(xué)環(huán)境,從不同的角度審視兩者的關(guān)系,在理論和實(shí)踐之間架起了一座橋梁,使理論與實(shí)踐有機(jī)結(jié)合在一起。案例分析促使學(xué)生對(duì)理論運(yùn)用的方式、原因等作更深入的思考,在思考過(guò)程中,學(xué)生可以將有關(guān)的理論知識(shí)融會(huì)貫通, 并與實(shí)際應(yīng)用聯(lián)系起來(lái),這樣就使學(xué)生在學(xué)習(xí)知識(shí)的過(guò)程中記憶更加牢固。案例教學(xué)是把學(xué)生到社會(huì)去實(shí)踐的過(guò)程提前到教學(xué)過(guò)程中, 讓學(xué)生在學(xué)習(xí)的過(guò)程中, 就具有一定的實(shí)戰(zhàn)經(jīng)驗(yàn)。例如“約瑟夫環(huán)問(wèn)題”是一個(gè)很好地講述隊(duì)列的案例,在講完隊(duì)列基本原理后,引導(dǎo)學(xué)生用隊(duì)列解決“約瑟夫環(huán)問(wèn)題”,具體編程時(shí),根據(jù)學(xué)生的學(xué)習(xí)能力,可以采用分層次教學(xué),例如對(duì)于接受能力快,編程基礎(chǔ)好的同學(xué)可以引導(dǎo)他們用VC或C++Builder實(shí)現(xiàn)可視化編程。對(duì)于其他同學(xué)只要求編寫(xiě)控制臺(tái)程序即可。當(dāng)然為了方便學(xué)時(shí)學(xué)習(xí),可以事先把相關(guān)接口做成DLL,這樣使學(xué)生把精力都放在隊(duì)列技巧的應(yīng)用上。endprint
(2)嘗試探究式課程學(xué)習(xí)。所謂探究式課程學(xué)習(xí)是指在課程講授中,以學(xué)生自主學(xué)習(xí)和合作討論為前提,以案例指導(dǎo)書(shū)為基礎(chǔ),在教師的啟發(fā)誘導(dǎo)下,學(xué)生自由表達(dá)觀點(diǎn)、質(zhì)疑探究問(wèn)題,并通過(guò)個(gè)人、小組、集體等多種形式,結(jié)合自身的知識(shí)來(lái)解決疑點(diǎn)和難點(diǎn)。探究式課程學(xué)習(xí)特別重視培養(yǎng)學(xué)生的自學(xué)能力,發(fā)展創(chuàng)造性思維,開(kāi)發(fā)學(xué)生智力,并通過(guò)自我探究,掌握科學(xué)方法和學(xué)會(huì)學(xué)習(xí),為終身學(xué)習(xí)奠定基礎(chǔ)。教師作為探究式課程學(xué)習(xí)的引導(dǎo)者,其任務(wù)是調(diào)動(dòng)學(xué)生的積極性,促使他們自己去獲取知識(shí)、發(fā)展能力,做到自己去發(fā)現(xiàn)問(wèn)題、提出問(wèn)題、分析問(wèn)題、解決問(wèn)題;與此同時(shí),教師還要為學(xué)生的學(xué)習(xí)創(chuàng)設(shè)探究的情境,營(yíng)造探究的氛圍,促進(jìn)探究的開(kāi)展,把握探究的深度,評(píng)價(jià)探究的成效。學(xué)生作為探究式課程學(xué)習(xí)的主人,根據(jù)課程學(xué)習(xí)的條件,明確探究目標(biāo),思考探究問(wèn)題,掌握探究方法,敞開(kāi)探究思路,交流探究?jī)?nèi)容,總結(jié)探究結(jié)果。課程學(xué)習(xí)結(jié)束后,可通過(guò)讓學(xué)生自發(fā)組織小組答辯,課堂現(xiàn)場(chǎng)測(cè)試評(píng)定最后的成績(jī)[6]。
凡是教過(guò)程序設(shè)計(jì)的教師都有這樣的體會(huì):語(yǔ)句教到一定的程度,學(xué)生會(huì)漸漸感覺(jué)到編程過(guò)難,無(wú)法繼續(xù)學(xué)下去的想法。語(yǔ)句相當(dāng)于程序設(shè)計(jì)的工具,只有大量的掌握好語(yǔ)句,才能在編程上如魚(yú)得水。導(dǎo)致上述反常現(xiàn)象發(fā)生的原因有很多,其中最重要的一點(diǎn)就是長(zhǎng)期以來(lái)程序設(shè)計(jì)的觀念不是以如何處理好對(duì)象為出發(fā)點(diǎn),而是以如何使用好語(yǔ)言為基點(diǎn)。受這種思想的影響,傳統(tǒng)的程序設(shè)計(jì)教學(xué)是以講解語(yǔ)法規(guī)則和語(yǔ)句格式為目標(biāo),而不是以解決問(wèn)題為重點(diǎn)。也就這樣導(dǎo)致學(xué)生在拿到任務(wù)后首先想的是該有哪條語(yǔ)句,而不是怎樣把任務(wù)進(jìn)行合理的解析。因此課題組嘗試使用問(wèn)題驅(qū)動(dòng)的教學(xué)方法,先提出問(wèn)題,然后介紹解決問(wèn)題的方法,最后歸納總結(jié)其一般步驟。在講述軟件基礎(chǔ)相關(guān)課程時(shí),把每節(jié)的內(nèi)容用案例引出,然后分析解決。這樣學(xué)生容易明白本節(jié)的內(nèi)容,增強(qiáng)其學(xué)習(xí)的積極性。
(3)探索“案例式作業(yè)”綜合實(shí)訓(xùn)。在傳統(tǒng)的授課中,都是按部就班地進(jìn)行講授—作業(yè)——點(diǎn)評(píng)——講授……,學(xué)生在做作業(yè)時(shí),基本上失去了興趣,很多教師都反應(yīng)目前學(xué)生作業(yè)的雷同度太高,實(shí)際上就是幾個(gè)“作業(yè)范本”在學(xué)生中傳來(lái)傳去……。實(shí)際中可以采用“案例式作業(yè)”,所謂“案例式作業(yè)”指的是教師直接把一個(gè)綜合案例項(xiàng)目作為作業(yè),一門(mén)課程若交5次案例作業(yè),每次教師準(zhǔn)備4個(gè)案例,例如2009級(jí)第1次作業(yè)使用案例1-1,2010級(jí)第1次作業(yè)使用案例1-2,就可在某種程度上防止師兄學(xué)弟間的“作業(yè)交流”。實(shí)訓(xùn)時(shí),教師將之前已經(jīng)完成的實(shí)訓(xùn)項(xiàng)目運(yùn)行給學(xué)生看,讓學(xué)生對(duì)實(shí)訓(xùn)作業(yè)項(xiàng)目的結(jié)果有個(gè)感性認(rèn)識(shí),同時(shí),在作業(yè)指導(dǎo)書(shū)中,對(duì)項(xiàng)目的功能、性能提出進(jìn)一步的要求,學(xué)生可以參考運(yùn)行項(xiàng)目的外觀和功能特性,對(duì)項(xiàng)目進(jìn)行改觀、優(yōu)化和創(chuàng)新。教師則以學(xué)生對(duì)項(xiàng)目的功能完成情況、性能指標(biāo)達(dá)到情況、項(xiàng)目外觀改觀情況、優(yōu)化情況和創(chuàng)新情況作為實(shí)訓(xùn)作業(yè)結(jié)果的考核指標(biāo)對(duì)學(xué)生進(jìn)行考核。由于軟件類(lèi)所需的主要設(shè)備——計(jì)算機(jī)已經(jīng)非常便宜了,所以軟件類(lèi)的課程作業(yè)實(shí)訓(xùn)可以脫離實(shí)驗(yàn)室,在宿舍,在教室,只要有一臺(tái)2000元的筆記本就可以完成實(shí)訓(xùn)作業(yè),而教師也可以從批改“雷同”作業(yè)的煩惱中解脫出來(lái),重點(diǎn)考察學(xué)生的軟件編程能力[7]。
在布置實(shí)訓(xùn)作業(yè)時(shí),要在框架程序中預(yù)設(shè)問(wèn)題。在實(shí)訓(xùn)之前展示實(shí)訓(xùn)項(xiàng)目的運(yùn)行框架,并不是預(yù)先實(shí)現(xiàn)項(xiàng)目的所有部分,而是將學(xué)生必須要掌握的知識(shí)部分和通過(guò)學(xué)生查閱資料可以解決的問(wèn)題部分,在所展示的項(xiàng)目中將其空出來(lái),并以文字的形式注明學(xué)生必須自行完成該部分的設(shè)計(jì)和編碼。在展示實(shí)訓(xùn)項(xiàng)目時(shí),可以有意識(shí)的將問(wèn)題分類(lèi),例如,分類(lèi)為一般難度、中等難度和高難度的問(wèn)題,并對(duì)不同難度的問(wèn)題在考核評(píng)分時(shí)賦予不同的分值,這樣,可以督促學(xué)生解決預(yù)設(shè),同時(shí)還可以激發(fā)較為優(yōu)秀的學(xué)生解決高難度的問(wèn)題的欲望,進(jìn)而使得各種層次的學(xué)生在作業(yè)實(shí)訓(xùn)時(shí)都能有所作為,同時(shí)避免了作業(yè)抄襲。
3 案例設(shè)計(jì)示例
在傳統(tǒng)的軟件設(shè)計(jì)基礎(chǔ)課堂上講授時(shí)間復(fù)雜度知識(shí)點(diǎn)時(shí),往往僅強(qiáng)調(diào)時(shí)間復(fù)雜度的概念及數(shù)學(xué)表示,學(xué)生能從教師簡(jiǎn)單的示例中大概知道時(shí)間復(fù)雜度的含義,但缺乏對(duì)其本質(zhì)理解。如何設(shè)計(jì)與之匹配的案例,讓學(xué)生不僅深刻的理解時(shí)間復(fù)雜度,而且能夠有意識(shí)地運(yùn)用時(shí)間復(fù)雜度解決實(shí)際問(wèn)題呢?授課時(shí),首先向?qū)W生提問(wèn),大家用的手機(jī)是如何存儲(chǔ)照片的?存儲(chǔ)照片的格式是什么?運(yùn)用的數(shù)學(xué)原理是什么?多年授課經(jīng)驗(yàn)表明,與生活常識(shí)密切相關(guān)的問(wèn)題,往往會(huì)引起學(xué)生的注意,并踴躍回答問(wèn)題。這樣很自然地引出了二維離散余弦變換(簡(jiǎn)稱2D-DCT),由于學(xué)生之前學(xué)習(xí)過(guò)高等數(shù)學(xué),信號(hào)與系統(tǒng),熟悉傅里葉級(jí)數(shù)分解,簡(jiǎn)單說(shuō)明DCT與傅里葉級(jí)數(shù)的關(guān)系后,就會(huì)引起學(xué)生的思考,這個(gè)與信號(hào)系統(tǒng)相關(guān)的概念與時(shí)間復(fù)雜度有什么關(guān)系呢?2D-DCT公式列出如下:
(1)
(2)
接下來(lái)提問(wèn),如何利用C語(yǔ)言編程求出?如何簡(jiǎn)化運(yùn)算,降低時(shí)間復(fù)雜度?
為了節(jié)約課堂時(shí)間,提出問(wèn)題后,請(qǐng)學(xué)生在課下自覺(jué)編程,嘗試獨(dú)立解決問(wèn)題。課下,教師可以通過(guò)課程博客與同學(xué)們?cè)诰W(wǎng)絡(luò)上互動(dòng)。上課時(shí),教師提問(wèn),2D-DCT編程需要多少重循環(huán)?常規(guī)算法需要的乘法次數(shù)是多少?降低時(shí)間復(fù)雜度的解決方案是什么?信號(hào)與系統(tǒng)課程中是否有相關(guān)算法的提示?在引發(fā)學(xué)生深入思考的同時(shí),給出下列公式:
(3)
(4)
(4)
通過(guò)引導(dǎo)學(xué)生復(fù)習(xí)信號(hào)與系統(tǒng)函數(shù)組正交的概念,啟發(fā)學(xué)生把式(3)看做式(1)的等價(jià)形式,進(jìn)而提示學(xué)生可以把2D-DCT看做2個(gè)1D-DCT運(yùn)算的組合,若N=8,傳統(tǒng)直接的2D-DCT需要的乘法次數(shù)為64*64=4096,需要4重嵌套循環(huán);若把2D-DCT按照式(3)分解,則可以看做是2個(gè)3重嵌套循環(huán)的組合,需要乘法的次數(shù)為64*8*2=1024,可見(jiàn)簡(jiǎn)單的數(shù)學(xué)變換可以節(jié)約4倍的計(jì)算量。學(xué)生聽(tīng)到這里一定興趣盎然,沒(méi)有想到時(shí)間復(fù)雜度會(huì)與考研重點(diǎn)課程《信號(hào)與系統(tǒng)》密切關(guān)聯(lián),進(jìn)而會(huì)迫不及待地嘗試編寫(xiě)程序,實(shí)現(xiàn)上述思想。endprint
接著再次提問(wèn),實(shí)際編程中如何組織數(shù)據(jù)呢?學(xué)生經(jīng)過(guò)思考,基本上都能給出利用數(shù)組實(shí)現(xiàn),
設(shè)一個(gè)大小為8的數(shù)組SL(8),先讀取一個(gè)8*8塊的第一行資料值,賦給SL(8),對(duì)SL(8)進(jìn)行一維DCT變換后得到一個(gè)新的SL(8)數(shù)組,再把SL(8)數(shù)組覆蓋到原來(lái)的8*8塊中相應(yīng)的地方去。做完第一行后再做第二行,一直做完8行,一個(gè)8*8塊的一維DCT即告完成,然后再做列方向的第二維DCT變換,變換公式一樣,只是由SL(8)取8*8塊的行資料變成取列數(shù)值。做完后覆蓋回原值,即得到一個(gè)8*8塊的DFT系數(shù)塊,再重復(fù)這兩個(gè)過(guò)程做第二個(gè)8*8塊......。上述過(guò)程實(shí)現(xiàn)后,如何驗(yàn)證算法的正確性呢?當(dāng)然,仿真工具M(jìn)atlab是一個(gè)驗(yàn)證的好工具,學(xué)生會(huì)馬上調(diào)出它,驗(yàn)證上述算法。
從上述案例可見(jiàn),一個(gè)時(shí)間復(fù)雜度問(wèn)題引出了《信號(hào)與系統(tǒng)》和《Matlab及其應(yīng)用》兩門(mén)課程的知識(shí)點(diǎn),充分調(diào)動(dòng)了學(xué)生的學(xué)習(xí)興趣,使學(xué)生深刻地認(rèn)識(shí)到學(xué)習(xí)軟件編程知識(shí)是有用的,能夠解決大問(wèn)題,進(jìn)而增強(qiáng)他們的好奇心和學(xué)習(xí)的動(dòng)力。事實(shí)上,筆者認(rèn)為,案例式教學(xué)是一種使學(xué)生快速理解知識(shí)點(diǎn),增強(qiáng)學(xué)習(xí)興趣的手段,在這個(gè)原則下,可以嘗試編寫(xiě)多個(gè)案例,盡可能與通信的主干課聯(lián)系起來(lái),最終增強(qiáng)電子信息類(lèi)專(zhuān)業(yè)學(xué)生的軟件編程能力。
4 結(jié)語(yǔ)
實(shí)踐中嘗試使用案例式教學(xué)對(duì)《軟件設(shè)計(jì)基礎(chǔ)》課程進(jìn)行改革,提出“案例式作業(yè)”,通過(guò)案例給學(xué)生展示作業(yè)實(shí)訓(xùn)項(xiàng)目的運(yùn)行框架,使學(xué)生對(duì)作業(yè)實(shí)訓(xùn)項(xiàng)目有一個(gè)感性認(rèn)識(shí),對(duì)項(xiàng)目的功能、性能和邏輯有一個(gè)初步的了解,為學(xué)生對(duì)作業(yè)項(xiàng)目進(jìn)行設(shè)計(jì)和對(duì)項(xiàng)目元素進(jìn)行創(chuàng)新奠定了基礎(chǔ),通過(guò)設(shè)定項(xiàng)目難度系數(shù),有效避免了作業(yè)抄襲。
設(shè)計(jì)符合通信工程專(zhuān)業(yè)特點(diǎn)的《軟件設(shè)計(jì)基礎(chǔ)》案例,把精講原理與精選案例相結(jié)合,嘗試探究式課程學(xué)習(xí),把基礎(chǔ)理論與應(yīng)用實(shí)踐緊密結(jié)合,把案例和應(yīng)用任務(wù)作為教學(xué)內(nèi)容的主線,進(jìn)而提高學(xué)生的軟件編程能力。
參考文獻(xiàn)
[1] 王良成,王科明.普通高校通信工程專(zhuān)業(yè)的教學(xué)改革探討[J].新課程研究(高等教育),2010(12):97-98.
[2] 胡永祥,楊偉豐,蔣鴻.應(yīng)用型通信工程專(zhuān)業(yè)實(shí)踐教學(xué)體系的構(gòu)建[J].湖南工業(yè)大學(xué)學(xué)報(bào),2011,25(3):105-108.
[3] 周云,辛華,姚新宇.案例教學(xué)在“計(jì)算機(jī)軟件技術(shù)基礎(chǔ)”課程中的嘗試[J].高等教育研究學(xué)報(bào),2007,30(3):57-59.
[4] 曹林,繆旻,樊文波.計(jì)算機(jī)軟件基礎(chǔ)課程設(shè)計(jì)的探索與實(shí)踐[J].中國(guó)科教創(chuàng)新導(dǎo)刊,2008,30(10):133-135.
[5] 吳紹根.基于案例再現(xiàn)的軟件開(kāi)發(fā)綜合實(shí)訓(xùn)項(xiàng)目設(shè)計(jì)[J].計(jì)算機(jī)教育,2009, 7(7):104-106.
[6] 盧瑩,林蔭.《軟件工程》課程教學(xué)改革與實(shí)踐[J].教育教學(xué)論壇,2014,3(2): 42-43.
[7] 司春景,李向陽(yáng).基于多元教學(xué)模式的“軟件工程”課程改革研究[J].中國(guó)電力教育,2013,266(7):98-99.endprint
接著再次提問(wèn),實(shí)際編程中如何組織數(shù)據(jù)呢?學(xué)生經(jīng)過(guò)思考,基本上都能給出利用數(shù)組實(shí)現(xiàn),
設(shè)一個(gè)大小為8的數(shù)組SL(8),先讀取一個(gè)8*8塊的第一行資料值,賦給SL(8),對(duì)SL(8)進(jìn)行一維DCT變換后得到一個(gè)新的SL(8)數(shù)組,再把SL(8)數(shù)組覆蓋到原來(lái)的8*8塊中相應(yīng)的地方去。做完第一行后再做第二行,一直做完8行,一個(gè)8*8塊的一維DCT即告完成,然后再做列方向的第二維DCT變換,變換公式一樣,只是由SL(8)取8*8塊的行資料變成取列數(shù)值。做完后覆蓋回原值,即得到一個(gè)8*8塊的DFT系數(shù)塊,再重復(fù)這兩個(gè)過(guò)程做第二個(gè)8*8塊......。上述過(guò)程實(shí)現(xiàn)后,如何驗(yàn)證算法的正確性呢?當(dāng)然,仿真工具M(jìn)atlab是一個(gè)驗(yàn)證的好工具,學(xué)生會(huì)馬上調(diào)出它,驗(yàn)證上述算法。
從上述案例可見(jiàn),一個(gè)時(shí)間復(fù)雜度問(wèn)題引出了《信號(hào)與系統(tǒng)》和《Matlab及其應(yīng)用》兩門(mén)課程的知識(shí)點(diǎn),充分調(diào)動(dòng)了學(xué)生的學(xué)習(xí)興趣,使學(xué)生深刻地認(rèn)識(shí)到學(xué)習(xí)軟件編程知識(shí)是有用的,能夠解決大問(wèn)題,進(jìn)而增強(qiáng)他們的好奇心和學(xué)習(xí)的動(dòng)力。事實(shí)上,筆者認(rèn)為,案例式教學(xué)是一種使學(xué)生快速理解知識(shí)點(diǎn),增強(qiáng)學(xué)習(xí)興趣的手段,在這個(gè)原則下,可以嘗試編寫(xiě)多個(gè)案例,盡可能與通信的主干課聯(lián)系起來(lái),最終增強(qiáng)電子信息類(lèi)專(zhuān)業(yè)學(xué)生的軟件編程能力。
4 結(jié)語(yǔ)
實(shí)踐中嘗試使用案例式教學(xué)對(duì)《軟件設(shè)計(jì)基礎(chǔ)》課程進(jìn)行改革,提出“案例式作業(yè)”,通過(guò)案例給學(xué)生展示作業(yè)實(shí)訓(xùn)項(xiàng)目的運(yùn)行框架,使學(xué)生對(duì)作業(yè)實(shí)訓(xùn)項(xiàng)目有一個(gè)感性認(rèn)識(shí),對(duì)項(xiàng)目的功能、性能和邏輯有一個(gè)初步的了解,為學(xué)生對(duì)作業(yè)項(xiàng)目進(jìn)行設(shè)計(jì)和對(duì)項(xiàng)目元素進(jìn)行創(chuàng)新奠定了基礎(chǔ),通過(guò)設(shè)定項(xiàng)目難度系數(shù),有效避免了作業(yè)抄襲。
設(shè)計(jì)符合通信工程專(zhuān)業(yè)特點(diǎn)的《軟件設(shè)計(jì)基礎(chǔ)》案例,把精講原理與精選案例相結(jié)合,嘗試探究式課程學(xué)習(xí),把基礎(chǔ)理論與應(yīng)用實(shí)踐緊密結(jié)合,把案例和應(yīng)用任務(wù)作為教學(xué)內(nèi)容的主線,進(jìn)而提高學(xué)生的軟件編程能力。
參考文獻(xiàn)
[1] 王良成,王科明.普通高校通信工程專(zhuān)業(yè)的教學(xué)改革探討[J].新課程研究(高等教育),2010(12):97-98.
[2] 胡永祥,楊偉豐,蔣鴻.應(yīng)用型通信工程專(zhuān)業(yè)實(shí)踐教學(xué)體系的構(gòu)建[J].湖南工業(yè)大學(xué)學(xué)報(bào),2011,25(3):105-108.
[3] 周云,辛華,姚新宇.案例教學(xué)在“計(jì)算機(jī)軟件技術(shù)基礎(chǔ)”課程中的嘗試[J].高等教育研究學(xué)報(bào),2007,30(3):57-59.
[4] 曹林,繆旻,樊文波.計(jì)算機(jī)軟件基礎(chǔ)課程設(shè)計(jì)的探索與實(shí)踐[J].中國(guó)科教創(chuàng)新導(dǎo)刊,2008,30(10):133-135.
[5] 吳紹根.基于案例再現(xiàn)的軟件開(kāi)發(fā)綜合實(shí)訓(xùn)項(xiàng)目設(shè)計(jì)[J].計(jì)算機(jī)教育,2009, 7(7):104-106.
[6] 盧瑩,林蔭.《軟件工程》課程教學(xué)改革與實(shí)踐[J].教育教學(xué)論壇,2014,3(2): 42-43.
[7] 司春景,李向陽(yáng).基于多元教學(xué)模式的“軟件工程”課程改革研究[J].中國(guó)電力教育,2013,266(7):98-99.endprint
接著再次提問(wèn),實(shí)際編程中如何組織數(shù)據(jù)呢?學(xué)生經(jīng)過(guò)思考,基本上都能給出利用數(shù)組實(shí)現(xiàn),
設(shè)一個(gè)大小為8的數(shù)組SL(8),先讀取一個(gè)8*8塊的第一行資料值,賦給SL(8),對(duì)SL(8)進(jìn)行一維DCT變換后得到一個(gè)新的SL(8)數(shù)組,再把SL(8)數(shù)組覆蓋到原來(lái)的8*8塊中相應(yīng)的地方去。做完第一行后再做第二行,一直做完8行,一個(gè)8*8塊的一維DCT即告完成,然后再做列方向的第二維DCT變換,變換公式一樣,只是由SL(8)取8*8塊的行資料變成取列數(shù)值。做完后覆蓋回原值,即得到一個(gè)8*8塊的DFT系數(shù)塊,再重復(fù)這兩個(gè)過(guò)程做第二個(gè)8*8塊......。上述過(guò)程實(shí)現(xiàn)后,如何驗(yàn)證算法的正確性呢?當(dāng)然,仿真工具M(jìn)atlab是一個(gè)驗(yàn)證的好工具,學(xué)生會(huì)馬上調(diào)出它,驗(yàn)證上述算法。
從上述案例可見(jiàn),一個(gè)時(shí)間復(fù)雜度問(wèn)題引出了《信號(hào)與系統(tǒng)》和《Matlab及其應(yīng)用》兩門(mén)課程的知識(shí)點(diǎn),充分調(diào)動(dòng)了學(xué)生的學(xué)習(xí)興趣,使學(xué)生深刻地認(rèn)識(shí)到學(xué)習(xí)軟件編程知識(shí)是有用的,能夠解決大問(wèn)題,進(jìn)而增強(qiáng)他們的好奇心和學(xué)習(xí)的動(dòng)力。事實(shí)上,筆者認(rèn)為,案例式教學(xué)是一種使學(xué)生快速理解知識(shí)點(diǎn),增強(qiáng)學(xué)習(xí)興趣的手段,在這個(gè)原則下,可以嘗試編寫(xiě)多個(gè)案例,盡可能與通信的主干課聯(lián)系起來(lái),最終增強(qiáng)電子信息類(lèi)專(zhuān)業(yè)學(xué)生的軟件編程能力。
4 結(jié)語(yǔ)
實(shí)踐中嘗試使用案例式教學(xué)對(duì)《軟件設(shè)計(jì)基礎(chǔ)》課程進(jìn)行改革,提出“案例式作業(yè)”,通過(guò)案例給學(xué)生展示作業(yè)實(shí)訓(xùn)項(xiàng)目的運(yùn)行框架,使學(xué)生對(duì)作業(yè)實(shí)訓(xùn)項(xiàng)目有一個(gè)感性認(rèn)識(shí),對(duì)項(xiàng)目的功能、性能和邏輯有一個(gè)初步的了解,為學(xué)生對(duì)作業(yè)項(xiàng)目進(jìn)行設(shè)計(jì)和對(duì)項(xiàng)目元素進(jìn)行創(chuàng)新奠定了基礎(chǔ),通過(guò)設(shè)定項(xiàng)目難度系數(shù),有效避免了作業(yè)抄襲。
設(shè)計(jì)符合通信工程專(zhuān)業(yè)特點(diǎn)的《軟件設(shè)計(jì)基礎(chǔ)》案例,把精講原理與精選案例相結(jié)合,嘗試探究式課程學(xué)習(xí),把基礎(chǔ)理論與應(yīng)用實(shí)踐緊密結(jié)合,把案例和應(yīng)用任務(wù)作為教學(xué)內(nèi)容的主線,進(jìn)而提高學(xué)生的軟件編程能力。
參考文獻(xiàn)
[1] 王良成,王科明.普通高校通信工程專(zhuān)業(yè)的教學(xué)改革探討[J].新課程研究(高等教育),2010(12):97-98.
[2] 胡永祥,楊偉豐,蔣鴻.應(yīng)用型通信工程專(zhuān)業(yè)實(shí)踐教學(xué)體系的構(gòu)建[J].湖南工業(yè)大學(xué)學(xué)報(bào),2011,25(3):105-108.
[3] 周云,辛華,姚新宇.案例教學(xué)在“計(jì)算機(jī)軟件技術(shù)基礎(chǔ)”課程中的嘗試[J].高等教育研究學(xué)報(bào),2007,30(3):57-59.
[4] 曹林,繆旻,樊文波.計(jì)算機(jī)軟件基礎(chǔ)課程設(shè)計(jì)的探索與實(shí)踐[J].中國(guó)科教創(chuàng)新導(dǎo)刊,2008,30(10):133-135.
[5] 吳紹根.基于案例再現(xiàn)的軟件開(kāi)發(fā)綜合實(shí)訓(xùn)項(xiàng)目設(shè)計(jì)[J].計(jì)算機(jī)教育,2009, 7(7):104-106.
[6] 盧瑩,林蔭.《軟件工程》課程教學(xué)改革與實(shí)踐[J].教育教學(xué)論壇,2014,3(2): 42-43.
[7] 司春景,李向陽(yáng).基于多元教學(xué)模式的“軟件工程”課程改革研究[J].中國(guó)電力教育,2013,266(7):98-99.endprint