楊永斌 朱超平



摘要:為了讓學生能夠在解決實際問題中融會貫通地運用所學理論知識、學以致用、培養學生的實踐動手能力、創新創造能力等,改善、解決目前《數據結構》教學中存在的問題以及一些不利于學生發展的狀況,在《數據結構》實驗教學中進行了教學模式的改革與實踐,提出了“一題多解”與“多題一解”的案例教學模式,目的在于突破以往重復機械式的實驗模式。通過線性表的具體教學改革實踐,以期能夠對該課程的教師起到一定的引導作用,共同探討《數據結構》課程的教學改革與實踐,提高《數據結構》課程的教學質量和教學效果。
關鍵詞:一題多解;多題一解;數據結構;實驗;案例教學;算法
中圖分類號:G642 文獻標識碼:A
文章編號:1009-3044(2019)33-0113-04
1《數據結構》課程性質
《數據結構》是計算機類專業的一門實踐性非常強的專業核心課程,該課程學習的好壞將直接影響后續課程的學習狀況,同時在一定程度上影響學生的軟件設計水平。該課程全面地講解了在軟件開發過程經常使用的數據的邏輯結構和物理結構以及相應的實現算法,還介紹了各種查找和排序算法以及相關算法的性能比較。該課程內容很多,各種數據結構算法較抽象,因此理解和掌握其中的原理和相關算法具有一定的難度,所以通過實驗使理論與應用相結合,將會帶來更好的學習效果。
通過《數據結構》課程的學習,使學生能夠在解決實際問題中融會貫通地運用所學將理論知識、學以致用,養學生的實踐動手能力、創新能力,因此實踐教學是該課程教學過程中不可缺少的、非常關鍵和重要的環節。通過實踐便于學生掌握基本知識,提高學習興趣,使學生能夠應用所學知識對實踐任務進行充分分析、抽象,建立與之相適應的邏輯結構、存儲結構及算法解決方案,并最終在計算機上實現算法,從而解決問題。通過實踐,學生不僅能夠加深理解所學理論知識,更重要的是培養了學生發現問題、分析問題、解決問題及程序設計等能力,這對進一步培養學生的學習興趣、充分發揮、激發學生的創新創造能力起著重要的作用,同時也能培養學生良好的科學作風。
我校數據結構實踐主要通過課程實驗和綜合課程設計兩個環節實現。課程實驗為32學時,獨立成課,課程實驗(包括驗證和設計實驗)主要較偏重于對課程內容的理解和掌握,我校計算機類專業的。同時專門設置《數據結構》課程設計綜合訓練實踐教學環節,單獨2周完成,2個學分。通過2周的課程設計,讓學生獨立或團隊合作完成一個較復雜的問題,充分彌補課堂教學和課程實驗中的不足,從而實現學生綜合應用所學理論知識開發較大程序的一次良好鍛煉,培養學生舉一反三、融會貫通所學知識的能力、提高學生軟件開發和軟件調試的能力、培養學生團隊合作的精神、培養學生針對具體問題進行文字論述與表達的能力等等。
2《數據結構》實驗課程教學目的與要求
2.1教學目的
數據結構實驗課程著眼于原理和應用的結合點,培養學生針對實際問題在數據結構的選擇和應用,讓學生能將所學知識應用于實際問題的求解中,培養學生的實際動手能力,加深對概念及相關算法的理解,靈活、牢固掌握教材內容,逐步培養和提高學生的專業修養和專業素質。
2.2基本要求
學生在上機做實驗前,應事先將程序、調試數據、上機操作順序準備好,并提前使用這些調試數據人工執行過。目的是提高上機的效率和成功率,嚴禁抄襲或拷貝他人的成果,自覺培養科學、嚴肅的作風。
3“一題多解”與“多題一解”案例教學模式
瑞士著名認知心理學家讓.皮亞杰指出:教育的目標是造就批判性思維的頭腦、敢于驗證問題的頭腦,而不是人云亦云的頭腦;是培養有創造力、有發現和發明能力的人,而不是只懂得單純地重復上幾代人工作的人。教育部自2017年2月以來就積極推進新工科建設,先后形成了“復旦共識”“天大行動”和“北京指南”,從而開啟了工程教育改革新路徑。“新工科”更強調學科的實用性、交叉性與綜合性,作為一線高校教師,應當結合社會人才需求、課程特點及學生實際等積極地開展“新工科”背景下的課程教學改革研究與實踐。
在《數據結構》實踐教學中應用“一題多解”與“多題一解”的案例教學模式,目的是要適應“新工科”建設下人才培養,突破以往重復機械式的實驗模式,讓學生在學習理論知識的過程中,持續運用不同的知識解決相似問題,使學生不斷對已經掌握的知識進行批判接受,進而改造創新,讓學生的探究能力能夠得到持續發展。通過“一題多解”與“多題一解”的教學模式,改善、解決目前《數據結構》教學中存在的問題以及一些不利于學生發展的狀況。
數據結構的教學目標之一就是讓學生會寫高效的程序、會設計算法甚至會發明、發現算法。“一題多解”就是讓學生針對同一問題,采用多種算法實現,并從中分析其中的優劣。在一些實際問題的解決過程中,常常發現他們具有一些共性或相似性,就可以嘗試著尋求解決這些問題的相似算法,通過思考與實踐,歸納出相應算法思想和算法實現,甚至尋求這類問題的通用算法思路及實現,最后再將此解法進一步投入到實踐中,這就是“多題一解”真正意義所在。通過“一題多解”可以使基礎知識的應用更加豐富,通過“多題一解”可以讓學生尋根溯、有效引發學生思維。在《數據結構》教學中應用“一題多解”和“多題一解”案例教學能夠有效激發學生自主學習熱情,提高學生持續求知欲望,增強學生探究創新意識。
4“一題多解”與“多題一解”案例教學模式的應用實踐
《數據結構》課程的重點是線性表、樹、查找和排序等。線性表是最常用最基本的一種數據結構,線性表基礎打好了、打牢了將有利于樹和二叉樹、圖、查找和排序等后繼知識的學習。線性表的邏輯結構特征是一對一,即數據元素之間存在一對一的關系,除第一個和最后一個元素外每個元素只有唯一的一個直接前驅和直接后繼。存儲結構主要采用順序存儲和鏈式存儲,即順序表和鏈表。在此以順序表的實踐教學為例探討“一題多解”與“多題一解”案例教學模式的應用實踐。
順序表的存儲特點是用一片連續存儲空間依次存儲線性表的每個元素,邏輯上相鄰物理上一定相鄰。順序表類型描述如下:
5結束語
從事《數據結構》課程教學20多年,一直在探索課程的教學改革與應用,在《數據結構》實驗教學中探索“一題多解”和“多題一解”案例教學模式的改革應用,目的在于提高學習的學習能動性,激發學生的學習興趣,挖掘學生的學習潛能,提高學生綜合應用知識的能力及分析問題、解決問題的能力,培養學生的創新創造能力等等,真正提高課程教學質量、教學效果。
在實施“一題多解”和“多題一解”案例教學模式中的案例選擇上,更多地選擇一些企業的真實面試題目,包括一些知名企業如華為、百度、微軟、騰訊等,這可以有效地激發學生的興趣與熱情,但在案例的選擇上需要把握好案例的難度,應根據學生的實際情況,采用層次化的難度系數以適應不同層次的學生,既要避免簡單案例不能激發學生的“斗志”,也要避免太難而打擊學生的積極性與熱情,讓學生在學習過程中逐步攀升、穩步提高。簡單的有,難度大的也有,更多的是難度適中的,在實施中堅持以學生為中心的理念。經過實踐證明,在《數據結構》實驗教學中應用“一題多解”和“多題一解”案例教學模式是切實可行的,學生完成實驗任務的積極性、熱情明顯提高,完成任務的質量也逐步提高。