周曉寧+胡嬿

摘要:“數據結構”是計算機科學與技術專業的核心課程,本文從民辦獨立高校課程群建設的角度出發,提出了“數據結構”課程教學改革的思路;探討了在課程群中“數據結構”與其他課程之間的關系,提出了該課程在理論教學環節和實踐教學環節的改革方案。
關鍵詞:課程教學改革;課程群;民辦獨立高校;數據結構
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2016)46-0073-02
高等教育是培養高級專門人才的主要社會活動[1]。隨著社會的不斷發展,承擔高等教育工作的公辦高校已不能滿足日益增長的就學需求;作為補充,民辦獨立高校為社會提供了高質量本科層次的大眾化高等教育服務[2]。民辦獨立高校辦學靈活,直面社會和職場,以培養高素質應用型人才為目標,因此其教育模式與傳統公辦研究型高校有所不同;這一差異也直接體現在其教學活動中。
課程是教學活動的組織方式,是實現教學目標的基本途徑,因此課程建設直接關系到人才培養的質量,是高等教育改革的核心[3]。本世紀90年代以來,作為高等教育改革的熱點問題之一,高校課程建設中的重要一環,課程群建設逐漸引起人們的重視。
課程群(以下簡稱課群)是某一學科內的諸多課程的集合,是“從屬于某個學科,相互間性質相關或相近,如相承、滲透、互補等課程的集合體”[4]。顯然,課程是課群的要素;課程教學改革則是從微觀角度,以某一課程為對象,以提高教學效果為目標,對課程的實施手段和教學方法進行改進。
本文以南京航空航天大學金城學院(以下簡稱南航金城學院)信息工程系“數據結構”課程教學改革為例,探討在“數據結構和算法”課群建設中“數據結構”課程教學改革方案的實施。在不改動課程原有學時的前提下,通過調整該門課程的具體教學內容和方法、考核方案,達到優化課程知識體系,提高教學質量的目的;同時滿足民辦獨立高校因材施教、分層次、多渠道的人才培養模式的要求。
一、數據結構和算法課群的建立
“數據結構和算法”課群是以南航金城學院信息工程系計算機科學與技術專業的人才培養計劃為指導,包含“離散數學”、“數據結構”、“數據結構課程設計”以及“算法設計與分析”四門課程;具體課群體系結構如圖1所示。
其中“數據結構”是計算機科學與技術專業的專業基礎課程;是“算法設計與分析”的重要先修課程。其教學目標是通過分析數據的結構特性,為具體應用(例如,建立用戶廣告服務系統)涉及的數據選擇適當的邏輯結構、存儲結構及其相應的解題算法;同時涉及算法的時間、空間效率分析技術。整個課程同時也是一個復雜程序設計的訓練過程;要求學生編寫的程序結構清楚,正確易讀,符合軟件工程的規范。而這一要求也直接體現在“數據結構課程設計”的實踐教學過程中。“算法設計與分析”是計算機科學與軟件工程中的核心研究領域之一。許多實際問題的求解都依賴于有效算法的設計與實現:如用戶廣告服務系統等一旦深入下去就能夠被描述成一組以網絡流為模型的問題[5]。“離散數學”是研究離散量的結構及其相互關系的數學類課程。“離散數學”在計算機科學與技術領域有著廣泛的應用,同時也是“數據結構”和“算法設計與分析”的重要先修課程。
在課群建設中,首先處理數據結構和算法之間的關系,離散數學與數據結構、算法之間的關系;其次以數據結構為主線,結合算法設計技術對如何選擇數據結構的教學內容進行分析,靈活處理離散數學中的基礎知識,突出算法設計的中心思想,強化實踐教學環節。整個課群建設遵循:“單門課程建設→課群建設”模式;以單門課程教學改革為點,課群建設為線,專業建設為面。“點、線、面”逐步推進,從而達到優化課程知識體系,提高教學質量,滿足民辦獨立高校高素質應用型人才培養的目標。
二、數據結構課程改革方案
1.理論教學改革。“數據結構”課程的理論教學內容主要包括:線性結構、非線性結構、查找和排序三大部分。其中前兩部涉及線性表、棧和隊列、字符串、數組和廣義表、樹和二叉樹、圖等多種基本數據結構。在實際教學中,任課教師多遵循“邏輯結構→存儲結構→相關操作”的主線,對所涉及的知識點進行逐個講解。查找和排序部分,則羅列出多種不同的解決計算機查找和排列數據的算法,講解時需要比較不同算法在時間和空間上的性能差異。針對“數據結構和算法”課群建設的要求,“數據結構”課程的理論教學內容和教學方式做了如下調整:
(1)以實際案例為主線,將各個知識點串聯起來。比如,在講授圖的應用時,最短路徑算法是重點也是難點;不僅因為知識點本身在原理的理解上較為困難,同時學生也不太能夠接觸到該算法的實際應用。因此在實際教學過程中,以“游戲地圖的查找”為例說明該算法,并強調圖的結構特性(邏輯結構、存儲結構以及涉及的基本操作);這實際上是一種案例分析方法。
(2)強調課程間的知識點的銜接。例如,講解最短路徑算法時,將案例(交通咨詢系統)的實現,放置在“數據結構課程設計”的實踐環節中;該算法的正確性證明則在“算法設計與分析”課程中給予解釋。又如,講解快速排序和簡單交換排序時,重點讓學生能夠區分不同算法的執行步驟;著重強調程序本身的特性,操作對象的特性等涉及數據結構的知識點。而算法時間性能的比較則放在“算法設計與分析”課程中來解決。此外,“離散數學”中圖論部分的知識點教學也需要和“數據結構”中圖部分的知識點教學內容相銜接。
(3)在課程考核上增加平時成績,提高理論知識點的實際掌握程度的考核比重;避免一次考試成績定成敗。將最終的考核總評成績分為三部分:平時成績(課后練習成績、課堂回答問題成績、出勤率等綜合考評成績)占總成績的20%;上機實驗環節評分(線性結構、非線性結構、查找和排序)占30%;結課考試(筆試)占50%。總體評分標準中,理論知識點的實際掌握程度通過實踐環節來進行考核;對不同學生進行差異化教學(能力強、對知識點理解深入的學生可以選擇難度較大的案例來實現)。事實證明,在2015年秋季的實際教學活動中,取得了較好的教學效果,很多同學的學習積極性被調動起來了;課堂回答問題的熱情較高,同時課后提問的次數也明顯增多。
2.實踐教學改革。與“數據結構”課程密切相關的實踐教學環節主要分兩部分:一是理論課程中的實驗上機環節;二是“數據結構課程設計”環節。將“數據結構”理論教學內容所涉及的應用案例分別安排在兩個實踐教學環節中,要求學生編程實現。同時,另外再增設多個較為復雜的典型案例實現。
在實踐教學內容設置上,不但系統地闡述了“數據結構”的基本原理,同時也給出了一些的典型案例。每個案例的敘述完全按照解決實際問題的思路進行,這對學生如何面對實際工程項目問題有著很好的啟迪作用。
三、結論
“數據結構”這門課程的開設如何滿足民辦獨立高校的人才培養目標,如何滿足課群建設的實際要求,是一個值得不斷探索的課題。本文從南航金城學院信息工程系計算機科學與技術專業核心課程“數據結構”的課程教學改革出發,從課程的理論教學和實踐教學兩方面進行探討,提出了相應的改革思路。在2015年秋季的實際教學過程中,取得了較為明顯的效果。顯然,學生不但獲得了扎實的理論基礎,同時也掌握了一定的專業技能:以數據結構知識為基礎,分析案例、解決實際問題的能力。
參考文獻:
[1]楊樹勛.現代高等教育學[M].北京:化學工業出版社,1999:97-98.
[2]齊鳳和.民辦獨立學院的四大困惑及解決途徑[J].現代教育科學:高教研究,2005,(6):53-56.
[3]黃偉娣.課程與課程建設[J].杭州師范學院學報,1994,(5):116-120.
[4]李慧仙.高校課程群的建設及評審體系[J].理工高教研究,2006,25(5):124-126.
[5][美]克林伯格.算法設計[M].北京:清華大學出版社,2007:123-124.