楊澤平,文欣秀,萬 鋒,趙 敏,劉 江,王占全
(華東理工大學 信息科學與工程學院,上海 200237)
隨著計算機應用和網絡的普及,傳統的實驗教學方法越發凸顯其局限性,主要體現在以下幾個方面。
(1) 傳統的實驗教學內容過于刻板,不利于學生創新思維的培養。傳統的實驗教學方法以教師的實驗教案為主,教師的實驗教案過于詳細,甚至于用什么方法、怎么做都一一告知學生,學生按照教師既定的思路做實驗,最終提交的實驗報告千篇一律。這種做法顯然不能激起學生的興趣,也不利于對學生創新思維的培養。
(2) 傳統的實驗教學形式過于單一,不利于學生協作能力的培養。傳統的實驗教學方法通常都是以一個學生或者一組學生為單位,學生之間的討論很有限,不能將學生的長處發揮到最好,不利于學生協作能力的培養。
(3) 傳統的實驗教學多以理論驗證為主,工程實驗力度不夠,不利于學生動手能力的培養。學生畢業后還需要很長一段時間(甚至重新培訓)來適應現實社會中的工作。
計算思維作為一種運用計算機科學基礎概念求解問題的思維方式[1],一經提出便引起了很多學者的關注,將計算思維引入實驗教學,有利于打破傳統實驗教學方法的局限,培養學生良好的思考、解決問題的習慣。目前,高校已經在C程序設計[2-3]、離散數學[4]、人工智能[5]、計算機組成原理[6]等計算機專業核心課程的教學中加強了計算思維能力的培養。如何將計算思維的理念引入到更多學科的實驗教學方法中,是當今研究的熱點,也是傳統實驗教學方法改革的方向[7-8]。數字圖像處理這門課是高等院校信息、計算機、控制和通信等相關專業的核心課程,也是很多專業的選修課程。本文以數字圖像處理課程為例,介紹如何將計算思維引入該課程的實驗教學方法中[9]。
計算思維是美國卡內基·梅隆大學的周以真教授于2006年在《Communications of the ACM》雜志上提出的。他認為“計算思維是運用計算機科學的基礎概念來求解問題、設計系統以及理解人類行為等涵蓋計算機科學之廣度的一系列思維活動[1]”。這一思想顛覆了長久以來人們對計算機科學的理解。以往人們認為計算機基礎課程就是教授一些計算機工具及其使用方法,認為計算機科學就是計算機編程,這些看法都是非常狹隘和短視的[10]。計算思維概念的提出,直接影響了對計算機科學類的課程改革[11],只有足夠的重視,才能在今后的教學實踐中獲得較好的成效。
計算思維不僅屬于計算機科學家,它是一種人的基本技能,和閱讀、寫作、算術一樣[6]。但計算思維不是計算機思維,而是像計算機科學家那樣思考,是人類一種求解問題的思維方式[12]。計算思維有3個主要特點。
(1) 它是遞歸、啟發式、并行等計算機科學思維方法的融合。對于問題的求解,計算機科學家經過長期的實踐總結出了一系列的方法:采用遞歸的思想,可以把較大的復雜的問題變為與原問題相似的較小的、較簡單問題,減少重復計算;采用并行處理的思想,大大縮短了復雜問題的求解時間;采用啟發式、聯想式、逆向思維等,可以在不確定情況下學習和求解問題。計算思維正是將這些思想方法融合在一起,形成了“像計算機科學家那樣思考”解決問題的獨特方式。
(2) 基于關注點分離(separation of concerns, SOC)方法[13]的融入。計算思維在設計復雜系統時,采用了抽象和分解的思想,選擇合適的形式(比如形式化描述語言)對問題進行建模,使參與求解問題的各種專業人才不必了解具體復雜系統中的每一個細節,從而更有利于協作處理問題。
(3) 將數學思維和工程思維有效地結合在一起。計算思維不僅僅是數學思維,還融合了工程思維;計算機科學家所求解的問題受制于硬件設備的限制,所實現的系統是應用于現實生活中的。
培養學生的計算思維能力對于高等院校的教育是很重要的,如何將計算思維貫穿到具體的實驗教學中去,是當前亟需解決的問題。
數字圖像處理這門課程理論性比較強,數學的推理比較縝密,相對于其他課程來講,公式比較繁雜,但這門課同時也要求學生對方法進行實踐。所以說,這門課是對理論和實踐綜合要求比較高的一門課。這門課不僅面向計算機專業,還面向通信、醫學、藝術等多個專業。在實驗教學中如何加強計算思維的培養,是當前改革實驗教學方法需要考慮的問題。
傳統的實驗教學內容過于刻板,不利于學生創新思維的培養。如果將傳統的實驗教學內容更加泛化,不指定方法,不指定實驗步驟,僅給出參照步驟和引導的方法,將有利于學生自主學習和創新能力、計算思維的培養。對于很多依賴于實踐證明的課程來講,隨著技術的進步,目前認為最好的方法經過一段時間以后就不再是最優的方法了。為了不讓學生的思維固化在現有的方法中,就必然要對現有的實驗教學內容進行改革。
就彩色圖像的灰度化這一實驗,教師在指導實驗的時候,僅給出彩色圖像灰度化的概念,不限定學生使用哪種灰度化方法,而是讓學生自己查閱資料,按照自己的思路設計實驗方法。例如,學生可以用最大值法、平均值法或者加權平均法進行實驗驗證,然后進行討論并寫出實驗報告,最后由教師根據學生的實驗報告來總結各種方法的優劣。該實驗流程如圖1所示。

圖1 實驗流程
圖像增強也有很多方法,這些方法有些是基于點操作的,有些是基于鄰域操作的。只有讓學生自己查閱資料、分組討論、親身實踐,才能真正理解這些方法的原理,并在討論和實踐中產生新的想法。
在圖像的幾何變換這一教學內容中,對于圖像平移問題,正向的思維是判斷平移后新圖像中的像素點是否還在區域內。這種方法判斷起來相對比較繁瑣,而逆向的思維是判斷平移后新圖像中的像素點對應平移前舊圖像中的像素點是否超出了范圍。這種方法判斷起來相對比較容易。這樣的思維很重要,培養學生良好的思維方式比得到好的既定方案的實驗結果更重要。學生的思維是很活躍的,教師需要加以引導,既不要管得太多,又不要完全放手。一個好的實驗教學內容應該在“管”和“放”之間做到平衡。
由于數字圖像處理課程要面向多個專業和不同教育階段的學生,實驗教學的內容和方法應該多樣化并有所側重。由于該課程的內容比較多,涉及模式識別、多媒體技術等多項技術的綜合和交叉,對不同專業和不同教育階段的學生,應該開設不同層次的實驗。
關注點分離作為計算思維的核心思想之一,是一種處理復雜問題的方法,其實質是采用抽象和分解的方法來設計復雜系統,融合了“分而治之”、“整體與局部”的程序思想。將這種思想引入實驗教學體系中,有助于培養不同層次、不同專業學生的計算思維能力及創新能力。
以培養計算思維能力為主線,模塊化、主題化、層次化的數字圖像處理課程實驗教學體系應分為4個方面:核心型主題實驗、擴展型主題實驗、工程型主題實驗和創新型主題實驗。
(1) 核心型主題實驗主要是學習數字圖像處理課程的基礎理論和方法,例如圖像的顯示、圖像的灰度變換、圖像直方圖均衡化處理、圖像的平滑和銳化處理等基本實驗內容。核心型主題實驗面向不同專業和不同教育階段的學生,可以有不同的課時設置,例如面向本科生可以安排較多的實驗時間,而對于已經有圖像處理基礎的研究生,只需安排較少的實驗時間來鞏固知識即可。
(2) 擴展型主題實驗主要針對不同專業開展不同的主題實驗,不同層次和不同專業將有所區分。例如計算機專業的學生在已學過的多媒體技術課程中已經基本掌握了圖像壓縮的知識,光電類專業的學生已經基本掌握了傅里葉變換的知識[14],那么可以將圖像壓縮和圖像傅里葉變換設置為不同的擴展型主題實驗;工程類專業側重于圖像處理方法的實現等主題類實驗;理論型的專業側重于圖像濾波器設計等主題類的實驗。研究生可以將這些主題繼續深化,可以在方法設計上加入最新技術,比如在圖像增強方面關于濾波算法還有更進一步的研究空間。
(3) 工程型主題實驗偏向于工程類專業,要求學生自行組成團隊對一些實際生活中需要解決的問題(例如車牌的自動識別、監控視頻識別等)進行求解。這類問題相對比較復雜,而且涵蓋了圖像分割、變換、增強、形態學處理、識別等圖像處理的大部分內容,可以由研究生為主、本科生協助完成。工程型主題實驗的目的是將所學知識應用于實際生活中,同時鍛煉學生的動手能力和溝通協作能力。
(4) 創新型主題實驗面向有興趣的學生而不限專業和層次,針對一些圖像處理的實際問題,將基礎知識和新技術相結合,自行組團設計方案、解決問題。這些實驗可以結合教師當前的一些科研項目以及校企之間合作項目來開展。
在培養學生的計算思維能力過程中,考核是很重要的一個環節。最常規的考核方式是通過實驗報告,通常在學生的實驗報告中會體現出學生解決問題的思路:提出問題、查閱文獻、設計方案、開展實驗和分析結果。但僅僅依賴于這種單一的考核方式是不夠的,要在平時的實驗活動中,考查學生是否能夠合理、高效地設計出算法并驗證,這是從計算思維角度出發的考核。如果在工程型和創新型主題實驗中能夠高效建模并實施,這是從工程思維角度出發的考核。因此,通過這兩種考核形式,能有效地促進學生計算思維能力的提高。
實驗教學作為高等院校重要的教學環節,對于學生動手能力及創新能力的培養發揮著很重要的作用。計算思維作為一種創新型人才必備的基本素質,必將在自然科學和社會經濟領域內轉變人們的思維模式[15]。將計算思維引入實驗教學方法中,有利于培養學生良好的分析問題和解決問題的習慣,為將來踏入社會奠定堅實的基礎。
[1] Wing J M. Computational Thinking[J]. Communications of the ACM, 2006, 49(3):33-35.
[2] 劉光蓉.以計算思維能力培養為導向的C程序設計實驗教學[J].實驗技術與管理,2013,30(1):154-156.
[3] 陳杰華,戴麗娟.以培養計算思維為核心的程序設計實驗教學[J].實驗技術與管理,2011,28(1):125-127.
[4] 常亮,徐周波,古天龍,等.離散數學教學中的計算思維培養[J].計算機教育,2011(14):90-94.
[5] 王甲海,印鑒.人工智能教學與計算思維培養[J].計算機教育,2010(19):68-70.
[6] 黃沛杰,徐東風,殷建軍.計算機組成原理實驗教學中的計算思維培養[J].計算機教育,2012(16):103-106.
[7] 耿國華.以計算思維為指導提升大學文科計算機教學質量[J].中國大學教學,2013(10):12-15.
[8] 傘穎.非計算機專業計算機公共基礎課程中計算思維體現的必要性[J].教育教學論壇,2013(28):160-162.
[9] 蔣偉,楊庭庭,劉亞威,等.數字圖像處理研究性實驗教學的改革與實踐[J].實驗技術與管理,2013,30(6):124-128.
[10] 陳國良,董榮勝.計算思維與大學計算機基礎教育[J].中國大學教學,2011(1):7-11.
[11] 王志強,劉芳芳.基于計算思維的計算機基礎課程改革研究[J].中國大學教學,2013(6):59-60.
[12] 董榮勝,古天龍.計算思維與計算機方法論[J].計算機科學,2009,36(1):1-4.
[13] 何明昕.關注點分離在計算思維和軟件工程中的方法論意義[J].計算機科學,2009,36(4):60-63.
[14] 馬衛紅,倪晉平,田會.“數字圖像處理”課程教學內容優化的探索和實踐[J].中國電力教育,2011(31):99-100.
[15] 牟琴,譚良.計算思維的研究及其進展[J].計算機科學,2011,38(3):10-15.