韋修喜 黃華娟
摘要:計算思維能力是高校創新人才應具備的基本素質,也是衡量高校教育水平的重要指標。本文以算法設計與分析課程為切入點,面向民族地區高校的計算機專業本科生,從理論和實踐兩個角度探索如何在教學過程中嵌入計算思維能力的培養,加強學生的創新與實踐能力,達到學以致用的目的。
關鍵詞:計算思維能力;算法設計與分析;創新;民族地區
0 引言
隨著信息技術的發展,算法設計與分析課程已經成為計算機科學技術中處于核心地位的一門專業基礎課。目前,大多數高校越來越重視算法課程的教學,將該門課程與數據結構課程分離,系統地介紹計算機算法的設計方法與分析技巧。同時,算法設計與分析又是一門年輕的學科,它還處在發展和探索中。算法學科的高速發展引起了學科教學知識體系的迅速變化,課程教學必須隨之調整和更新,舍去已失去活力的內容,引入新理論、新方法和新技術,才能順應學科發展的需求。
計算思維是當前國際計算機界廣為關注的一個重要概念[1],也是國內計算機教育界廣泛重視并開始研究的熱點問題[2-3]。目前在一些研究型大學中,已有許多專家和學者嘗試在一些計算機課程中引入計算思維的思想,開展探索性和實驗性的教學實踐,提高學生的計算思維能力和創新能力。
本文結合筆者在教學實踐中發現的問題,分析算法設計與分析和計算思維的內在聯系,討論在該門課程教學過程中如何開展有效的教學改革實踐,以達到培養學生具有計算思維能力和創新能力的目的。
1 民族地區高校算法設計與分析課程教學中存在的不足
(1)民族地區學生基礎相對薄弱,學習自覺性不夠高
由于教育資源的地域差距,民族地區的學生進入大學以后,普遍存在學習基礎薄弱,獨立思考與自學能力偏弱等問題,特別是邏輯思維、計算思維能力、推理能力方面偏弱。如在算法設計與分析課程的學習中,需要去理解程序運行、編寫的方法和思路,分析算法的優劣,這些內容往往需要反復講解幾遍,學生才能聽懂。同時民族地區的學生又相對缺乏良好的學習習慣,在課程學習過程中往往是被動學習,對于計算機課程中抽象的概念、原理及技術不愿深究理解,只是根據課本上的內容強記硬背,考試就寄希望于任課教師劃范圍、圈重點,及格就算完成任務。
(2)民族地區學生學習交流范圍窄,職業規劃不明確
少數民族學生可從外界獲取的信息量匱乏,從而也降低了學習興趣和信心,更談不上對未來的職業或學習生涯有所規劃。部分民族學生認為已學到的一些專業知識“沒有用”,不知道為什么要學習這些理論課程,學了以后對后繼的學業和今后的發展有什么意義,學習生活較迷茫,甚至消極,這將對教學質量和專業人才培養質量產生嚴重的影響。
2 “算法設計與分析”課程教學中計算思維的培養
2006年,美國卡內基.梅隆大學計算機科學系主任Jeannette M. Wing教授提出了計算思維的思想。該教授認為,計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。計算思維的概念一經提出,就引起了教育界學者們的廣泛關注。如何在教學實踐中培養學生的計算思維,一直是學者們
廣泛關注的焦點。2010年,教育部高等學校計算機科學與技術教學指導委員會編制的《高等學校計算機科學與技術專業人才專業能力構成與培養》中指出,計算思維能力是培養計算機專業人才的專業基本能力。并同時指出,針對計算機專業,計算思維能力主要包括問題及問題求解過程的符號表示、邏輯思維與抽象思維、形式化證明、建立模型和模型計算、利用計算機技術等。下面,我們將圍繞這個計算思維能力要求,探討如何在本科算法設計與分析的教學過程中培養學生的計算思維能力,進而培養學生的應用能力和創新能力。
算法設計與分析所涉及的領域非常廣泛,通常包括下面幾方面的內容:(1)迄今為止人們所設計的各種基本和經典的算法,如排序、搜索、圖的算法、組合算法和大量的數值計算算法。這一部分內容是入門基礎知識,如果學生學習不好本章內容,就會影響到他們學習本門課程的積極性。因此,對于這一章內容我們主要采用計算思維的抽象教學方法。在教授這一部分內容時,教師可以在授課前引導學生思考人類大腦的運作方式,然后在這紛雜的信息中概括和抽取出具有相同的內在特征,用統一的知識進行表示,并對未知的知識進行推理和搜索。這樣的教學方式讓學生學會從計算機技術的層面思考人腦思維方式的模型構建,通過層層思考、層層深入和層層解決問題的方式,使學生對這一部分內容有著更深層次的理解。
(2)關于算法分析和算法設計策略、可計算性理論和問題復雜性等方面的理論研究,如計算模型、NP 完全問題和問題復雜度下階等理論。這部分內容涉及到系統的構建和實現,所以這一部分內容我們主要采用計算思維的案例教學方法。教師可以根據教學內容的需要,通過設置具體的案例,引導學生參與分析、討論、構建模型和解決問題等活動,讓學生在具體情境中積極思考和主動探索,培養學生認識問題、分析問題和解決問題的能力。這種教學方式充分發揮了學生的學習主動性,調動了學生的學習積極性和自覺性。
(3)近年來在并行算法、隨機算法、近似算法、加密算法、智能優化算法、模式識別算法、神經網絡算法、遺傳算法以及其他算法領域方面的最新研究成果。在這一部分內容的教學中,我們主要采用計算思維的轉化教學方法。在教學中,首先,教師引導學生應用前面章節掌握的知識建立起算法的基本邏輯框架,通過計算機來實現算法原理的轉化。其次,教師可以指導學生研讀相關算法的源程序,進而讓學生逐步學會用計算機來實現算法,并使學生習慣利用數學建模的思想來解決具體的實際問題。實踐效果表明,這種方式有助于將學生的通常思維模式轉化為計算思維的模式。
3 結束語
算法設計與分析課程是一門非常重要的計算機專業課程,具有理論和實踐并重的特點,如何利用學生已有的知識和經驗,使其快速掌握一些經典算法的設計思想,進而能夠創造性地解決一些實際應用問題,是我們在教學中關注的重點。本文就算法設計與分析這門課程,面向民族地區高校的計算機專業本科生,從理論和實踐兩個角度探索如何在教學過程中嵌入計算思維能力的培養,加強學生的創新與實踐能力,使算法設計與分析的教學質量提高到新的水平。
參考文獻:
[1]陳杰華,戴麗娟. 以培養計算思維為核心的程序設計實驗教學[J]. 實驗技術與管理,2011,(13):182-183.
[2]石云,陳聲波.地方高校“計算機導論”算法思維培養的教學設計[J].教育教學論壇,2016,2(1):173-174.
[3]朱清新,楊帆,鐘黔川. 計算機算法設計與分析導論[M]. 北京:人民郵電出版社,2008:1-22.
作者簡介:韋修喜(1980-)男,廣西百色人,講師,碩士,主要從事人工智能理論教學與研究。