吳慧婷
摘要:C語(yǔ)言程序設(shè)計(jì)課程是其他程序課程的基礎(chǔ)。但在教學(xué)中,學(xué)生面向?qū)嶋H應(yīng)用問(wèn)題的算法分析與實(shí)踐動(dòng)手能力普遍偏弱。為了解決這些問(wèn)題,該人在教學(xué)理念設(shè)計(jì)、教學(xué)內(nèi)容設(shè)置、實(shí)踐教學(xué)體系建設(shè)等方面做了大量的探索與實(shí)踐,并取得了良好的教學(xué)效果。
關(guān)鍵詞:算法設(shè)計(jì);能力培養(yǎng);實(shí)踐教學(xué)
中圖分類號(hào):G424 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)15-0170-01
1 概述
作為信息類專業(yè)重要的專業(yè)基礎(chǔ)課程,C語(yǔ)言程序設(shè)計(jì)課程為學(xué)生打下堅(jiān)實(shí)的語(yǔ)言及算法設(shè)計(jì)基礎(chǔ)具有非常重要的意義,各高校也非常重視本課程的建設(shè)。但是,在本門課程的教學(xué)中,也普遍存在著一些問(wèn)題:
1)教學(xué)目標(biāo)不明確;
2)算法分析與設(shè)計(jì)能力培養(yǎng)偏弱;
3)面向?qū)嶋H應(yīng)用的綜合性設(shè)計(jì)性實(shí)踐動(dòng)手能力培養(yǎng)偏弱。
針對(duì)上述問(wèn)題,本人在本課程的長(zhǎng)期教學(xué)實(shí)踐過(guò)程中,在教學(xué)理念設(shè)計(jì)、教學(xué)內(nèi)容設(shè)置、實(shí)踐教學(xué)體系建設(shè)等方面做了大量的研究與實(shí)踐,并取得了良好的教學(xué)效果。
2 教學(xué)理念設(shè)計(jì)
在C語(yǔ)言課程的學(xué)習(xí)中,學(xué)生普遍存在“看得懂、不會(huì)寫(xiě)”的情況,主要是由于在課程的教學(xué)理念上定位不明確,存在“重語(yǔ)法結(jié)構(gòu),輕語(yǔ)言運(yùn)用”的問(wèn)題。
C語(yǔ)言程序設(shè)計(jì)課程,在本質(zhì)上和中文、英文等語(yǔ)言類課程一樣,也是一門語(yǔ)言類課程。語(yǔ)言類課程的教學(xué),既要重視語(yǔ)法結(jié)構(gòu)的講授,但更為重要的如何培養(yǎng)學(xué)生運(yùn)用語(yǔ)言的能力。
經(jīng)過(guò)多年的探索與實(shí)踐,本人在本課程教學(xué)上,形成了如下的教學(xué)理念:以“語(yǔ)言應(yīng)用”目標(biāo),遵循“程序”(語(yǔ)法結(jié)構(gòu))和“設(shè)計(jì)”(算法思想)并重的原則,科學(xué)合理地設(shè)置課程教學(xué)內(nèi)容,重點(diǎn)建設(shè)實(shí)踐教學(xué)環(huán)節(jié)。
3 教學(xué)內(nèi)容設(shè)置
課程建設(shè)的重點(diǎn)是教學(xué)內(nèi)容設(shè)置。基于上述教學(xué)理念,本人分別在“程序”層面與“設(shè)計(jì)”層面的教學(xué)內(nèi)容設(shè)置上做了如下的探索。
在“程序”層面,注重“知識(shí)體系的整體性”。在本課程的教學(xué)中,教師一般都注重每個(gè)知識(shí)點(diǎn)的講授,但較少涉及“知識(shí)點(diǎn)設(shè)置的原因”及“各知識(shí)點(diǎn)之間的內(nèi)在聯(lián)系”,因而造成學(xué)生“知識(shí)體系零散化”,從而進(jìn)一步削弱了學(xué)生語(yǔ)言運(yùn)用的能力。針對(duì)這一問(wèn)題,本人從語(yǔ)言的角度,將各知識(shí)點(diǎn)劃分為兩個(gè)層次:程序結(jié)構(gòu)及程序控制結(jié)構(gòu),不同層次突出不同的教學(xué)目標(biāo)。
1)程序結(jié)構(gòu)包括“數(shù)據(jù)類型、運(yùn)算符和表達(dá)式、數(shù)組、函數(shù)、指針、結(jié)構(gòu)體和共用體、文件”這些知識(shí)點(diǎn),重點(diǎn)突出對(duì)語(yǔ)法及上述 知識(shí)點(diǎn)相互之間層次遞進(jìn)的關(guān)系的掌握。具體方法是:針對(duì)一個(gè)問(wèn)題,從知識(shí)發(fā)現(xiàn)者的角度,引導(dǎo)學(xué)生從“能否用已學(xué)的知識(shí)解決、解決過(guò)程有什么問(wèn)題、應(yīng)該怎么做”這一個(gè)循序漸進(jìn)的過(guò)程,從一個(gè)已學(xué)的知識(shí)點(diǎn)過(guò)渡到另一個(gè)知識(shí)點(diǎn),使學(xué)生理解并掌握相關(guān)知識(shí)點(diǎn)之間的內(nèi)在聯(lián)系,對(duì)分散的知識(shí)點(diǎn)形成一個(gè)整體性的認(rèn)知,從而使學(xué)生碰到具體問(wèn)題時(shí),具備選擇最合適的知識(shí)點(diǎn)或知識(shí)點(diǎn)的組合的能力,這對(duì)提高學(xué)生的實(shí)踐動(dòng)手能力至關(guān)重要。2)程序控制結(jié)構(gòu)的知識(shí)點(diǎn)包括“順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)”,重點(diǎn)突出對(duì)語(yǔ)法和語(yǔ)義的掌握,尤其是分析不同語(yǔ)法結(jié)構(gòu)的異同點(diǎn)。
在“設(shè)計(jì)”層面,注重對(duì)如下的算法設(shè)計(jì)能力的培養(yǎng):1)在循環(huán)、數(shù)組及函數(shù)等知識(shí)點(diǎn)中,加強(qiáng)對(duì)常見(jiàn)的經(jīng)典算法思想的訓(xùn)練,如枚舉、遞歸、遞歸、迭代、排序等。2)針對(duì)學(xué)習(xí)或工作中的實(shí)際應(yīng)用問(wèn)題,注重包括建模在內(nèi)的計(jì)算思維能力的訓(xùn)練。3)逐步培養(yǎng)學(xué)生求解最優(yōu)解的算法設(shè)計(jì)能力。4)引入部分ACM或程序設(shè)計(jì)大賽題目作為案例,引導(dǎo)學(xué)生盡早接觸學(xué)科競(jìng)賽,激發(fā)學(xué)習(xí)興趣,促進(jìn)教學(xué)和競(jìng)賽的良好融合。
4 實(shí)踐教學(xué)環(huán)節(jié)建設(shè)
C語(yǔ)言課程,是一門動(dòng)手能力極強(qiáng)的課程,因此實(shí)踐教學(xué)環(huán)節(jié)尤其重要。本課程的實(shí)踐教學(xué)環(huán)節(jié),一般分為實(shí)驗(yàn)和課程實(shí)習(xí)。由于難度及學(xué)時(shí)限制,實(shí)驗(yàn)環(huán)節(jié)基本以驗(yàn)證性實(shí)驗(yàn)為主,使學(xué)生欠缺綜合性、設(shè)計(jì)性實(shí)踐動(dòng)手能力的訓(xùn)練;當(dāng)進(jìn)入課程實(shí)習(xí)環(huán)節(jié),學(xué)生突然面臨綜合性、設(shè)計(jì)性的項(xiàng)目時(shí)很難適應(yīng),項(xiàng)目完成質(zhì)量總體不高。
為了解決上述問(wèn)題,本人采取了如下的措施:
1)實(shí)驗(yàn)環(huán)節(jié)分為基礎(chǔ)層次和提高層次兩個(gè)類別的實(shí)驗(yàn)項(xiàng)目。基礎(chǔ)層次為驗(yàn)證性實(shí)驗(yàn)項(xiàng)目,在課內(nèi)完成;提高層次為綜合性實(shí)驗(yàn)項(xiàng)目,采取課內(nèi)和課外相結(jié)合的方式。為了向第二個(gè)環(huán)節(jié)課程實(shí)習(xí)更好地過(guò)渡,對(duì)于每次實(shí)驗(yàn)課程中的綜合性實(shí)驗(yàn)項(xiàng)目,采用“總分總”的方式:即首先設(shè)計(jì)與課程實(shí)習(xí)類似的綜合性的案例,然后將它科學(xué)合理地劃分為若干模塊,并切分到每次實(shí)驗(yàn)中;學(xué)生在每次實(shí)驗(yàn)時(shí),完成該項(xiàng)目的一個(gè)模塊,循序漸進(jìn)地完成所有實(shí)驗(yàn)后,學(xué)生就可以完成這個(gè)完整的綜合性的實(shí)驗(yàn)項(xiàng)目。
如:設(shè)計(jì)一個(gè)經(jīng)典的學(xué)生成績(jī)管理系統(tǒng),并科學(xué)合理地切分至每次的實(shí)驗(yàn)中。在順序結(jié)構(gòu)實(shí)驗(yàn)中,實(shí)現(xiàn)輸入一個(gè)學(xué)生的各門課程的分?jǐn)?shù)并求出該學(xué)生的平均分;在選擇結(jié)構(gòu)實(shí)驗(yàn)中,判斷學(xué)生的登錄信息是否正確;在循環(huán)結(jié)構(gòu)實(shí)驗(yàn)中,對(duì)于輸入的錯(cuò)誤的登陸,限定重新登陸的次數(shù);在數(shù)組實(shí)驗(yàn)中,實(shí)現(xiàn)全班每個(gè)學(xué)生的平均分、單科及平均分的排序;在函數(shù)實(shí)驗(yàn)中,將輸入、登陸、求平均分、排序等功能用函數(shù)實(shí)現(xiàn);在指針實(shí)驗(yàn)中,采用動(dòng)態(tài)數(shù)組實(shí)現(xiàn)函數(shù)實(shí)驗(yàn)中的各項(xiàng)功能;在結(jié)構(gòu)體實(shí)驗(yàn)中,用一個(gè)結(jié)構(gòu)體數(shù)組改寫(xiě)前面的若干個(gè)數(shù)組,并重新實(shí)現(xiàn)前述的各項(xiàng)功能;在文件實(shí)驗(yàn)中,將第一次輸入的數(shù)據(jù)寫(xiě)入文件中,并實(shí)現(xiàn)從文件中讀取數(shù)據(jù)到結(jié)構(gòu)體數(shù)組中。
通過(guò)上述訓(xùn)練,既夯實(shí)了學(xué)生的基礎(chǔ),同時(shí),在有限的學(xué)時(shí)內(nèi),也極大地提高了學(xué)生綜合性的實(shí)踐動(dòng)手能力,并為第二階段的課程實(shí)習(xí)奠定了良好的基礎(chǔ)。
2)在課程實(shí)習(xí)環(huán)節(jié),設(shè)計(jì)一個(gè)與實(shí)驗(yàn)環(huán)節(jié)類似的面向?qū)嶋H應(yīng)用的項(xiàng)目,從設(shè)計(jì)到實(shí)現(xiàn),全部由學(xué)生自主完成。同時(shí),為了更好地激發(fā)優(yōu)秀學(xué)生的學(xué)習(xí)興趣,適當(dāng)增加項(xiàng)目的難度及復(fù)雜度。
通過(guò)上述的方法,極大地增強(qiáng)了學(xué)生的綜合性、設(shè)計(jì)性的C語(yǔ)言程序的實(shí)踐動(dòng)手能力。
5 總結(jié)
在C語(yǔ)言程序設(shè)計(jì)課程教學(xué)中,圍繞“語(yǔ)言應(yīng)用”這一目標(biāo),在教學(xué)內(nèi)容設(shè)置上突出“知識(shí)整體性”以及“算法設(shè)計(jì)”,在實(shí)踐教學(xué)環(huán)節(jié)建設(shè)上突出“面向應(yīng)用的綜合性、設(shè)計(jì)性能力培養(yǎng)”,經(jīng)過(guò)多輪的教學(xué)研究與實(shí)踐,取得了較好的教學(xué)效果。但是,目前面向應(yīng)用的綜合性、設(shè)計(jì)性實(shí)驗(yàn)項(xiàng)目案例資源庫(kù)尚待進(jìn)一步豐富與完善,在今后還需加強(qiáng)上述資源庫(kù)的建設(shè),以期更好地提升學(xué)生的實(shí)踐動(dòng)手能力,提高專業(yè)人才的培養(yǎng)質(zhì)量。
參考文獻(xiàn):
[1] 王穎,楊文蓮,劉麗娟. C 語(yǔ)言教學(xué)中不容小覷的思維能力培養(yǎng)[J]. 中國(guó)科技信息,2011(2):212-213.
[2] 吳永芬,陳衛(wèi)衛(wèi). 面向創(chuàng)新實(shí)踐能力培養(yǎng)的 C語(yǔ)言程序設(shè)計(jì)實(shí)踐教學(xué)改革[J]. 計(jì)算機(jī)教育,2014(3):88-91.
[3] 李倩. C語(yǔ)言程序設(shè)計(jì)課程中計(jì)算思維能力的培養(yǎng)[J]. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2013(5).
[4] 李文生,吳舜歆. 面向計(jì)算思維能力培養(yǎng)的程序設(shè)計(jì)課程[J]. 計(jì)算機(jī)教育,2014(3): 57-60.