李婷+許鴻儒
摘要:目前,地方高等院校的教學(xué)目標(biāo)正逐步轉(zhuǎn)型為以培養(yǎng)應(yīng)用型人才。我們以信息與計(jì)算科學(xué)的《數(shù)據(jù)結(jié)構(gòu)與算法》課程為例,結(jié)合多年的教學(xué)觀察分析傳統(tǒng)教學(xué)中出現(xiàn)的若干問題,并提出一系列教學(xué)改革的研究方向進(jìn)行探討,以達(dá)到應(yīng)用型人才培養(yǎng)的目標(biāo)。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu)與算法;教學(xué)改革;應(yīng)用型人才培養(yǎng)
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2017)23-0128-02
一、引言
1.地方高等院校應(yīng)用型人才培養(yǎng)改革。地方高等院校的教學(xué)目標(biāo)正逐步轉(zhuǎn)型為以培養(yǎng)應(yīng)用型人才為目標(biāo),課程教學(xué)方法及設(shè)置要求學(xué)生在學(xué)習(xí)過程中能學(xué)到與社會(huì)接軌的知識(shí),從而能提高學(xué)生的學(xué)習(xí)興趣,且在系統(tǒng)學(xué)習(xí)后,即畢業(yè)后進(jìn)入社會(huì)能較快上手,從而培養(yǎng)出適應(yīng)社會(huì)需求的應(yīng)用型人才。
2.《數(shù)據(jù)結(jié)構(gòu)與算法》課程地位。《數(shù)據(jù)結(jié)構(gòu)與算法》是信息與計(jì)算科學(xué)專業(yè)的核心基礎(chǔ)課程。數(shù)據(jù)結(jié)構(gòu)的研究范圍主要涉及數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和操作的實(shí)現(xiàn),內(nèi)容是程序設(shè)計(jì)(特別是非數(shù)值計(jì)算的程序設(shè)計(jì))的基礎(chǔ),也是設(shè)計(jì)和實(shí)現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)系統(tǒng)及其他系統(tǒng)程序和大型應(yīng)用程序的重要基礎(chǔ),是一門理論性強(qiáng)且實(shí)踐性強(qiáng)的課程。通過這門課程的學(xué)習(xí),學(xué)生在程序編寫的過程中能夠正確、合理地選擇數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),有效地設(shè)計(jì)算法,從而提高軟件整體質(zhì)量和效率。
3.本文研究方向。本文著重研究如何針對(duì)信息與計(jì)算科學(xué)專業(yè)的特點(diǎn),地方院校培養(yǎng)應(yīng)用型人才的教育模式,學(xué)生基礎(chǔ)相對(duì)薄弱的情況,設(shè)計(jì)合理的教學(xué)方法,達(dá)到應(yīng)用型人才培養(yǎng)的目的。
二、傳統(tǒng)教學(xué)中存在的問題
筆者多年從事數(shù)據(jù)結(jié)構(gòu)與算法課程的教學(xué),經(jīng)與學(xué)生進(jìn)行溝通后,總結(jié)出傳統(tǒng)教學(xué)中存在的問題有如下幾點(diǎn):
1.理論性強(qiáng),知識(shí)點(diǎn)多。數(shù)據(jù)結(jié)構(gòu)與算法課程的知識(shí)點(diǎn)多,理論性和實(shí)踐性均較強(qiáng),且有高度抽象的特點(diǎn)。故要求學(xué)生對(duì)程序設(shè)計(jì)語言和相應(yīng)的數(shù)學(xué)知識(shí)掌握要足夠深入,才能較好地學(xué)習(xí)。信息計(jì)算科學(xué)專業(yè)的學(xué)生數(shù)學(xué)基礎(chǔ)較薄弱,學(xué)生反映,理論過于抽象且內(nèi)容較多,越學(xué)后面越不懂,內(nèi)容枯燥不易理解。
2.上機(jī)動(dòng)手能力差。數(shù)據(jù)結(jié)構(gòu)與算法課程中一個(gè)重要部分是上機(jī)編寫程序?qū)崿F(xiàn)算法,學(xué)生由于上一門程序設(shè)計(jì)課程還未理解,難將算法實(shí)現(xiàn),體會(huì)不到編程的樂趣、算法的優(yōu)美,在學(xué)習(xí)中易失去信心。
在上機(jī)實(shí)踐觀察中學(xué)生常出現(xiàn)兩種情形:一種是理論尚未理解透徹,后續(xù)上機(jī)實(shí)踐根本毫無頭緒,不能靈活應(yīng)用推廣;一種是理論可以明白,但程序設(shè)計(jì)的能力跟不上,無法獨(dú)立完現(xiàn)算法編寫實(shí)現(xiàn)和調(diào)試,甚至無從入手去完成偽代碼的書寫。這兩類學(xué)生占絕大多數(shù),只有少部分學(xué)生可以較順利地掌握教學(xué)內(nèi)容并實(shí)現(xiàn)完整算法。
3.學(xué)生對(duì)數(shù)據(jù)結(jié)構(gòu)的認(rèn)識(shí)不夠。外面有些培訓(xùn)機(jī)構(gòu)的速成模式對(duì)學(xué)生的影響大,它們往往針對(duì)某一具體工具軟件的使用,工具軟件已經(jīng)將許多知識(shí)進(jìn)行了集成封裝,使用者只需調(diào)用即可,不用關(guān)心具體實(shí)現(xiàn)步驟、方法和效率。而這些步驟、方法、算法效率的討論都是數(shù)據(jù)結(jié)構(gòu)中要學(xué)習(xí)的內(nèi)容。學(xué)生認(rèn)識(shí)不到數(shù)據(jù)結(jié)構(gòu)的重要性,于是覺得這門課程沒有應(yīng)用的前途和學(xué)習(xí)的動(dòng)力,不肯多花時(shí)間在上面去練習(xí)和實(shí)踐,從而限制了自己后續(xù)能力的提高,比如改進(jìn)算法的效率,優(yōu)化程序等。
三、改革方法探討
1.以理論教學(xué)為主,案例式教學(xué)為輔。針對(duì)應(yīng)用型人才培養(yǎng)的目的和學(xué)生普遍反映的課本內(nèi)容過于抽象的問題,可以選擇一本以案例式教學(xué)為主的教材作為教學(xué)輔助教材。在講授某個(gè)知識(shí)點(diǎn)前,布置學(xué)生在輔助教材中閱讀,了解相關(guān)的應(yīng)用背景。在預(yù)習(xí)過程中學(xué)生往往能發(fā)現(xiàn)一些問題,于是在課堂學(xué)習(xí)中將更有目的性和積極性去學(xué)習(xí)理論知識(shí),有能力者甚至可以在課外嘗試實(shí)現(xiàn)案例、發(fā)現(xiàn)問題。通過案例學(xué)習(xí)可以提高學(xué)生的學(xué)習(xí)興趣,符合應(yīng)用型人才改革的目標(biāo)。學(xué)生也通過案例學(xué)習(xí)了解現(xiàn)實(shí)中出現(xiàn)的問題有哪些解決方法。當(dāng)理論具體化后,在工作或后續(xù)學(xué)習(xí)中遇上實(shí)際問題將更有解決的方法和思路,而且再進(jìn)行類比推廣應(yīng)用就比較容易。
但教學(xué)中又不能簡單的以案例式教學(xué)為主。因?yàn)榘咐浇虒W(xué)的一個(gè)缺點(diǎn)是案例中涉及到的應(yīng)用理論未必完全,而是某種模型結(jié)構(gòu)的某些方面的具體應(yīng)用。如樹的教學(xué),一般的課本對(duì)樹的應(yīng)用講了六七方面,采用案例教學(xué)法,可能只面對(duì)幾種應(yīng)用。故教師在課堂上要將案例抽象出對(duì)應(yīng)的結(jié)構(gòu),與理論結(jié)合在一起,詳細(xì)講解理論,即課堂上仍是以理論教學(xué)為主。
2.理論教學(xué)中知識(shí)點(diǎn)的篩選和難易處理。考慮到學(xué)院的學(xué)生基礎(chǔ)問題,學(xué)生相應(yīng)的數(shù)學(xué)知識(shí)掌握不夠深入,若面面俱到地將所有理論全部講完,將知其然而不知其所以然,也不符合應(yīng)用型人才培養(yǎng)的目標(biāo),故課程內(nèi)容要進(jìn)行一定的篩選,后續(xù)課程中將出現(xiàn)的問題,不妨留到后續(xù)課程后再詳細(xì)討論。
比如,圖的關(guān)鍵路徑問題,對(duì)于基礎(chǔ)掌握好的學(xué)生經(jīng)過課堂學(xué)習(xí)確實(shí)可以掌握,但大部分學(xué)生或是不理解,或是理解后不能上機(jī)實(shí)現(xiàn),而這一問題在離散數(shù)學(xué)課程中圖論一章后有詳細(xì)論述,那在數(shù)據(jù)結(jié)構(gòu)中有限的課時(shí)中就不妨先簡講,多花時(shí)間在圖的存儲(chǔ)、遍歷算法、最小生成樹等算法上,效果會(huì)更好。
另外,教師在理論講解中注意難易的處理。學(xué)生要是產(chǎn)生了畏難情緒,就容易造成前面的知識(shí)未消化,后面的知識(shí)更無從理解的學(xué)習(xí)障礙。據(jù)過往經(jīng)驗(yàn),數(shù)據(jù)結(jié)構(gòu)線性表一章是比較簡單的,其難點(diǎn)在于鏈表,接著的隊(duì)和棧一章與線性表是一致的,僅操作方法不同。若學(xué)生在線性表上卡住了,再學(xué)棧和隊(duì)列會(huì)覺得更難。于是教師授課時(shí)對(duì)一些基礎(chǔ)又簡單的問題,講深入、講透徹,配合傳統(tǒng)的黑板結(jié)合粉筆效果更好,學(xué)生能有效跟著教師進(jìn)行思考,注意歸納總結(jié),雖然花時(shí)間多,但再學(xué)習(xí)后續(xù)知識(shí)時(shí)會(huì)觸類旁通,學(xué)習(xí)自信心能提高,有利于形成良性的促進(jìn)作用。
3.上機(jī)實(shí)踐的難易處理和互動(dòng)改革。上機(jī)實(shí)踐主要是將偽代碼的算法用具體程序語言實(shí)現(xiàn)、運(yùn)行。應(yīng)用型人才培養(yǎng)的目的就是要培養(yǎng)學(xué)生將理論知識(shí)用于實(shí)踐,即能實(shí)現(xiàn)運(yùn)行具體算法。故培養(yǎng)學(xué)生的動(dòng)手能力是學(xué)好這門課程的關(guān)鍵。
在整個(gè)學(xué)期的實(shí)踐處理上,實(shí)踐難度安排由易至難。在前面的章節(jié)實(shí)踐作業(yè)中,給出的可運(yùn)行代碼應(yīng)該較完整,留下關(guān)鍵部分讓學(xué)生去編寫,尤其是學(xué)會(huì)調(diào)試。隨著章節(jié)的推進(jìn),給出的可運(yùn)行代碼逐步減少至不給。這樣處理是可以讓學(xué)生在初學(xué)時(shí)不至于無從入手,而且可以讓程序設(shè)計(jì)基礎(chǔ)不牢的學(xué)生有時(shí)間通過實(shí)踐強(qiáng)化鞏固,讓學(xué)生獲得編程樂趣。
另外,上機(jī)實(shí)踐時(shí)可將學(xué)生分成若干小組,每個(gè)小組選出一個(gè)學(xué)習(xí)較好的學(xué)生為組長,上機(jī)中組長可以幫助組員進(jìn)行程序的調(diào)試和講解,使學(xué)生能夠閱讀程序理解程序所表達(dá)的意義。學(xué)生對(duì)知識(shí)點(diǎn)理解的角度和教師的角度可能不同,有時(shí)候同學(xué)請(qǐng)教比教師更能讓他們接受,從現(xiàn)實(shí)課堂中反映,學(xué)生確實(shí)更愿意向同學(xué)請(qǐng)教。
組員們?cè)谟懻撝挟a(chǎn)生解決不了的問題,再與教師討論得到解答,這樣的互動(dòng)改革既可以有效解決教師逐一回答時(shí)間有限的問題,又可以提高學(xué)生的學(xué)習(xí)熱情,學(xué)生之間不斷相互學(xué)習(xí)共同提高,真正讓大家都能動(dòng)起手來,鍛煉編程能力和舉一反三的自學(xué)能力,為將來到社會(huì)工作打下扎實(shí)的基礎(chǔ)。
教師在指導(dǎo)中要引導(dǎo)學(xué)生學(xué)會(huì)讀懂程序錯(cuò)誤提示,自己調(diào)試修改程序,提高學(xué)生實(shí)踐水平。加強(qiáng)對(duì)學(xué)生舉一反三能力的培訓(xùn),讓實(shí)踐教學(xué)反哺理論教學(xué),使學(xué)生對(duì)理論有更深層次的理解。培養(yǎng)學(xué)生良好的程序編寫習(xí)慣和風(fēng)格,注重程序注解。
4.開展課外講座。在課外,邀請(qǐng)已學(xué)過這門課程的學(xué)生和正在學(xué)習(xí)的學(xué)生進(jìn)行經(jīng)驗(yàn)交流。尤其是一些已經(jīng)參加工作的學(xué)生,他們可以帶來更多的實(shí)際案例,這些案例比教材中提供的更新穎、更具體,涉及到更全面知識(shí)的融會(huì)貫通,而且他們可以提供工作中有關(guān)《數(shù)據(jù)結(jié)構(gòu)與算法》這門課程的經(jīng)驗(yàn),可以讓學(xué)生們了解與社會(huì)接軌的知識(shí),提高學(xué)生的學(xué)習(xí)興趣。
四、總結(jié)
近年畢業(yè)生就業(yè)問題日趨嚴(yán)重,通過上述討論發(fā)現(xiàn),傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)與算法課程的教學(xué)形式已不能滿足現(xiàn)階段實(shí)際要求,地方高等院校如何進(jìn)行應(yīng)用型人才培養(yǎng)改革,培養(yǎng)出適應(yīng)社會(huì)需求的應(yīng)用型人才成為研究重點(diǎn)。本文以地方院校信息與計(jì)算科學(xué)專業(yè)的《數(shù)據(jù)結(jié)構(gòu)與算法》課程為例,探討一系列的教學(xué)改革措施,以達(dá)到應(yīng)用型人才培養(yǎng)的目標(biāo)。
參考文獻(xiàn):
[1]余臘生.石獻(xiàn).基于創(chuàng)新理念的數(shù)據(jù)結(jié)構(gòu)教學(xué)方法探討[J].計(jì)算機(jī)與信息技術(shù),2006,(11):110-114.
[2]李克清.《數(shù)據(jù)結(jié)構(gòu)》課程中的案例教學(xué)初探[J].長江大學(xué)學(xué)報(bào)(自科版),2004,12(1)4:135-136.
[3]嚴(yán)蔚敏.吳敏民.數(shù)據(jù)結(jié)構(gòu)(C語言版)[M].北京:清華大學(xué)出版社,1997.
A Study on "Data Structure and Algorithm" Curriculum Reformation
LI Ting,XU Hong-ru
(School of Mathematics,Jiaying University,Meizhou,Guangdong 514015,China)
Abstract:At present,the purpose of reforming in education for local ordinary colleges and universities is strengthening innovation.On this background,we take "Data Structure and Algorithm" course for example,combined with years of teaching observation analyzes,comprehensively analysed the problems of traditional teaching process,and then propose a number of approaches to explore the practice of application-oriented professional courses.
Key words:"Data Structure and Algorithm";reform in education;cultivation of applied talents