湖北民族學(xué)院信息工程學(xué)院 向 靜
數(shù)據(jù)結(jié)構(gòu)課程的教學(xué)研究與改革
湖北民族學(xué)院信息工程學(xué)院 向 靜
數(shù)據(jù)結(jié)構(gòu)是計算機專業(yè)的核心基礎(chǔ)課程,教學(xué)的目的就是培養(yǎng)學(xué)生針對實際問題在選用數(shù)據(jù)結(jié)構(gòu)、設(shè)計算法及其實現(xiàn)等方面的基本技能。本文分析了數(shù)據(jù)結(jié)構(gòu)課程在教學(xué)中存在的一些問題,從更新教學(xué)內(nèi)容、革新教學(xué)手段、改進教學(xué)方法、加強實踐環(huán)節(jié)等方面對數(shù)據(jù)結(jié)構(gòu)課程的建設(shè)和教學(xué)進行改革,以培養(yǎng)學(xué)生算法設(shè)計思維和提高算法設(shè)計能力。
數(shù)據(jù)結(jié)構(gòu);實踐;改革
數(shù)據(jù)結(jié)構(gòu)是一門研究非數(shù)值計算的程序設(shè)計問題中計算機的操作對象以及它們之間的關(guān)系和操作等的學(xué)科,歷來就是計算機科學(xué)與技術(shù)專業(yè)的核心基礎(chǔ)課程,具有理論抽象程度高和應(yīng)用實踐性強的特點。數(shù)據(jù)結(jié)構(gòu)傳統(tǒng)教學(xué)存在的主要問題是教學(xué)內(nèi)容陳舊、教學(xué)手段單一、教學(xué)方法落后、理論和實踐脫節(jié)等。近年來,一些高校已經(jīng)進行了有益的嘗試和改革,許多教學(xué)工作者提出了自己的一些思路,并付諸實踐,取得了很好的效果。由于學(xué)校層次的不同和學(xué)生自身的差異,我們在借鑒別人教學(xué)經(jīng)驗的同時,有必要針對自身的教學(xué)對象,發(fā)揮自身的優(yōu)勢,對數(shù)據(jù)結(jié)構(gòu)課程的教學(xué)進行深入的研究和探討,以期提高教學(xué)質(zhì)量,培養(yǎng)具有實踐能力和創(chuàng)新能力的應(yīng)用型人才。
數(shù)據(jù)結(jié)構(gòu)課程的特點是概念多、內(nèi)容廣、邏輯性強、抽象程度高、綜合實踐性強。從多年來學(xué)生在本課程的學(xué)習(xí)和實踐環(huán)節(jié)看,影響學(xué)習(xí)效果的主要原因大致有以下幾個方面。
(1)前導(dǎo)課程基礎(chǔ)薄弱,語言能力差
數(shù)據(jù)結(jié)構(gòu)的前導(dǎo)課為高等數(shù)學(xué)、離散數(shù)學(xué)、概率論和一門計算機程序設(shè)計語言,如C、C++或者Java等,我院采用的教材主要用類C語言描述。學(xué)生在前導(dǎo)課程的學(xué)習(xí)中,由于個體差異、學(xué)習(xí)態(tài)度等原因,對必備知識掌握不足,特別是程序設(shè)計語言能力差,導(dǎo)致在學(xué)習(xí)過程中存在困難。如C語言中指針的應(yīng)用、遞歸函數(shù)的調(diào)用、內(nèi)存空間的動態(tài)分配和回收等,這些知識掌握的不牢固或者根本就沒有深入理解,就不能靈活運用,更談不上解決實際問題。
(2)算法設(shè)計思維欠缺
算法是對特定問題求解步驟的一種描述,是程序的重要組成部分。學(xué)生在解決實際問題時沒有清晰的思路,沒有模塊化的程序設(shè)計思想,不能從總體和全局考慮數(shù)據(jù)的走向,進而就不能選用合適的數(shù)據(jù)結(jié)構(gòu)來組織數(shù)據(jù),處理數(shù)據(jù)。特別是在問題的求解沒有可借助的方法時,需要自己構(gòu)思算法,就要綜合考慮對時間、空間以及其他性能的要求,這對學(xué)生在程序設(shè)計和軟件工程的規(guī)范性上要求是比較高的。
(3)實踐技能較差
數(shù)據(jù)結(jié)構(gòu)是一門理論與實踐并重的課程,對學(xué)生的實踐動手能力要求是較高的。由于學(xué)生上機訓(xùn)練時間偏少,實際設(shè)計和調(diào)試程序的能力較弱,對實踐環(huán)節(jié)沒有充分重視,導(dǎo)致學(xué)生實踐能力較差。另外在程序中還經(jīng)常出現(xiàn)的與指針調(diào)用、內(nèi)存管理等有關(guān)的較為隱蔽的錯誤,給程序調(diào)試帶來很大的困難。這些不流暢的程序,使他們在實踐中有很大挫敗感,于是逐漸喪失了對該課程的興趣。
針對數(shù)據(jù)結(jié)構(gòu)課程在教學(xué)和學(xué)習(xí)中出現(xiàn)的這些問題,我們在實際教學(xué)中主要提出了以下一些教改措施。
(1)修訂細化教學(xué)大綱,明確教學(xué)目標(biāo),注意前導(dǎo)后續(xù)課程的銜接,強化學(xué)生程序設(shè)計基礎(chǔ)
教學(xué)大綱為實現(xiàn)課程教學(xué)目標(biāo)提供了依據(jù),教學(xué)大綱的設(shè)計要能體現(xiàn)創(chuàng)新人才的培養(yǎng)特征,符合人才培養(yǎng)目標(biāo)。因此,教學(xué)大綱的修訂以人才培養(yǎng)目標(biāo)為導(dǎo)向,課程設(shè)置和課程內(nèi)容以實現(xiàn)培養(yǎng)目標(biāo)為主旨和特征構(gòu)建。在安排數(shù)據(jù)結(jié)構(gòu)課程教學(xué)內(nèi)容時,要說明該課程在整個專業(yè)中的作用和地位,復(fù)習(xí)必備的編程語言基礎(chǔ)知識,并配備一定的習(xí)題強化學(xué)生的程序設(shè)計能力,注意與前導(dǎo)和后續(xù)課程的銜接,介紹具體內(nèi)容與其他課程的關(guān)系,分清主次,避免內(nèi)容的重復(fù)。
(2)改革教學(xué)方法,更新教學(xué)手段,培養(yǎng)學(xué)生分析問題、解決問題的能力
根據(jù)數(shù)據(jù)結(jié)構(gòu)教學(xué)大綱,我們自行編寫了教案和課件,課件內(nèi)容豐富,含有教學(xué)目的、教學(xué)要求、課程實施方案、課程考核要求、自測練習(xí)、作業(yè)和實驗等。特別是教學(xué)內(nèi)容中的算法演示,對數(shù)據(jù)結(jié)構(gòu)中的典型算法進行動態(tài)交互式模擬跟蹤,方便學(xué)生真切深入地理解算法執(zhí)行過程中各要素的變化情況。
除了課堂教學(xué)外,還要充分利用微課、慕課等新興的教學(xué)形式,讓學(xué)生深刻地理解所學(xué)知識,提高學(xué)習(xí)的效率。同時在深化翻轉(zhuǎn)課堂教學(xué)模式的應(yīng)用中,培養(yǎng)學(xué)生發(fā)現(xiàn)問題、分析問題、解決問題的能力。
(3)加強實踐教學(xué)改革,提高學(xué)生實踐能力,培養(yǎng)學(xué)生創(chuàng)新精神
在數(shù)據(jù)結(jié)構(gòu)課程的學(xué)習(xí)過程中,學(xué)生比較困擾的是理論脫離實踐,對數(shù)據(jù)結(jié)構(gòu)潛在的應(yīng)用價值難以有深刻地認識。在課程建設(shè)中,在努力提高課堂教學(xué)效果的同時,應(yīng)下大力氣對上機實驗的內(nèi)容和要求進行管理??梢酝ㄟ^驗證性實驗、設(shè)計性實驗和綜合大型實驗來分層次的提高學(xué)生的實踐能力,培養(yǎng)學(xué)生的團隊協(xié)作精神和創(chuàng)新精神。
在數(shù)據(jù)結(jié)構(gòu)課程的建設(shè)和改革過程中,我們主要著眼于以下幾點:內(nèi)容深度與廣度的更新,強調(diào)了科學(xué)方法指導(dǎo),加強了實踐環(huán)節(jié),突出了基本技能訓(xùn)練,革新了教學(xué)手段,激發(fā)了學(xué)生的學(xué)習(xí)動機,培養(yǎng)了學(xué)生的學(xué)習(xí)興趣,增強了學(xué)生的創(chuàng)新意識,提高了學(xué)生的創(chuàng)新實踐能力,使學(xué)生思維在靈活性、獨立性、深刻性等方面有所提升,總體來說達到了良好的教學(xué)效果。
[1]李曉鴻.“數(shù)據(jù)結(jié)構(gòu)與算法分析”研究型實踐教學(xué)的探索[J].實驗研究與探索,2012,31(1):121-125.
[2]張繼新,周德祥.“數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)中存在的問題及對策[J].教育研究與實驗,2014(2):153-155.
[3]張彬連,徐洪智.?dāng)?shù)據(jù)結(jié)構(gòu)課程教學(xué)研究[J].計算機教育,2013(4):30-35.
向靜(1977—),女,講師,碩士,研究方向:計算機及其應(yīng)用。
湖北民族學(xué)院教學(xué)研究項目(2016JY013)。