前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇數(shù)字圖像處理實驗報告范文,相信會為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。
關(guān)鍵詞:數(shù)字圖像處理 教學(xué)改革 教學(xué)實踐
中圖分類號:G642 文獻標(biāo)識碼:A 文章編號:1674-2117(2014)08-0012-02
1 前言
數(shù)字圖像處理技術(shù)的應(yīng)用非常廣泛,已經(jīng)滲透到計算機、通信、交通、物理、醫(yī)學(xué)、化學(xué)、生物學(xué)、軍事、經(jīng)濟等各個領(lǐng)域,與人們的生活密切相關(guān)。《數(shù)字圖像處理》是信息技術(shù)領(lǐng)域中發(fā)展較快的一個熱門領(lǐng)域,是模式識別、計算機視覺、多媒體技術(shù)、數(shù)據(jù)挖掘等學(xué)科的基礎(chǔ),也是一門涉及多領(lǐng)域的交叉學(xué)科。
該課程的理論性和實踐性都很強,要求學(xué)生在掌握圖像處理的基本概念、基礎(chǔ)理論、典型算法的基礎(chǔ)上,掌握一定的編程實踐能力,能夠利用計算機編程實現(xiàn)數(shù)字圖像的各種處理,如圖像變換、圖像增強、圖像恢復(fù)、圖像重建、圖像分割、圖像編碼和圖像識別等,在學(xué)習(xí)圖像專業(yè)知識的過程中增強學(xué)生的創(chuàng)新意識,培養(yǎng)學(xué)生獨立獲取知識和綜合運用所學(xué)知識分析和解決實際問題的能力,提高學(xué)生的實際動手能力,為其今后深入地進行科學(xué)研究和獨立工作奠定良好的基礎(chǔ)。
2 創(chuàng)新教學(xué)理念
在《數(shù)字圖像處理》課程的教學(xué)中,努力貫徹素質(zhì)教育的先進理念,注重教與學(xué)的有機結(jié)合,堅持以學(xué)生為主體,教師為主導(dǎo),最大限度地發(fā)揮學(xué)生的主觀能動性,將培養(yǎng)學(xué)生的主動思維,鼓勵學(xué)生的創(chuàng)新意識作為教學(xué)的重要目標(biāo)之一。
對于教學(xué)內(nèi)容的設(shè)計,以圖像處理算法的理論作為授課的重點,以算法的產(chǎn)生、應(yīng)用、改進為主線,突出知識的內(nèi)在聯(lián)系,揭示數(shù)字圖像處理發(fā)展的內(nèi)在規(guī)律(要求學(xué)生重點理解)。
掌握數(shù)字圖像的基本概念和基本算法,關(guān)注圖像應(yīng)用的前沿動態(tài),培養(yǎng)學(xué)生的創(chuàng)新思維能力,并根據(jù)課程需要,適當(dāng)將數(shù)字圖像處理領(lǐng)域中最新的技術(shù)手段,研究進展以及發(fā)展趨勢納入教學(xué),并鼓勵學(xué)生對新知識、新領(lǐng)域進行積極地探索。
在教學(xué)過程中,努力將復(fù)雜抽象的理論融入到形象直觀的應(yīng)用實例當(dāng)中,將算法實現(xiàn)過程中的重難點問題分解細(xì)化為可展現(xiàn)的圖像處理效果,在理論中滲透實踐,在實踐中穿插理論,注重理論聯(lián)系實際,培養(yǎng)學(xué)生的工程實踐能力,真正使學(xué)生樂學(xué)、易學(xué)并會學(xué)。
3 改革教學(xué)內(nèi)容
數(shù)字圖像處理技術(shù)在科學(xué)研究、工農(nóng)業(yè)生產(chǎn)、軍事技術(shù)和醫(yī)療衛(wèi)生等許多領(lǐng)域中發(fā)揮著越來越重要的作用。圖像技術(shù)的快速發(fā)展決定了《數(shù)字圖像處理》課程的教學(xué)內(nèi)容也需要不斷更新,教材原則上選用專業(yè)內(nèi)容全面新穎的教材,即圖像專業(yè)基礎(chǔ)知識相對穩(wěn)定,并能夠緊跟數(shù)字圖像處理技術(shù)發(fā)展趨勢。對于輔教材,可以根據(jù)圖像課程的系統(tǒng)性和實用性,并考慮到擴充學(xué)生的視野,可以選一些國際上經(jīng)典書籍如外文經(jīng)典專著。目前我們以2012年清華大學(xué)出版社出版的,章毓晉編寫的《圖像工程(上冊)――圖像處理(第三版)》教材為主線,以美國Rafael C.Gonzalez 等編著的Digital Image Processing,阮秋琦編著的《數(shù)字圖像處理學(xué)》等教材和中外科技期刊發(fā)表的最新圖像技術(shù)為參考資料,并適當(dāng)補充本領(lǐng)域中的一些新技術(shù)、新方法及新成果。
對圖像處理教材內(nèi)容進行整合,課內(nèi)圖像處理基礎(chǔ)知識分為九大模塊:圖像與視覺基礎(chǔ)、圖像運算與變換、圖像增強、圖像恢復(fù)、圖像重建、圖像編碼、圖像分割、圖像目標(biāo)表達與描述、圖像識別等內(nèi)容。
在授課過程中,一般知識點進行自學(xué),系統(tǒng)講解重點難點內(nèi)容,如直方圖均衡等,而對于教材中未寫進或無系統(tǒng)介紹的前沿性、創(chuàng)新性或跨學(xué)科的內(nèi)容,則滲透到各個章節(jié)中。例如,將水果識別系統(tǒng)、車牌圖像的自動識別、基于內(nèi)容的圖像檢索等新技術(shù)滲透到圖像增強、圖像分割、圖像目標(biāo)表達與描述和圖像識別等各個章節(jié)中,授課內(nèi)容完成,那么自動識別系統(tǒng)模型建立,學(xué)生就完成了水果、車牌等圖像的自動識別。通過這種方法強調(diào)基礎(chǔ),跟蹤前沿,將基礎(chǔ)理論與實踐有機地結(jié)合起來,使學(xué)生不僅能夠?qū)W到課程的基礎(chǔ)知識,了解科學(xué)前沿的最新成果,加強學(xué)生的實踐動手能力,而且與時俱進,增強了學(xué)生的好奇心,促進學(xué)生創(chuàng)新能力的培養(yǎng)。
4 改進教學(xué)方法
在數(shù)字圖像處理教學(xué)中,綜合運用課堂講授法、研究法、討論法和實驗法等教學(xué)方法,發(fā)揮各種教學(xué)方法的優(yōu)勢,引導(dǎo)學(xué)生積極參與教學(xué)。
對于一般的重點難點內(nèi)容,例如,圖像增強中的直方圖增強等模塊,同時以課堂講授和實驗法為主,在講解圖像增強理論的同時進行圖像直方圖增強實驗,在圖像增強原理講完之后直接出現(xiàn)直方圖增強的前后對比圖,可以激發(fā)學(xué)生的興趣和動手能力。
對于圖像邊緣檢測等一些難度相對較小的內(nèi)容,首先以講授法系統(tǒng)地講解其中一種邊緣檢測算法,其他與之原理相似的算法則運用討論法,以學(xué)生討論、交流為主,教師引導(dǎo)、點評為輔進行。
對于課堂難度較大的內(nèi)容如圖像恢復(fù)與重建,則采取研究法為主,其他方法為輔。促使學(xué)生主動思維,成為真正的學(xué)習(xí)主體,教師根據(jù)學(xué)生反饋的信息及時把握學(xué)生思維過程,成為真正的主導(dǎo)。
另外,對于圖像某一知識模塊的引入,可以適當(dāng)設(shè)置一些懸念或疑問,再引出講授的主要內(nèi)容,即將教學(xué)過程設(shè)計成一個“產(chǎn)生疑問―尋求解決方法―解決疑問―再產(chǎn)生疑問―再尋求解決方法一再解決疑問……”的過程。這樣不僅有利于增強授課內(nèi)容的邏輯性,還有利于啟發(fā)學(xué)生的思維,激發(fā)學(xué)生的興趣及創(chuàng)新能力。
5 豐富教學(xué)手段
鑒于數(shù)字圖像理論知識比較豐富,實踐性比較強,應(yīng)用領(lǐng)域比較廣的特點,以及現(xiàn)有教學(xué)設(shè)備、教學(xué)網(wǎng)絡(luò)環(huán)境的改善,《數(shù)字圖像處理》課程采用板書、多媒體課件、輔助教學(xué)軟件以及教學(xué)網(wǎng)絡(luò)平臺等多元化的教學(xué)手段。充分活躍課堂氣氛,提高教學(xué)效果,促進教學(xué)改革,提高學(xué)生的學(xué)習(xí)興趣及實踐動手能力,增強學(xué)生的信息素養(yǎng),獲得了良好的教學(xué)效果。
對于數(shù)字圖像處理中典型算法的原理與推導(dǎo)等難度較大的內(nèi)容,以板書為主,通過對公式的推理計算,體現(xiàn)出知識的邏輯性和嚴(yán)謹(jǐn)性。同時適當(dāng)輔以多媒體課件對圖像處理的結(jié)果進行演示,以加速學(xué)生對授課內(nèi)容的理解,增強了學(xué)習(xí)的直觀性、生動性和趣味性。
針對本課程的特點,開發(fā)了輔助教學(xué)軟件,利用該軟件在課堂教學(xué)中將圖像處理算法的實際效果進行隨堂演示,從而將枯燥的理論推導(dǎo)轉(zhuǎn)化為立竿見影的實際操作。讓學(xué)生充分感受到數(shù)字圖像處理技術(shù)的巨大魅力,從而降低了理論知識學(xué)習(xí)的難度,增加了課堂的信息量、激發(fā)了學(xué)生的學(xué)習(xí)興趣,實現(xiàn)了化靜態(tài)為動態(tài),化抽象為直觀,化復(fù)雜為簡潔,使課堂教學(xué)的效率大大提高。此外,又鍛煉了學(xué)生的研究性學(xué)習(xí)能力,培養(yǎng)了學(xué)生的創(chuàng)造性思維。
根據(jù)課程教學(xué)標(biāo)準(zhǔn),進一步改革教學(xué)實踐,安排了實驗教學(xué),并將實驗內(nèi)容劃分為驗證性實驗和設(shè)計型實驗。驗證型實驗的設(shè)計,要求學(xué)生掌握數(shù)字圖像處理、基本操作處理和簡單的典型算法編程,從而實現(xiàn)對課堂上理論知識的學(xué)習(xí)鞏固,增強了學(xué)生的編程能力和基本的項目開發(fā)能力。設(shè)計型實驗需要學(xué)生對源代碼進行分析研究、修改或補充,動手設(shè)計一些綜合性或創(chuàng)新性的算法,分析實驗結(jié)果,寫出實驗報告或論文。既培養(yǎng)了學(xué)生發(fā)現(xiàn)問題,分析問題和解決問題的能力,又提高了學(xué)生的動手能力和創(chuàng)新能力。
利用大學(xué)提供的教學(xué)網(wǎng)絡(luò)平臺,把圖像處理課程的教學(xué)標(biāo)準(zhǔn)、授課教案、教學(xué)課件、習(xí)題、實驗指導(dǎo)以及相關(guān)參考資料都上傳到此教學(xué)網(wǎng)絡(luò)平臺。同時引導(dǎo)學(xué)生在網(wǎng)絡(luò)上積極討論關(guān)于圖像處理方面的一些最新研究等話題,激發(fā)學(xué)生討論及思考。另外,學(xué)生對于未消化的難點,也可以在網(wǎng)絡(luò)平臺上提出,教師及時通過教學(xué)平臺進行回復(fù),實現(xiàn)課后數(shù)字圖像處理教學(xué)的互動,從而作為課堂學(xué)習(xí)的補充。教學(xué)網(wǎng)絡(luò)平臺實現(xiàn)了教學(xué)資源的共享,課后教學(xué)的互動,豐富了教學(xué)手段,為開展多種形式的教學(xué)奠定基礎(chǔ)。
6 改革考核方法
課程考核對于加強學(xué)生對學(xué)習(xí)內(nèi)容的掌握、實驗技能的提高、創(chuàng)新能力的培養(yǎng)具有很大的促進作用。然而,傳統(tǒng)的閉卷考試,主要考核學(xué)生對課堂教學(xué)內(nèi)容的理解和掌握,容易使得學(xué)生將注意力放在背記考點及研究考試技巧上?!稊?shù)字圖像處理》課程是一門實踐性很強的課程,僅采用這種評價方式將難以調(diào)動學(xué)生實踐學(xué)習(xí)的積極性,達不到良好的效果。
在考核方法的改革上,對《數(shù)字圖像處理》課程采用了綜合性的考核方法。期末考試采用筆試開卷方式,主要強調(diào)學(xué)生對數(shù)字圖像處理技術(shù)基礎(chǔ)理論的宏觀掌握。在考試題目設(shè)計上,重點強調(diào)學(xué)生知道如何去尋找解決問題的方案,考核學(xué)生發(fā)現(xiàn)問題,分析問題和解決問題的能力;同時增強實驗成績的比重,根據(jù)學(xué)生對實驗內(nèi)容的完成情況,以及創(chuàng)造性解決圖像處理問題的能力,對實驗成績進行評分。另外,還將平時的聽講,回答問題,作業(yè)的情況列入平時成績。因此《數(shù)字圖像處理》課程最終的考核成績包括三個部分:期末考試成績(占50%),實驗成績(占30%)和平時成績(占20%)。
通過課程考核方法的改革,不僅有效地檢驗了學(xué)生對《數(shù)字圖像處理》課程的綜合掌握程度,而且還能激發(fā)學(xué)生學(xué)習(xí)的積極主動性,提高了實踐創(chuàng)新能力。
7 結(jié)語
隨著信息技術(shù)不斷發(fā)展和完善,數(shù)字圖像處理技術(shù)也在不斷發(fā)展,并且越來越多地應(yīng)用于各個領(lǐng)域,相應(yīng)地,數(shù)字圖像處理課程的教學(xué)改革和實踐也應(yīng)與時俱進,結(jié)合國內(nèi)外科研和教學(xué)成果,不斷吸收新知識,豐富教學(xué)內(nèi)容;根據(jù)教學(xué)內(nèi)容靈活運用各種教學(xué)方法,使學(xué)生在掌握數(shù)字圖像處理基本理論和方法的基礎(chǔ)上,培養(yǎng)學(xué)生的實踐動手能力,創(chuàng)新意識與綜合設(shè)計能力,使學(xué)生的信息綜合設(shè)計能力和科學(xué)研究能力有明顯地提高。激發(fā)學(xué)生主動學(xué)習(xí)的興趣,提高學(xué)生進行研究性學(xué)習(xí)的能力,同時進一步提高教學(xué)質(zhì)量和教學(xué)水平,真正培養(yǎng)出具有開拓精神和創(chuàng)新意識的現(xiàn)代化新人。
參考文獻:
[1]章毓晉.圖像工程(上冊)――圖像處理(第三版)[M].北京:清華大學(xué)出版社,2012.
[2]岡薩雷斯.數(shù)字圖像處理(第三版)[M].北京:電子工業(yè)出版社,2010.
[3]Rafael C.Gonzalez. Digital Image Processing using Matlab[M].北京:電子工業(yè)出版社,2003.
關(guān)鍵詞:機器學(xué)習(xí);教學(xué)方法;教學(xué)改革
中圖分類號:G642.0 文獻標(biāo)志碼:A 文章編號:1674-9324(2014)53-0158-02
“機器學(xué)習(xí)”是現(xiàn)代信息技術(shù)科技領(lǐng)域中一門非常重要的學(xué)科,涉及概率論、統(tǒng)計學(xué)、腦科學(xué)、認(rèn)知學(xué)等多門學(xué)科,專門研究計算機怎樣模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,以獲取新的知識或技能,重新組織已有的知識結(jié)構(gòu)使之不斷改善自身的性能?!皺C器學(xué)習(xí)”是人工智能的核心,是使計算機具有智能的根本途徑,具有重要的研究價值和廣泛的應(yīng)用價值。因此,要想成為高科技行業(yè)的高層次人才,就需要掌握與“機器學(xué)習(xí)”課程所相關(guān)的知識和技術(shù)。
一、課程安排和教學(xué)內(nèi)容選擇
“機器學(xué)習(xí)”課程是我院“智能科學(xué)與技術(shù)”專業(yè)的專業(yè)課程之一,與“人工智能”、“數(shù)學(xué)圖像處理”、“機器視覺”構(gòu)成了本科生培養(yǎng)的有機課程體系。按照我院“機器學(xué)習(xí)”教學(xué)大綱的要求,總學(xué)時數(shù)為32,其中理論教學(xué)24學(xué)時,實踐教學(xué)8學(xué)時。我院選用的教材是由Tom Mitchell所著,曾華軍、張銀奎等譯的“Machine Learning”,這是一本“機器學(xué)習(xí)”課程的經(jīng)典教材,展示了機器學(xué)習(xí)中核心的算法和理論,并闡明了算法的運行過程。該書總共有十三章,有些內(nèi)容如第七章的“計算學(xué)習(xí)理論”對于本科生來說理論性過強,不易理解;有些內(nèi)容如第四章的“人工神經(jīng)網(wǎng)絡(luò)”和第九章的“遺傳算法”與我們的另一門專業(yè)課“智能計算”在內(nèi)容上有重疊。因此,要想在最短的時間內(nèi)讓本科生掌握最基本的“機器學(xué)習(xí)”的原理和方法,就需要對教學(xué)課程選擇優(yōu)化,激發(fā)起學(xué)生的學(xué)習(xí)興趣,為進一步的深入學(xué)習(xí)打下堅實的基礎(chǔ)。最終,我們選擇了該書的第一、二、三、五、六、八、十三章作為教學(xué)的主要內(nèi)容,同時結(jié)合教師自己的科研工作,時刻關(guān)注“機器學(xué)習(xí)”在國內(nèi)、國際上的最新進展,在教學(xué)過程中以專題講座的形式將“機器學(xué)習(xí)”的最新研究成果介紹給學(xué)生,達到使學(xué)生開闊眼界、增長見識的目的。
二、教學(xué)中存在的問題
筆者承擔(dān)“機器學(xué)習(xí)”課程教學(xué)工作已有五年,在日常的教學(xué)活動中,發(fā)現(xiàn)該課程的教學(xué)問題主要體現(xiàn)在以下幾個方面。
1.課程理論抽象,學(xué)生學(xué)習(xí)興趣不高?!皺C器學(xué)習(xí)”理論性強,如按照傳統(tǒng)的教學(xué)方法在課堂上講解“機器學(xué)習(xí)”的各種理論和算法,必然涉及到大量的數(shù)學(xué)公式推導(dǎo),這就要求學(xué)生要有較好的數(shù)學(xué)基礎(chǔ),從而使數(shù)學(xué)基礎(chǔ)不好的學(xué)生學(xué)習(xí)起來比較困難,興趣不高,教學(xué)效果不佳。
2.教學(xué)內(nèi)容豐富,知識點分散?!皺C器學(xué)習(xí)”涉及的理論、算法很多,并且算法之間聯(lián)系不大,教學(xué)內(nèi)容易面面俱到,這就導(dǎo)致學(xué)生只掌握了分散的知識點,沒有形成一條完整的知識鏈,不知道自己所學(xué)的算法有什么用、如何使用,從而失去了學(xué)習(xí)目標(biāo),影響了學(xué)生的學(xué)習(xí)熱情。
3.實驗課比例較小且難度較大?!皺C器學(xué)習(xí)”是一門實踐性很強的學(xué)科,由于實驗課時較少,僅提供8學(xué)時,使原本很重要的實踐活動變成了搭配;同時,部分“機器學(xué)習(xí)”算法較復(fù)雜,編程實現(xiàn)難度較大,加上大部分學(xué)生本身的編程能力有限,很難在較短的時間內(nèi)完成實驗課的內(nèi)容。最終導(dǎo)致學(xué)生對實驗課的興趣不高,消極應(yīng)對,沒有將學(xué)習(xí)到的理論知識應(yīng)用到實踐,學(xué)生的動手能力也沒有得到充分鍛煉。
針對以上問題,筆者在“機器學(xué)習(xí)”教學(xué)實踐中注重理論教學(xué)與實踐教學(xué)緊密相連,研究如何恰當(dāng)組織教學(xué)內(nèi)容,合理分配實驗環(huán)節(jié),激發(fā)學(xué)生的學(xué)習(xí)興趣,加強學(xué)生實踐動手能力的培養(yǎng),達到知識傳授和能力培養(yǎng)的有效結(jié)合。
三、教學(xué)方法改進
(一)理論教學(xué)
在一個完整的教學(xué)過程中,理論教學(xué)是尤為重要的一個環(huán)節(jié),是學(xué)生獲取知識的直接渠道。如何提高學(xué)生的學(xué)習(xí)積極性和激發(fā)學(xué)習(xí)興趣;如何把枯燥無味的理論和算法講解深入顯出,易于理解,是理論教學(xué)問題中需要重要解決的問題??梢詮囊韵聨讉€方面入手。
1.上好緒論課,激發(fā)學(xué)生的學(xué)習(xí)興趣?!芭d趣是最好的老師”,興趣是學(xué)生主動學(xué)習(xí)、積極思維、勇于探索的強大動力。因此在教學(xué)活動中,應(yīng)該注重激發(fā)學(xué)生的學(xué)習(xí)興趣,讓學(xué)生自始至終主動參與學(xué)習(xí),全身心地投入到學(xué)習(xí)活動中。因此,我們應(yīng)該重視緒論課,通過查閱大量文獻資料,將最新的“機器學(xué)習(xí)”的研究成果展現(xiàn)給學(xué)生,激發(fā)學(xué)生的學(xué)習(xí)興趣。教材中列舉了“機器學(xué)習(xí)”的一些成功應(yīng)用,如學(xué)習(xí)識別人類的講話、學(xué)習(xí)駕駛車輛、學(xué)習(xí)分類新的天文結(jié)構(gòu)、學(xué)習(xí)以世界級的水平對弈西洋雙陸棋等。但是,這些應(yīng)用只有一些文字上的描述,很難給學(xué)生留下直觀的印象,我們可以上網(wǎng)查找一些相關(guān)的視頻資料,結(jié)合視頻資料來講解這些應(yīng)用,這樣會讓學(xué)生更加直觀的認(rèn)識到“機器學(xué)習(xí)”的應(yīng)用價值和遠(yuǎn)大的市場前景,從而對這門課程產(chǎn)生濃厚的興趣。
2.結(jié)合實例講解,注重理論聯(lián)系實踐?!皺C器學(xué)習(xí)”的很多算法理論性強、抽象、不易理解,單純采用文字?jǐn)⑹龊凸酵茖?dǎo)的教學(xué)手段,教學(xué)效果并不好。因此在理論教學(xué)中,可以結(jié)合實例講解,注重理論聯(lián)系實踐。例如在講解“貝葉斯學(xué)習(xí)”這章時,有一個樸素貝葉斯分類器的算法,實現(xiàn)該算法的難點在于估計給定目標(biāo)值時各屬性的概率。為了讓學(xué)生更好的理解和掌握該算法,可以結(jié)合“識別手寫阿拉伯?dāng)?shù)字”這一實例進行講解。首先,將手寫阿拉伯?dāng)?shù)字圖像二值化,并分割成“4×4=16”個同等大小的子圖像;然后,計算每一個子圖像中黑色像素的個數(shù),將該值作為數(shù)字圖像的一個屬性值;最后,從100張訓(xùn)練樣本中統(tǒng)計出給定數(shù)字時各屬性的概率。這樣,學(xué)生通過實例,知道算法的應(yīng)用場合和方法,學(xué)習(xí)興趣和效率自然就會提高。
3.教師與學(xué)生互動,注重問答式教學(xué)。教師與學(xué)生互動是理論教學(xué)最基本的組織形式,是提高課堂效率、達成教學(xué)最優(yōu)化的有效途徑之一。因此,課堂教學(xué)模式應(yīng)由傳統(tǒng)傳授“滿堂灌”的方式轉(zhuǎn)向“互動問答”的方式,通過提問引導(dǎo)學(xué)生去思考,激發(fā)學(xué)生的求知欲,充分調(diào)動學(xué)生的學(xué)習(xí)積極性和主觀能動性。例如,在講解“基于實例的學(xué)習(xí)”這一章時,首先給學(xué)生介紹了三種學(xué)習(xí)方法:k近鄰算法、局部加權(quán)回歸和基于案例的推理,這時可以問學(xué)生:這些方法有什么共同點?與前面學(xué)習(xí)的方法有什么不同?根據(jù)學(xué)生的回答,引導(dǎo)出積極學(xué)習(xí)和消極學(xué)習(xí)的概念,并指出這兩種方法之間的重要差異。然后進一步問學(xué)生:歸納偏置方面積極和消極方法是否有實質(zhì)性的差異?引導(dǎo)學(xué)生去思考引起這些差異的原因是什么,探求問題的本源。接著還可以問學(xué)生:這些差異會影響學(xué)習(xí)器的泛化精度嗎?讓學(xué)生去進一步思考這些差異會導(dǎo)致什么樣的結(jié)果,從而對所學(xué)的算法有更加深入的了解和認(rèn)識。
(二)實踐教學(xué)
實踐教學(xué)是理論教學(xué)的深化和補充,學(xué)生在實踐環(huán)節(jié)將理論教學(xué)學(xué)到的理論算法應(yīng)用于實踐,有助于知識的理解和掌握,也有助于提高學(xué)生的動手能力。傳統(tǒng)的實踐教學(xué)內(nèi)容大多為驗證型實驗,缺乏綜合性實驗,對學(xué)生綜合應(yīng)用能力和解決實際問題能力的培養(yǎng)不夠。因此,教學(xué)過程中要加強實踐教學(xué),增加綜合性實驗,將理論教學(xué)與實踐教學(xué)密切結(jié)合起來??梢詮膶嶒炘O(shè)計、實驗要求和實驗考核這三方面入手。
1.實驗設(shè)計層次化。根據(jù)理論教學(xué)內(nèi)容,結(jié)合學(xué)生的實際情況,按照由淺入深的原則安排了三個實驗:候選消除算法、ID3決策樹算法、和識別手寫阿拉伯?dāng)?shù)字。前兩個實驗為驗證型實驗,要求學(xué)生實現(xiàn)相關(guān)算法,驗證教材實例的正確性;后一個實驗為綜合性實驗,要求學(xué)生綜合運用數(shù)字圖像處理、可視化編程技術(shù)、機器學(xué)習(xí)等課程知識,解決實際問題。實驗的難度由易到難,層層深入,有利于學(xué)生動手能力的培養(yǎng)。
2.實驗要求明確化。對于每一個實驗,都有明確的要求,讓學(xué)生明白實驗要做什么,該輸出怎樣的實驗結(jié)果。如在候選消除算法實驗中,首先要求學(xué)生以讀文件的方式讀訓(xùn)練樣例,并將樣例顯示在屏幕上;然后,實現(xiàn)極大特殊假設(shè)算法并將每一步的極大特殊邊界輸出到屏幕;最后,實現(xiàn)極大一般假設(shè)算法并將每一步的極大一般邊界輸出到屏幕。通過完成這個實驗,學(xué)生對候選消除算法的過程有了一個清晰的認(rèn)識,加深了對算法的理解。
3.實驗考核常規(guī)化。為了保證實驗的質(zhì)量,加強對實驗的管理,對每一次實驗都要求學(xué)生簽到,并完成相應(yīng)的實驗報告,交由教師批改。教師根據(jù)學(xué)生完成實驗報告的情況,給出評分和評語,并計入學(xué)生的平時成績中。學(xué)生的最終考試成績?yōu)槠綍r成績與期末卷面成績的加權(quán)和。通過常規(guī)化實驗考核,學(xué)生會意識到實驗環(huán)節(jié)的重要性,積極認(rèn)真的對待實驗。
四、結(jié)語
針對“機器學(xué)習(xí)”課程特點和我校的實際情況,我們積極開展教學(xué)改革研究,從理論教學(xué)和實踐教學(xué)兩方面進行了一些探索,并初步取得了令人滿意的效果。“機器學(xué)習(xí)”是一門不斷發(fā)展的交叉學(xué)科,要求“機器學(xué)習(xí)”課程的內(nèi)容不斷更新,教學(xué)方法也要不斷改進。為了更好的講授這門課,還需要在日后的教學(xué)實踐中不斷改進和完善。
參考文獻:
[1]Tom M.Mitchell.Machine Learning[M].曾華軍,等,譯.北京:機械工業(yè)出版社,2003.
[2]袁鼎榮.淺談《機器學(xué)習(xí)》的課程教學(xué)方法[J].廣西經(jīng)濟管理干部學(xué)院學(xué)報,2010,(4):99-101.
[3]胡雪蕾,孫明明,孫廷凱,陸建峰.研究生“機器學(xué)習(xí)”課程教學(xué)改革實踐與探討[J].煤炭高等教育,2012,(1):118-121.
關(guān)鍵詞:操作系統(tǒng);實驗教學(xué);教學(xué)質(zhì)量;應(yīng)用型本科
1操作系統(tǒng)實驗教學(xué)的重要性
“操作系統(tǒng)”課程是計算機科學(xué)與技術(shù)專業(yè)必修的一門專業(yè)基礎(chǔ)課,本課程的學(xué)習(xí)目的是讓學(xué)生掌握操作系統(tǒng)的基本概念、基本原理、設(shè)計方法和實現(xiàn)技術(shù)[1-2],為今后在相關(guān)領(lǐng)域的工作打下堅實基礎(chǔ)。
實驗教學(xué)是“操作系統(tǒng)”課程必不可少的環(huán)節(jié),我們不僅要設(shè)置實驗,而且還要重視實驗,使其很好地輔助課堂教學(xué)。實驗教學(xué)的質(zhì)量直接影響學(xué)生的就業(yè)機會和工程實踐能力[3]。德國教育家第斯多惠曾經(jīng)說過:“教學(xué)的藝術(shù)不在于傳授的本領(lǐng),而在于激勵、喚醒和鼓舞?!倍鴮嶒灲虒W(xué)的重點就是培養(yǎng)學(xué)生的好奇心和求知欲,幫助學(xué)生自主學(xué)習(xí)、獨立思考,鼓勵學(xué)生發(fā)現(xiàn)問題、提出問題,并通過實驗過程找到解決問題的方法和途徑。
2現(xiàn)狀與存在的問題
操作系統(tǒng)實驗教學(xué)的重要性使我們有足夠的理由要教好這門課,但是在實際的實驗教學(xué)活動中,學(xué)生要真正完成好操作系統(tǒng)的實驗內(nèi)容卻并不是十分容易的事情。下面從專業(yè)培養(yǎng)方案的定位、前導(dǎo)課程
影響、選用操作系統(tǒng)以及實驗教學(xué)質(zhì)量監(jiān)控等方面進行分析。
2.1應(yīng)用型本科計算機專業(yè)培養(yǎng)方案的定位
長期以來,我國計算機專業(yè)教育帶有濃厚的計算機系統(tǒng)研究型人才培養(yǎng)色彩,與應(yīng)用型本科人才培養(yǎng)目標(biāo)的“理論夠用,注重實踐”的特點不太相符。國家教育部強調(diào)對不同院校不同層次的學(xué)生要采取分類指導(dǎo)的原則,應(yīng)用型本科計算機類學(xué)生的培養(yǎng)目標(biāo)是培養(yǎng)既懂得計算機專業(yè)的理論知識,又掌握計算機應(yīng)用技能的高級應(yīng)用人才。對此問題的研究,我們課程組在文獻[4-5]中已進行過論述,特別需要說明的是我們課程組負(fù)責(zé)人范輝教授參加了由教育部教學(xué)指導(dǎo)委員會組織的全國高校操作系統(tǒng)課程研究與資源建設(shè)項目,并在其中承擔(dān)了應(yīng)用型本科操作系統(tǒng)課程的部分研究與建設(shè)工作,使我校的應(yīng)用型本科操作系統(tǒng)的課程建設(shè)起到了很好的示范作用。
2.2前導(dǎo)課程的影響
“操作系統(tǒng)”的前導(dǎo)課程有“程序設(shè)計語言”、“數(shù)據(jù)結(jié)構(gòu)”、“計算機組成原理”和“匯編語言”等,它的后續(xù)課程包括“計算機網(wǎng)絡(luò)”、“數(shù)據(jù)庫原理”和“編譯原理”等計算機學(xué)科的重要課程,如圖1
作者簡介:孫述和(1966-),男,山東煙臺人,副教授,碩士,研究方向為計算機應(yīng)用、圖像處理;謝青松(1965-),男,副教授,碩士,研究方向為算法分析與設(shè)計、信息安全技術(shù);董付國(1977-),男,山東聊城人,講師,碩士,研究方向為數(shù)字圖像處理、信息安全;杜萍(1981-),女,山東青島人,講師,碩士,研究方向為基于角色的訪問控制。
所示。大部分學(xué)生在學(xué)任何一門課之初都比較認(rèn)真,主觀上有較強烈的學(xué)好這門課的愿望,但是隨著課程的日益深入,課程特征不斷顯露,特別是“操作系統(tǒng)”這門課本身的理論性較強且實驗內(nèi)容對前導(dǎo)課的依賴性很大,從而打擊了一部分學(xué)生的學(xué)習(xí)熱情,甚至有一部分學(xué)生因前導(dǎo)課程學(xué)習(xí)較差而放棄了操作系統(tǒng)實驗作業(yè)的完成,從而影響了課堂學(xué)習(xí)甚至包括后續(xù)課程的學(xué)習(xí)。
圖1 “操作系統(tǒng)”的前導(dǎo)與后續(xù)課程
2.3選用的實驗操作系統(tǒng)
由于操作系統(tǒng)課程本身的原因,使得操作系統(tǒng)實驗環(huán)境較難選擇。大部分教材以Unix系統(tǒng)為實例,而Unix的安裝成本又較貴,不太適宜用于學(xué)生實驗。而傳統(tǒng)的Windows操作系統(tǒng)的大部分源代碼未公開,具有一定的局限性和不透明性。所以,我們選用Linux作為主要的實驗操作系統(tǒng)。但是,由于大部分學(xué)生之前都沒有接觸過Linux,并且還都非常熟悉Windows系統(tǒng),思維定勢難免會給Linux的認(rèn)識與學(xué)習(xí)帶來一定的難度。
2.4實驗教學(xué)質(zhì)量監(jiān)控
從目前的實驗教學(xué)情況來看,各個學(xué)校對評價工作都較為重視,但存在著只重結(jié)果而忽視過程以及考核方式不科學(xué)等問題。由于當(dāng)前互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,網(wǎng)絡(luò)資源不斷豐富,在實驗過程中,學(xué)生的實驗報告或設(shè)計代碼部分存在抄襲現(xiàn)象,這部分學(xué)生雖然提交了實驗報告,成績也不錯,但實際上,卻沒有掌握相關(guān)的知識。如何在實驗過程中進行教學(xué)質(zhì)量監(jiān)控,合理利用網(wǎng)絡(luò)資源,避免抄襲,使學(xué)生能夠既掌握知識又鍛煉能力,這為我們的實驗教學(xué)提出了新的難題。
3提高實驗教學(xué)質(zhì)量的對策與方法
筆者結(jié)合自己近幾年的教學(xué)實踐,就“操作系統(tǒng)”課程實驗教學(xué)中遇到的上述問題,從以下3個方面談?wù)勛约旱捏w會。
3.1化難為易,從主觀和客觀兩方面進行引導(dǎo)
(1) 在學(xué)習(xí)的主動性方面,潛移默化地消除學(xué)生的畏難情緒。
① 在第一節(jié)實驗課上多下功夫。通過實例告訴學(xué)生操作系統(tǒng)實驗學(xué)習(xí)在現(xiàn)在的學(xué)習(xí)和今后工作中的重要性,使學(xué)生從純粹學(xué)好課程的想法變?yōu)橛心康男缘膶W(xué)習(xí)。例如,從考研和就業(yè)的角度,強調(diào)編程能力和動手能力的重要性,并結(jié)合前導(dǎo)課程如“高級程序設(shè)計”中的線程等相關(guān)內(nèi)容加以說明。
② 結(jié)合教師和前面學(xué)生的經(jīng)驗,介紹操作系統(tǒng)實驗學(xué)習(xí)的方法和特征,以及可能遇到的困難,讓學(xué)生針對自身的學(xué)習(xí)情況,提前準(zhǔn)備和查閱前導(dǎo)課程的相關(guān)內(nèi)容,做到心中有數(shù)。同時,把一些好的學(xué)習(xí)技巧傳授給學(xué)生,讓學(xué)生知道怎么學(xué)、怎么做。
③ 在后面的實驗課上,單純地強調(diào)操作系統(tǒng)實驗內(nèi)容重要性的意義已經(jīng)不大,教師應(yīng)在每一次布置實驗作業(yè)的時候,有意識的從應(yīng)用及工程實踐角度,用案例的方式對實驗內(nèi)容加以多角度描述,從而使學(xué)生明確實驗?zāi)康牟⒓ぐl(fā)學(xué)習(xí)興趣。
(2) 在客觀上,化難為易,有針對性地解決學(xué)生的學(xué)習(xí)難題。
① 分層次設(shè)計實驗要求,如表1所示將學(xué)生粗略分為高中低3個層次。
表1學(xué)生層次分類
層次前導(dǎo)課程
掌握情況學(xué)習(xí)興趣與
學(xué)習(xí)目的人數(shù)
第一層次基礎(chǔ)知識
非常扎實學(xué)習(xí)興趣非常強烈一小部分
(
第二層次基礎(chǔ)知識穩(wěn)固學(xué)習(xí)目的明確絕大部分
(>80%)
第三層次基礎(chǔ)知識較差學(xué)習(xí)興趣不高一小部分
(
對不同層次學(xué)生,有針對性地分析并提出解決方案,以幫助他們提高,如表2所示。
表2按層次設(shè)計實驗要求
層次針對性分析及解決方案
第一層次多加鼓勵及肯定,并結(jié)合其興趣點推薦學(xué)習(xí)資料,引導(dǎo)自學(xué),可在后面的團隊實驗任務(wù)中委以重任。
第二層次按照既定的實驗要求和目的進行實驗安排。
第三層次放棄部分選做實驗,適量延長必做實驗的學(xué)時,以彌補前導(dǎo)課程的不足并強化必做實驗。
② 提供參考程序,幫助學(xué)生快速入門。這個方法主要是針對第三層次和第二層次的一小部分前導(dǎo)課程學(xué)習(xí)效果不好的學(xué)生而言的。我們以實驗“進程調(diào)度模擬程序設(shè)計”為例進行說明。
例1:進程調(diào)度模擬程序設(shè)計
實驗?zāi)康?加深對進程概念和進程調(diào)度算法的理解。
實驗內(nèi)容:(a)給出進程調(diào)度的動態(tài)優(yōu)先級和時間片輪轉(zhuǎn)調(diào)度算法描述;
(b) 用C語言設(shè)計一個對n個并發(fā)進程進行調(diào)度的程序,每個進程由一個進程控制塊結(jié)構(gòu)表示;
(c) 調(diào)度程序應(yīng)當(dāng)包含兩種不同的調(diào)度算法,運行時可以任選一種,以利于分析和比較;
(d) 程序應(yīng)能顯示或打印各種進程狀態(tài)和參數(shù)變化情況,便于觀察。
實驗參考方案:對于這個實驗,首先要明確實驗?zāi)康氖峭ㄟ^編程加深對進程概念和算法的理解,對算法的理解是重點,而非編程本身。我們給編程確實有困難的學(xué)生,提供一個實驗參考框架,并在此基礎(chǔ)上基本實現(xiàn)動態(tài)優(yōu)先算法,只留下一些涉及到該算法核心思想的代碼讓學(xué)生自己填空,最后重點考察學(xué)生在此框架基礎(chǔ)上自己編寫的時間片輪轉(zhuǎn)調(diào)度算法的實現(xiàn)。當(dāng)然,對于絕大部分基礎(chǔ)較好的學(xué)生,我們還是建議程序框架也要自己搭建。
③ 我們還可以多鼓勵學(xué)生充分合理利用網(wǎng)絡(luò)資源,如果有某些疑問或未解決的問題可以自己到網(wǎng)絡(luò)上尋找答案或到一些論壇上參與討論,增加自己學(xué)習(xí)和豐富操作系統(tǒng)知識的途徑。
3.2由淺入深,多角度多層次學(xué)習(xí)掌握Linux系統(tǒng)
我們選擇Linux做為實驗操作系統(tǒng),由于大部分學(xué)生之前都沒有接觸過它,所以做實驗時應(yīng)該從易到難,一步步的來操作,如圖2所示。
圖2Linux系統(tǒng)學(xué)習(xí)階段示意圖
我們的方法是首先熟悉Linux簡單操作的驗證性實驗,包括基本的應(yīng)用級實驗和系統(tǒng)管理級實驗。在這一階段,可以引導(dǎo)學(xué)生通過對熟悉的Windows操作系統(tǒng)的相關(guān)功能,對比學(xué)習(xí)Linux操作系統(tǒng)的功能,如表3所示。
表3操作系統(tǒng)驗證性實驗列表
序號實驗內(nèi)容LinuxWindows
1系統(tǒng)安裝√√
2系統(tǒng)的用戶接口和編程界面√√
3系統(tǒng)的界面認(rèn)識(窗口系統(tǒng)、文件管理和系統(tǒng)管理工具等)√√
4使用U盤√√
5屏蔽Windows桌面上的“回收站”√
6觀察注冊表內(nèi)容√
其次,在熟悉操作系統(tǒng)的基本操作與環(huán)境之后,進入設(shè)計性實驗階段,編程模擬實現(xiàn)操作系統(tǒng)的某些功能模塊,如表4所示。
表4Linux系統(tǒng)設(shè)計性實驗列表
序號實驗內(nèi)容(對應(yīng)算法或命令)必做選做
1進程調(diào)度模擬程序設(shè)計(動態(tài)優(yōu)先級算法、時間片輪轉(zhuǎn)調(diào)度算法)√
2頁面置換模擬程序設(shè)計(OPT、FIFO、LRU)√
3文件系統(tǒng)模擬設(shè)計(login、dir、read、open、close等)√
最后,進行實驗內(nèi)容難度較大,但很有意義,也很有意思的源代碼閱讀級實驗,這部分內(nèi)容建議學(xué)生分組協(xié)作完成。可選內(nèi)容有很多,例如進程創(chuàng)建、內(nèi)存分配、系統(tǒng)安全性、磁盤驅(qū)動、文件的讀或?qū)?、虛擬文件系統(tǒng)、idle進程等,每組學(xué)生可自主選題,最后的實驗報告,由團隊統(tǒng)一提交。表5所示是我們2008~2009年度第二學(xué)期學(xué)生源代碼閱讀級實驗分組情況匯總。
表5源代碼閱讀級實驗分組情況列表
序號實驗內(nèi)容是否團隊人數(shù)/組
1進程創(chuàng)建√9
2內(nèi)存分配√10
3文件的讀或?qū)憽?
4虛擬文件系統(tǒng)√10
5網(wǎng)絡(luò)傳輸√10
6設(shè)備管理√10
3.3改進考核方式,加強實驗教學(xué)質(zhì)量的監(jiān)控
要加強實驗教學(xué)質(zhì)量監(jiān)控,保證操作系統(tǒng)課程的教學(xué)質(zhì)量,我們對傳統(tǒng)的只提交實驗報告的實驗考核方法從如下幾個方面進行了改革與實踐:
(1) 提高實驗成績在最終課程成績中所占比例(如圖3所示),引導(dǎo)學(xué)生重視實驗教學(xué)。
圖3 提高實驗成績比例示意圖
(2) 對設(shè)計性實驗和綜合性實驗的成績評定,應(yīng)
在實驗報告的基礎(chǔ)上,綜合多種形式進行考核量化。我們的方法是在實驗過程中,不定時抽查部分學(xué)生的程序,并有針對性的提問和討論,保證一學(xué)期每個學(xué)生至少有一次提問的機會,按回答情況進行打分。團隊形式的綜合性實驗還要求組長提交任務(wù)分配情況以及個人完成情況,將協(xié)作能力、資料分析能力等納入考核指標(biāo)。
4結(jié)束語
我?!安僮飨到y(tǒng)”(應(yīng)用型本科)從2004年被評為“校級精品課程”和2006年被評為“山東省省級精品課程”以來,在更新教學(xué)與實驗內(nèi)容、加強教學(xué)梯隊建設(shè)與教材建設(shè)、改進教學(xué)方法和教學(xué)手段、加強素質(zhì)教育、培養(yǎng)創(chuàng)新人才等方面不斷進行探索與實踐,已開始顯現(xiàn)初步成效。近年來,我校計算機專業(yè)學(xué)生在山東省軟件設(shè)計大賽、學(xué)生科研立項、考研錄取率、畢業(yè)生就業(yè)率等諸多方面的成績穩(wěn)步攀升。總之,要讓學(xué)生學(xué)好“操作系統(tǒng)”、做好操作系統(tǒng)實驗、提高人才培養(yǎng)質(zhì)量,還需要我們不斷在教學(xué)實踐中加以發(fā)現(xiàn)和總結(jié)。我們將不斷努力,逐步完善操作系統(tǒng)實驗教學(xué)體系,在改革中探索、提高,培養(yǎng)出更多適應(yīng)社會需要的應(yīng)用型人才。
參考文獻:
[1] 謝青松,范輝. 操作系統(tǒng)課程教學(xué)之我見[J]. 計算機教育,2004(9):75.
[2] 王國華.《操作系統(tǒng)》實驗課程的設(shè)置與實踐[J]. 山西財經(jīng)大學(xué)學(xué)報:高等教育版,2006(4):108.
[3] 郭觀七,周細(xì)義,張舸. 應(yīng)用型本科計算機專業(yè)實踐教學(xué)改革探索[J]. 計算機教育,2009(12):85-87.
關(guān)鍵詞:C語言;程序設(shè)計;工程實踐;教學(xué)改革
中圖分類號:G642.4;TB-4
C語言以其限制少、使用方便靈活、功能強、直接操縱硬件等諸多優(yōu)點贏得眾多程序設(shè)計人員的喜愛,它是程序設(shè)計的主要工具之一[1-2],是計算機及相關(guān)專業(yè)程序設(shè)計的基礎(chǔ)課程,也是大部分學(xué)生學(xué)習(xí)程序設(shè)計的第一門課程。由于初學(xué)者缺乏計算機基礎(chǔ)知識,同時由于初次接觸程序設(shè)計,許多學(xué)生對類英文的C程序能實現(xiàn)特定的功能感到不可思議。學(xué)習(xí)過程中,C語言具有抽象、邏輯性強、使用靈活等特點[2-4],容易使得學(xué)生感覺這門課程枯燥無味,找不到編程的感覺,學(xué)生不能體會到它的實用性、藝術(shù)性,從而喪失對該課程學(xué)習(xí)的積極性,且遇到難以解決的編程問題(如:語法問題、編譯問題、邏輯問題等)容易放棄。
同時,C語言作為一門實踐性很強的課程,實踐能力的培養(yǎng)是學(xué)好C語言的關(guān)鍵環(huán)節(jié),而傳統(tǒng)的方法只注重C語言語法知識(理論講解)和基本案列的講解的,上課時盡管學(xué)生聽懂教師所講解內(nèi)容,但下課實踐時對題目產(chǎn)生無法下手的感覺。因此,為了改善C語言教學(xué)效果和培養(yǎng)學(xué)生的工程實踐能力,需要對現(xiàn)有的C語言教學(xué)進行改革,以符合C語言是人操作計算機的一個工具的特征。
1 明確教學(xué)目的
C語言的教學(xué)中,絕大多數(shù)教師認(rèn)為C語言程序設(shè)計終極目的就是培養(yǎng)學(xué)生的編程能力。這種認(rèn)知存在很大的偏差。使用計算機完成人們預(yù)先給定的任務(wù),必須告訴計算機“做什么”以及“怎樣做”(計算機其實是很“笨”的);反之,計算機完成任務(wù)時,要將計算得到的結(jié)果反饋給用戶,因此,就產(chǎn)生了計算機和人之間通信的問題。人機通信需要信息的載體,這種信息的載體既要被計算機“理解”,也要被人所理解,而“語言”是最好的人機通信的工具。自然語言存在詞匯量大、語法復(fù)雜、語義常出現(xiàn)二義性、語義的理解依賴上下文、以及某些語義不能用符號描述等問題,因而不能作為人機通信工具。這樣一來,迫使人們不得不設(shè)計出詞匯量較小、語法簡單、語義明確的并且適用于計算機描述的語言,這樣的語言稱為“程序設(shè)計語言”(或人工語言)。人工語言有很多,如PASCAL、FORTRAN等,而C語言只是其中的一種人工語言(人工語言的本質(zhì)是人機通信工具)。因此,從這個角度看,C語言教學(xué)目的重點不在C語言語法本身,而在于培養(yǎng)學(xué)生利用計算機這個工具為人類服務(wù)的工程實踐能力,在這個大目的下,最重要的是培養(yǎng)學(xué)生利用計算機這種特殊的工具分析問題、解決問題、并最終將分析問題所得求解問題的精確步驟(即算法)用C語言的語法設(shè)計的程序進行驗證的工程實踐能力的培養(yǎng)。
2 教學(xué)內(nèi)容改革
程序設(shè)計是一種具有創(chuàng)造性的工作,程序設(shè)計具有一定的抽象性,它用數(shù)學(xué)的方法去描述一些問題[5]。因此,在C語言課程教學(xué)中,必須打破舊有的教學(xué)模式和知識體系,從以前注重C語言語法知識(理論講解)和基本案例的講解的,轉(zhuǎn)變?yōu)樽⒅啬芰Φ呐囵B(yǎng),在教學(xué)的過程中不能單單滿足于授予學(xué)生多少知識內(nèi)容,而是要加強學(xué)生獨立分析問題、解決問題能力的培養(yǎng)。教學(xué)中,在對每個案列講解時都必須做如下的分析:首先分析程序?qū)⑻幚淼臄?shù)據(jù)以及處理之后的結(jié)果是什么:即哪些是給定的數(shù)據(jù)(顯式/隱式,隱式數(shù)據(jù)必須充分分析給定案列才能得到)、哪些是需要輸入的數(shù)據(jù)(包含數(shù)據(jù)的基本類型)、程序有無輸出?若有,哪些需要輸出。其次,確定求解問題的難點和關(guān)鍵點,對難點和關(guān)鍵點進行重點分析,分解到難點和關(guān)鍵點前一步需要做什么,中間過程做什么,最后做什么?當(dāng)分析、難點和關(guān)鍵點問題解決后,就可給出解題思路,形成算法,直至最后代碼的編寫。
其次,是抽象能力的培養(yǎng)。將程序中出現(xiàn)的某些數(shù)據(jù)進行抽象,找出數(shù)據(jù)之間的相互關(guān)系,得到問題求解的一般化過程處理方法。
下面以求:1+2+…+100為例,給出分析問題、問題抽象等的過程。
第一步:分析,首先分析問題的功能:求和;再次分析問題的輸入輸出,輸入:無;輸出:1-100數(shù)之和。
第二步:重點分析如何求和?
解決方法:采用小學(xué)生初次拿到該題目時的做法,是多數(shù)學(xué)生能想到的辦法(也是一種“笨”方法,而這種“笨”方法又特別適合找出問題求解的一般規(guī)律,特別適合用程序代碼實現(xiàn)),具體過程如表1所示。
表1 求和問題過程描述
問題抽象:在表1所列步驟中,第1步加2,第2步加3,…,第99步加100,可看出其規(guī)律為:被加數(shù)是次數(shù)+1;其次:每次和的結(jié)果為:上一次的和+被加數(shù),因此,根據(jù)C語言賦值語句特點,將上面得到的結(jié)論抽象為:和=和+被加數(shù)(這里的“=”是C語言中的賦值符號)。
變量的定義:大多數(shù)學(xué)生對一個程序中到底需要多少個變量很迷茫,一種簡單有效的原則:需要變量時在變量定義部分增加即可;同時確定每個變量在整個程序設(shè)計中扮演的角色(一個變量可能扮演多個角色)。根據(jù)上面的分析,該程序所需的變量個數(shù)為2個:一個是次數(shù)(該變量還承擔(dān)被加數(shù)的角色);一個是和值變量(承擔(dān)中間結(jié)果、最終結(jié)果這2個角色)。
初始狀況:和的初始情況:認(rèn)為第1步之前還做了一步求和的操作,按照問題抽象步驟可寫:和=和+被加數(shù)的形式,因此可得到:和+1=1,這個和就是和變量的初始情況,其值為0;其次:做的次數(shù)是從1開始,因此:次數(shù)的初始值為1。
結(jié)束和循環(huán)條件:最后被加的那個數(shù)是100,前面的被加數(shù)均小于100,因此結(jié)束條件就是被加數(shù)大于100,從而根據(jù)結(jié)束條件確定循環(huán)條件為被加數(shù)≤100。
算法描述:通過上面的分析很容易給出該問題的求解過程:初始化和及被加數(shù)的值、當(dāng)被加數(shù)小等于100時不停求和及改變被加數(shù)、最后輸出結(jié)果。
至此,很容易根據(jù)C語言的語法編寫出相應(yīng)的程序代碼了。當(dāng)學(xué)生對問題分析能力得到培養(yǎng)和鍛煉后,面對更復(fù)雜的問題就能找解決問題的方法和切入點,而不至于拿到存在問題無法下手的感覺。
3 教學(xué)模式的改革
教學(xué)改革:一般的C語言教學(xué)中,都是語法規(guī)則的講解,然后是例子講解,最后是工程實踐。到最后,語法規(guī)則講完課程也結(jié)束了。這種教學(xué)固然嚴(yán)謹(jǐn),但存在一些問題:一是方式比較枯燥,學(xué)生比較容易失去興趣;二是容易學(xué)生上課聽懂,下課實踐時對題目無法下手的感覺。三是容易導(dǎo)致學(xué)生產(chǎn)生這樣的誤解,學(xué)習(xí)語法知識是為寫程序而學(xué),不是為解決問題學(xué)。因此面對實際問題就無從下手,不知所措。四是容易讓產(chǎn)生惡性循環(huán)影響,使得教師在后續(xù)程序設(shè)計課程(如VC++、Java、C#等),仍然采用這樣的方式、方法去講解,使得學(xué)生始終不能用掌握到的編程工具解決實際工程項目問題。因此,改變傳統(tǒng)的教學(xué)模式,直接在實驗室進行教學(xué),采用邊教學(xué)邊讓學(xué)生親自動手實踐體會各個知識點;其次,改變傳統(tǒng)教學(xué)中只關(guān)注正確格式的書寫,采用正確格式+錯誤格式教學(xué)模式,教學(xué)過程中有意在程序代碼中寫成錯誤的格式或使用學(xué)生錯誤的程序代碼進行教學(xué),教學(xué)效果比全部使用正確代碼教學(xué)的效果好許多。
考核改革:改變期末“筆試”這種單一的、“一考定終身”式的考核方式,重視對學(xué)生學(xué)習(xí)過程和工程實踐能力的考核。變單一考核為復(fù)合考核,從多個方面對學(xué)生進行考核。改變課程總成績構(gòu)成,由平時成績、實踐(實驗)成績、階段考核3個部分構(gòu)成,每部分所占的比例為:25%、35%、40%。平時成績考核包括出勤、隨堂實訓(xùn)、課堂提問、作業(yè)等的考核。實踐(實驗)成績針對課程的實驗進行考核,要求每個實驗均要提交實驗報告;階段考核將學(xué)習(xí)的內(nèi)容分為5個模塊(基礎(chǔ)語法知識、程序設(shè)計結(jié)構(gòu)、數(shù)組及自定義數(shù)據(jù)、函數(shù)和指針、文件操作),每個模塊教學(xué)結(jié)束就分段考試,不再組織期末考試。
實踐改革:C語言作為一門實踐性很強的課程,實踐能力的培養(yǎng)是學(xué)好C語言的關(guān)鍵環(huán)節(jié)。大實驗+小實驗方式,大實驗根據(jù)需要設(shè)計3-5個;每次實驗需要學(xué)生編寫一個實踐報告,報告的主要內(nèi)容包括:算法或關(guān)鍵技術(shù)介紹、實驗代碼、實驗過程(包括:編譯過程中的代碼出錯、原因分析及修改;多組測試數(shù)據(jù)及對應(yīng)的測試結(jié)果)、算法的改進、程序的實現(xiàn)、體會及編程心得(含多種方法實現(xiàn)該算法以及對算法執(zhí)行時間進行改進等)。通過實踐報告的撰寫,進一步熟悉C語言的語法知識,深入了解該算法,培養(yǎng)高效、精煉的編程風(fēng)格。
4 結(jié)論
本文針對C語言教學(xué)中存在的問題,分析了C語言的本質(zhì),并從教學(xué)目的的明確、教學(xué)內(nèi)容、教學(xué)地點和方式、實踐環(huán)節(jié)進行改革,以適應(yīng)C語言一種人機通信工具本質(zhì)。著重培養(yǎng)學(xué)生利用計算機這個工具為人類服務(wù)的工程實踐能力,即:培養(yǎng)學(xué)生利用計算機這種特殊的工具分析問題、解決問題、并最終將分析問題所得求解問題的精確步驟用C語言的語法設(shè)計的程序進行驗證的工程實踐能力的培養(yǎng)。
參考文獻:
[1]譚浩強.C程序設(shè)計(第四版)[M].北京:清華大學(xué)出版社,2012.
[2]Kernighan B W, Ritchie D M. The C Programming Language(2nd Edition)[M].Prentice Hall,2001.
[3]Peter Rinz,Tony Crawford.C:In a Nutshell[M].Reilly Media,2006.
[4]Donald E. Knuth. The Art of Computer Programming[M].Addison-Wesley,2002.
[5]雷學(xué)生,胡多.C語言程序設(shè)計教學(xué)方法探討[J].計算機教育,2007(6):41-43.
作者簡介:陳慶利(1975-),男,四川眉山人,副教授,博士,研究方向:數(shù)字圖像處理。
數(shù)字貿(mào)易論文 數(shù)字素養(yǎng)教育 數(shù)字化教育 數(shù)字仿真技術(shù) 數(shù)字科技技術(shù) 數(shù)字貨幣論文 數(shù)字營銷論文 數(shù)字技術(shù)論文 數(shù)字媒體論文 數(shù)字化智慧監(jiān)管 紀(jì)律教育問題 新時代教育價值觀