李偉湋
(南京航空航天大學 計算機科學與技術學院,江蘇 南京 210016)
《中共中央關于制定國民經濟和社會發展第十四個五年規劃和二〇三五年遠景目標的建議》提出堅持創新在我國現代化建設全局中的核心地位。人才是實現創新的基礎,習近平總書記在中央人才工作會議上明確指出:“深入實施新時代人才強國戰略。”
加快建成世界重要人才中心和創新高地,實現科技自立自強。研究型人才是實施人才強國戰略,建設創新型國家的戰略資源,這表明研究型教育人才培養的重要性。因此,培養當代大學生的科研素養是本科教育的重要任務,也是現代社會對高等人才培養質量的基本要求。
建設高等教育強國必須認識到本科教育是大學的主體和基礎,堅持以本為本,務必將本科教育放在高等教育的戰略位置,放在人才培養的核心位置,放在教育教學的基礎位置,放在新時代教育發展的前沿位置[1]。首先,在政策導向上,“雙一流”建設總體方案中把一流本科教育作為重要建設內容,明確指出加快推進人才培養模式改革,促進科教協同育人,完善高水平科研支撐所需的拔尖創新人才培養機制[2]。這意味著一流本科教育應更加注重研教融合,培養本科生的科研素養,堅持人才培養、學術團隊、科研創新“三位一體”,才能滿足當今社會對人才質量的基本要求。其次,由于新一輪科技革命的影響,大學知識更新速度已滯后于實際的科技發展,簡單的課程和教學體系改革,短時間內無法徹底解決知識更新與科技發展的矛盾[3]。因此,本科生需要以各種方式參與科學研究,了解領域最新發展動態,通過科學研究更新專業知識。目前,本科生科研已形成三種具有代表性的科研形式:一是本科生參與教師的研究項目;二是本科生自主申請科研基金;三是本科生參加科技創新團隊[4]。最后,本科生通過學科競賽、課程綜合實驗、課程設計活動等平臺參與科學研究,從而構建本科生參與科研的教學模式,可以有效地促進教學體系改革。本科生參與科研需要教師與學生進行良好地互動,促使教師熟練掌握學科發展及前沿動態,針對互動過程中產生的新觀點、新角度不斷反思和創新。同時,學生進行的科研工作也是教師科研的重要組成部分,促進教師科研發展。科研成果的最終需要轉化為實際,將科研成果轉化為實際可以促進創業教育發展[5]。
離散數學是計算機科學與技術專業、軟件工程專業、網絡安全等計算機類專業的基礎核心課程,在計算機類專業課程體系中處于重要的基礎理論支撐地位[6]。課程內容包括數理邏輯、集合論、圖論、組合數學和代數系統,課程的數學知識多、理論性強,所涉及的內容抽象、概念多、知識點分散、公式多,課內學時有限,易造成學生在學習過程中概念理解不透徹、形象化不夠、學習熱情較低等問題。同時,在學習離散數學時,學生對專業課程了解有限,教師難以將基礎知識和專業內容聯系起來,易造成學生只是機械學習抽象理論知識,難以學以致用的問題[7]。
為了滿足國家人才培養的需要和離散數學實踐化教學的需求,離散數學的研教融合尤為重要。本文首先闡述計算機類專業科研素養培養的重要性,其次分析離散數學的知識體系,最后提出將科研案例融合與離散數學教學的方法并給出研教融合的案例。
計算機類專業包括計算機科學與技術、軟件工程、網絡空間信息安全、數據科學與大數據技術、區塊鏈工程等專業,其中數據科學與大數據技術專業和區塊鏈工程專業為新增專業。相關專業包括電子信息工程、自動化、電子科學與技術、通信工程、信息工程等電子信息類專業。在本科教育階段,需要培養學生的科研知識和科研能力,以達到學生科研素養的培養。
該類專業的科研知識涵蓋科研基礎知識、學科專業知識和相應的學科知識,這些知識是培養科研素養的基礎。科研基礎知識的掌握是保證科研規范性、科學性和有效性的前提條件。本科生要全面學習和掌握科研的基本知識,理解科研的內涵和科研的過程,進而逐步掌握科研的方法。豐富的學科專業知識是從事科研的基石。本科生參與科學研究,不僅需要掌握科研基礎知識和學科專業知識,還需要掌握計算機類專業的學科知識,特別是交叉學科知識,為進一步的科研提供知識儲備。
在開展科學研究活動時,運用科學方法探求事務的本質和規律的過程中所體現出來的才能即科研能力。科研素養培養的關鍵就是科研能力,體現為發現問題能力、開拓創新能力、信息處理能力、文字表達能力和組織協調能力等。科學研究始于發現,只有善于觀察,才能在社會實踐中發現有價值的問題。信息處理能力涵蓋信息的分析、評估,利用信息做出決策和解決問題的能力。科學研究是一種創新性活動,需要學生具備創新精神、創新思維與創新能力,并利用創造性的思維分析和解決問題。組織協調能力和文字表達能力體現了學生的合作能力和表達能力,是科研能力培養必備的因素。
利用計算機解決科學研究中的問題一般分三個步驟進行。一是分析領域性問題,構造出計算機能解決的模型。構造領域模型的思維方法必須應用離散數學知識,離散數學中的大部分內容是討論從基本對象的角度出發,根據對象之間的相互作用、相互聯系,用通用語言如代數語言、符號邏輯語言、圖形語言等構造出對象之間相互作用的模型,也稱之為對象之間相互運算的模型。這是構造和生成問題模型的基本方法。二是在計算機的軟硬件資源上完成模型的算法設計。模型構造完成后,需要在計算機上運行,則需要規劃設計一個運算步驟,告訴計算機要做什么、怎么做,計算機根據設計的運算步驟按部就班的自動處理。這個運算步驟即算法,算法必須是可行、有限、確定的。三是實現對算法過程的有效控制。算法設計的關鍵是算法過程控制,該控制是根據模型的離散結構對算法進行控制,離散數學中講解的各種離散結構在算法控制設計過程中有著重要的作用。經過這三個步驟,計算機可以自行處理結果,完成問題解決。離散數學提供這種通用模型的思維方法,通過如何從簡單的對象出發、研究對象的相互作用,采用不同語言描述對象之間的相互作用,表達出通用模型。通過該過程實現了科研能力的提升。
計算機類專業的科研知識和科研能力二者相互促進,互為基礎,構成了計算機類專業科研素養培養的基本要素。離散數學是計算機類專業的課程理論基礎,所涉及的科研知識,在計算機科學中應用十分廣泛,在數據結構、數據庫、計算機編譯、計算機體系結構、計算機網絡、軟件工程和人工智能中均有應用,處于基礎地位。通過離散數學的學習能夠幫助學生建立抽象思維和邏輯推理能力,建立舉一反三的思維方式,提高學生的創新能力和運用數學方法分析解決實際問題的能力[8]。
離散數學的名稱是1974年由美國IEEE計算機協會典型課程分委會正式提出,是研究離散對象及其結構的一門數學學科。該課程是數據結構、算法與程序設計、自動機理論、人工智能、形式語言等計算機科學課程的基礎。離散數學課程由五個部分組成,包括數理邏輯、集合論、圖論、組合數學和代數系統,這五個部分是一個有機整體。數據邏輯和集合論是圖論的基礎,集合論和組合數學是代數系統的基礎。每部分都有大量的概念、定理和證明,抽象程度高。
數理邏輯是用數學方法研究推理的有效性、證明的真實性、數學的真理性和計算的可行性等邏輯問題,在人工智能、程序理論、數據庫理論等研究中有著重要的應用。該部分內容包括命題邏輯的基本概念、命題邏輯的等值演算、命題邏輯的推理理論、一階邏輯的基本概念和一階邏輯的等值演算。主要研究自然語句的符號表示、邏輯代數、形式證明和驗證推理,從簡單語句的共性出發,分析內部結構培養學生對離散對象的概括能力。
集合論以集合元素為研究對象、探索集合、元素和成員關系,對數學的對象、性質及其發生、發展的一般規律進行科學研究,是一門基礎的學科,已成為研究計算機科學的有力工具。該部分內容包括集合基本概念、集合運算、二元關系和函數。集合論是計算機科學的基礎,該部分內容培養學生對對象描述能力、分析事物間聯系的能力,提高學生的思維能力。
圖論是數據結構和數據表示理論數學基礎,是計算機網絡學習的基礎,是離散數學的重要組成部分。圖論起源于著名的哥尼斯堡七橋問題,以圖為研究對象,已發展成為多學科領域的基礎。該部分內容包括圖的基本概念、樹和幾種特殊的圖。圖論部分介紹圖和樹的基本概念、基本事實和基本理論的基礎,重點介紹歐拉圖、哈密頓圖、二部圖和平面圖。重在培養學生的邏輯思維能力、訓練學生應用圖論理論知識進行實際問題求解和未知探索的能力。
組合數學是研究依給定規則安排某項事物數量規律的科學。該部分內容包括基本的組合計數公式、遞推方程和生成函數。組合數學首先探討符合要求的安排是否存在,當存在的時候,如何把它們實際構造出來,如何計算符合要求的全部安排的個數,若已給出最優標準,如何求得符合要求且達到最優的安排。用組合數學算法求解實際問題,是程序設計的基礎。
代數系統包含代數系統的基本概念和典型的代數系統。這部分內容包括半群、群、子群及陪集、同態,環與域和布爾代數理論,著重理解代數系統、半群、群和子群的基本概念,掌握與理解拉格朗日定理及其應用,掌握半群、群的基本性質與重要結論的證明方法和技巧,以及群與子群等的驗證和判別。該部分內容重點訓練學生運用代數結構進行對象抽象與問題求解,培養學生建立模型和轉換模型的能力。
離散是對連續事物的分割,同時事物也不喪失其原有屬性。計算機是一個離散結構,只能處理離散的或者離散化了的數量關系。在計算機中處理任何的連續量,如圖像處理必須將連續量離散化后再行處理,離散對象的處理是計算機科學的核心。離散數學是計算機學科主要方法,以研究離散型的結構及其相互間的關系體系為主要目標,能夠對離散量進行系統和全面的分析,為計算機提供有力工具[9]。離散數學在計算機專業中已有相關應用,如在軟件測試中應用等價類的概念,在人工智能中利用邏輯推理,在編程中應用數理邏輯等[10]。
在離散數學的教學過程中,為更好地引導學生理解并應用理論知識,結合科研項目,以科研項目中的解決方案為主線,教學與科研的融合通過提出問題、分析問題、解決問題三個步驟實現。離散數學中的集合論學習粗糙集等理論的基礎、數理邏輯部分在軟件工程的研究領域應用廣泛,圖論是神經網絡、Petri等網絡結果算法的研究基礎,組合數學和代數系統在計算機領域應用廣泛,是學生進一步學習的數學基礎。
本小節將以命題邏輯推理理論課堂教學,結合實際問題為例介紹相關教學過程。在提出問題階段,激發學生對離散數學課程的學習興趣,讓學生由被動學習轉變為主動學習,在課前預習階段,介紹科研項目中的實際問題,并利用大數據將MOOC資源等開源的資料推送給學生。在數理邏輯知識介紹部分的教學活動中,以一個看護嬰兒移動機器人的安全行為檢測為例,該機器人有上、下、左、右四種動作。一種典型的場景是,機器人必須重復確認嬰兒狀態(見圖1〔b〕)和回到充電樁充電(見圖1〔c〕),在這個過程中必須避開危險區域(見圖1〔d〕)。
例如,在嬰兒b附近,僅允許執行左轉動作,當采取左轉動作時,可能會發生以下情況:(1)機器人以0.1的概率撞到墻上,并把嬰兒吵醒;(2)機器人以0.8的概率向左移動或以0.1的概率向下移動。如果嬰兒被吵醒了,則機器人無法在一個時間步長內離開,并且要通知相關人員(見圖1〔a〕);否則,機器人應該直接返回到充電樁充電。如何用數學模型來刻畫該場景的完整目標準則?
面對該科研問題,在分析問題階段,將該問題劃分成不同場景,將各個場景狀態和動作進行自然語言描述,并將新課知識導入。結合該實際問題,啟發學生應用數理邏輯和集合論知識描述各個場景的狀態和動作。根據學生解決的情況,進一步介紹科研工作中常用線性時序邏輯表示完整的準則,并講解時序邏輯基本語法來源于離散數學中的教學內容,引導學生將圖1中的規則用線性時序邏輯語言表達如下:

圖1 幼兒園場景下的綜合策略總結

該公式中,(1)表示避免危險狀態;(2)表示如果嬰兒無人看管,在相關人員過來或者需充電之前無須回到嬰兒身邊;(3)通知相關人員后,立即離開并回到嬰兒身邊;(4)嬰兒入睡后,返回到充電樁充電并無須通知相關人員;(5)充完電后,先回到嬰兒身邊,不用去尋找相關人員;(6)如果嬰兒醒來,立即通知相關人員。
通過課前提出問題,激發學生興趣,在課堂中分析問題,將新課導入,討論解決問題的具體方法,啟發學生將一個實際背景的科研問題用課堂中的知識點去解決,提高學生對離散數學的實際應用的認識和對科學研究的熱情。教師在教學中,起到引導牽引作用,注重培養學生獨立思考問題、分析問題和解決問題的能力。課后,讓學生組建學習小組,以小組的形式解決機器人行為檢測的其他場景問題,學習如何對問題進行抽象,如何分析實際問題,如何建立數學模型,應用所學知識解決實際問題,給予學生成就感,培養和提升學生應用理論知識、解決科研問題的能力,達到以研促教的目的。
結合教學目標,針對教學知識的重點和難點問題,將科研問題引入教學課堂中。教師明確學生需掌握的基本理論及核心知識點,圍繞知識點設置科研問題和場景,以科研問題為主線,將科研問題與知識點相結合,通過科研問題的提出、分析和解決三個步驟完成求解,將科研問題融入教學中。具體通過科研問題引入問題,確定研討題目,啟發學生思考,分析問題,提示科研問題解決要點,進入解決問題,幫助學生厘清思路,把握要點,化解教學中的重點和難點。培養學生科研探索的素養,將科研問題進行抽象建立數學模型和算法設計,提高學生將理論知識應用于實踐的能力,促進學生對知識點的吸收、理解和應用。在研究型高校的教育教學中,通過科研知識的融入,有效引導學生對科研問題的認識,激發學生對理論學習的興趣,提高對知識點的理解和應用能力,從而有效提高離散數學的教學成效。