摘要:隨著高職教育教學(xué)改革的發(fā)展,提出了將C語言與數(shù)據(jù)結(jié)構(gòu)課程整合這一論點(diǎn),從C語言與數(shù)據(jù)結(jié)構(gòu)課程的背景及地位引入主題,深入探究課程整合的方法,并分析了課程整合的實(shí)踐環(huán)節(jié)。
關(guān)鍵詞: C語言;數(shù)據(jù)結(jié)構(gòu);課程整合
中圖分類號:TP311.12 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 15-0000-02
1 C語言與數(shù)據(jù)結(jié)構(gòu)課程的背景及存在的關(guān)系
1.1 C語言與數(shù)據(jù)結(jié)構(gòu)發(fā)展的背景
隨著計(jì)算機(jī)產(chǎn)業(yè)的飛速發(fā)展,計(jì)算機(jī)的應(yīng)用已不再局限于科學(xué)計(jì)算,而更多地用于控制、管理及數(shù)據(jù)處理等非數(shù)值計(jì)算的處理工作。與此相應(yīng),計(jì)算機(jī)加工處理的對象由純粹的數(shù)值發(fā)展到字符、表格和圖像等各種具有一定結(jié)構(gòu)的數(shù)據(jù)。這就給程序設(shè)計(jì)帶來一些新的問題。為了編寫出一個“好”的程序,必須分析待處理的對象的特性以及各處理對象之間存在的關(guān)系,為此產(chǎn)生C語言與數(shù)據(jù)結(jié)構(gòu)。
1.2 C語言與數(shù)據(jù)結(jié)構(gòu)課程存在的關(guān)系
C語言是所有程序設(shè)計(jì)類課程的基礎(chǔ)。它教給我們學(xué)會程序設(shè)計(jì)類中C語言本身的語法與程序結(jié)構(gòu);算法與常用子程序的編程實(shí)現(xiàn)。歸根結(jié)底是一門語言課程的學(xué)習(xí),可以理解為和英語課程學(xué)習(xí)一樣先教給大家一些特殊的詞匯(scanf,for,while,printf)和說話的規(guī)則(scanf,printf,for循環(huán)的基本使用方法)。
數(shù)據(jù)結(jié)構(gòu)是在C語言基礎(chǔ)之上開設(shè)的課程,也是語言類的一種升華。它的內(nèi)容包含各種事物在計(jì)算機(jī)上如何存放和存取。假如說C語言是交給大家一門計(jì)算機(jī)語言的基本詞匯和語法規(guī)則,那么數(shù)據(jù)結(jié)構(gòu)這門課就是讓大家欣賞有這種語言所編寫的“敘述文”。只不過敘述的主要內(nèi)容是給你一個實(shí)際的問題,如何在計(jì)算機(jī)中實(shí)現(xiàn)這個問題中的實(shí)體該如何“擺放”(邏輯結(jié)構(gòu)和物理結(jié)構(gòu)),如何在計(jì)算機(jī)中完成這個問題中的實(shí)體的動作
2 C語言與數(shù)據(jù)結(jié)構(gòu)課程整合的方法
2.1 掌握基礎(chǔ)概念,分類學(xué)習(xí)
在學(xué)習(xí)C語言過程中,老師一般都會從基本概念、數(shù)據(jù)類型、順序結(jié)構(gòu)、條件選擇、數(shù)組、循環(huán)、指針,最后到文件的順序講授整門課程。由于學(xué)時的限制,一般到循環(huán)后,整個教學(xué)過程也即將結(jié)束,學(xué)生掌握了編程設(shè)計(jì)的基本概念,但是沒有形成一定的編程思想。同時,在數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)中最主要的是學(xué)習(xí)算法與存儲結(jié)構(gòu),其中最重要的就是鏈表,但學(xué)生在學(xué)習(xí)C語言的過程中并沒能充分學(xué)習(xí)并掌握指針,那么對后期的學(xué)習(xí)造成一定的影響,所以要形成基本概念再分類學(xué)習(xí),在思想中形成一定的編程思想,為后續(xù)分類學(xué)習(xí)奠定基礎(chǔ)。
數(shù)據(jù)結(jié)構(gòu)從結(jié)構(gòu)上可分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),不管是哪種結(jié)構(gòu)在存儲過程中都分為順序存儲和鏈?zhǔn)酱鎯?,這正與C語言中所涉及到的順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、指針對相應(yīng),在教學(xué)過種中教師就應(yīng)將兩門課程聯(lián)系起來。比如說地講授線性結(jié)構(gòu)和非線性結(jié)構(gòu)基本概念時,就應(yīng)從學(xué)生已掌握的C語言概念中先找出數(shù)組的定義,然后可以得出類似于數(shù)組的表示形式就是數(shù)據(jù)結(jié)構(gòu)中的線性結(jié)構(gòu),不滿足數(shù)組定義的就是非線性結(jié)構(gòu)。如此反復(fù),在學(xué)生已有的知識技能中分類學(xué)習(xí)。
2.2 進(jìn)行算法匯總,形成公式
不管是C語言還是數(shù)據(jù)結(jié)構(gòu),最終的目標(biāo)是一致的,那就是能在日常生活中完成數(shù)據(jù)插入、刪除、檢索。定好基本目標(biāo),在教學(xué)過程中圍繞著教學(xué)重點(diǎn)與教學(xué)難點(diǎn)進(jìn)行三維目標(biāo)的教學(xué),在學(xué)生現(xiàn)掌握的基本技能基礎(chǔ)上,我們設(shè)定情境,讓學(xué)生思考,同一類型的題目否用相似的公式來完成算法的實(shí)現(xiàn)?比如對線性結(jié)構(gòu)類的對象進(jìn)行排序,將無序序列變成有序序列,我們就可以借助在C語言中所掌握的一部分定義和規(guī)則,在數(shù)據(jù)結(jié)構(gòu)中我們調(diào)用C語言中的定義和規(guī)則形成一個統(tǒng)一的模式,供同類的題目使用,就形成了算法,在插入算法中可以形成快速插入排序、快速排序、簡單選擇排序、樹形選擇排序、堆排序等共11種排序方法。對算法進(jìn)行了分類匯總,學(xué)生形成了一定的編程思想。實(shí)現(xiàn)了兩門課程的整合。
3 C語言與數(shù)據(jù)結(jié)構(gòu)課程整合的課堂實(shí)踐教學(xué)
C語言與數(shù)據(jù)結(jié)構(gòu)課程教學(xué)內(nèi)容,緊密結(jié)合本專業(yè)的培養(yǎng)目標(biāo),滿足后續(xù)專業(yè)課程的需要來穩(wěn)定的。具體實(shí)施過程上中,根據(jù)高職教學(xué)特點(diǎn)和專業(yè)課程的需要,將C語言和數(shù)據(jù)結(jié)構(gòu)兩門課程進(jìn)行整合,本著既要體現(xiàn)本課程的基礎(chǔ)性,又要滿足后續(xù)專業(yè)課程的需要的原則,來處理教材、設(shè)計(jì)教學(xué)內(nèi)容,合理地分配學(xué)時,注重內(nèi)容的新穎與信息量,切實(shí)在把握理論與實(shí)踐教學(xué)模式,成績考核方法等教改成果應(yīng)用到實(shí)際教學(xué)中。
在實(shí)際教學(xué)中,教師應(yīng)深入了解學(xué)生,針對學(xué)生的特點(diǎn),采取有效的教學(xué)方法。在課堂理論教學(xué)中,采用CAI教學(xué),或利用flash動畫進(jìn)行課堂演示教學(xué),提高了學(xué)生的興趣,并采取師生互動的啟發(fā)示教學(xué)模式活躍了課堂氣氛,課后做到及時答疑;在實(shí)踐教學(xué)中,讓學(xué)生自己設(shè)計(jì)程序,促進(jìn)了學(xué)生的思考并能充分發(fā)揮學(xué)生主動性,以培養(yǎng)創(chuàng)新意識和能力;同時在教學(xué)過程中,可以采取一些代表性的游戲程序制作題目,讓學(xué)生體會成就感和自豪感,激發(fā)學(xué)生學(xué)習(xí)的潛能,同時又充分體現(xiàn)了高職的教學(xué)特色。
在高職教學(xué)改革不斷深入的今天,C語言與數(shù)據(jù)結(jié)構(gòu)課程建設(shè)與教學(xué)改革還要繼續(xù),課程整合,改變觀念,探索教學(xué)改革模式,提高自身素質(zhì),培養(yǎng)更多國家需要的應(yīng)用型人才。
參考文獻(xiàn):
[1]張育玉,張國春. C語言中指針的使用及常見問題[J].科學(xué)大眾(科學(xué)教育),2010,02
[2]魏鑒,陳艷華.基于NCRE的C語言模板式教學(xué)的實(shí)踐與思考[J].計(jì)算機(jī)教育,2010,04