C語言教學改革研究與探索

時間:2022-12-26 02:50:05

導語:C語言教學改革研究與探索一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

C語言教學改革研究與探索

摘要:針對我院自動化專業(yè)學生的學習現(xiàn)狀,分析了C語言教學過程中存在的實際問題,通過調(diào)整教學內(nèi)容、改進教學方法、加強實踐教學、優(yōu)化考核體系等一系列措施對C語言課程進行教學改革,取得了較好的教學效果。

關鍵詞:C語言;自動化專業(yè);模塊化教學;對分課堂;實踐教學

1引言

C語言是一種典型的結構化程序設計語言,它既具有高級語言語法精煉、類型豐富、表達能力強、適于模塊化編程等優(yōu)點,又具有低級語言高效、易控制計算機硬件等特點[1]。目前,國內(nèi)高校普遍將其作為理工科入門級的程序設計公共課程,除計算機專業(yè)以外,其他專業(yè)均把它作為通識課程來實施教學。然而,該課程的培養(yǎng)目標應該是培養(yǎng)學生能夠利用計算機處理問題的思維方式,啟發(fā)學生主動將計算機引入到所學專業(yè)的學習中去[2]。因此,如何結合理工科專業(yè)自身特點進行“C語言程序設計”課程教學,使之既遵循課程教學的基本原則和方法,又能融入到專業(yè)學習中,是目前C語言課程教學改革的熱點。對于自動化專業(yè)來說,學生部分專業(yè)課程的學習掌握和工作中的實踐應用都離不開C語言,如單片機和嵌入式系統(tǒng)等智能芯片就是以C語言為基礎進行設計開發(fā)的。自動化專業(yè)C語言的課程講授,要更加注重學生C語言編程應用能力的培養(yǎng),充分發(fā)揮其在自動化專業(yè)課程體系中應有的作用。

2課程教學中存在的問題

在自動化專業(yè)“C語言程序設計”課程的教學過程中,由于課程自身特點、專業(yè)人才培養(yǎng)體系、學生知識結構差異等多種原因,目前的教學工作面臨著以下問題:2.1授課內(nèi)容與專業(yè)課程銜接不緊密。目前,在大多數(shù)學校的非計算機專業(yè)中,C語言的教學與專業(yè)課的學習是采用完全割離的方式進行的,一般在第二學期開設C語言課程,到第四個學期才開始陸續(xù)進入專業(yè)課的學習。在傳統(tǒng)C語言教學中,通常以“VisualC++6.0”軟件為編譯環(huán)境,介紹C語言的基本數(shù)據(jù)類型與表達式、控制語句、數(shù)組、函數(shù)等基礎知識,此外,還會對指針、結構體、共用體、甚至文件進行詳細地講解[3]。在整個教學過程中過于注重語法、語句等細節(jié)的講授,缺少對算法設計的練習,學生課堂參與度較低,以至于在學完整個課程之后,學生也不知道C語言在其專業(yè)中的具體用途,學完后很快就會忘記。這樣會使得學生在學習過程中沒有明確的學習目的,從而逐漸失去學習興趣,不利于學生分析和解決具體實際問題能力的培養(yǎng)。2.2沒有充分發(fā)揮其在自動化專業(yè)課程體系中的作用。作為一門實踐性、應用性較強的課程,C語言能否學好將直接關系到自動化專業(yè)學生后期專業(yè)課的學習效果。通過C語言的學習,應該培養(yǎng)學生靈活運用算法思想來解決專業(yè)問題的能力,為學生進一步學習“單片機”、“嵌入式系統(tǒng)”等其他專業(yè)課程打下堅實的基礎。但是,目前大部分高校對于C語言的定位只局限于普及計算機基礎知識,授課的深度和廣度不足,其價值僅僅體現(xiàn)在等級考試上,沒有充分發(fā)揮其在自動化專業(yè)課程體系中的應有的作用。2.3實驗實踐教學效果不理想。C語言是大學入門級的程序設計語言,但是對于應用型本科院校而言,學生的基礎相對來說比較薄弱,其前期的知識儲備只有少量的信息技術知識,但C語言中卻會涉及很多的概念和復雜的語法知識。學生普遍反映有些概念比較抽象,難以理解。所以,在教學過程中一定要將理論教學與實踐教學相結合,但大部分院校在開設課程的時候往往是先講理論后進行實踐教學。這樣,學生所學習的理論知識得不到及時的消化吸收,理論教學與實踐教學相脫節(jié),達不到預期的教學效果。

3教學改革實踐

針對以上存在的問題,我院計算機和自動化兩個專業(yè)教研室共同制定了一系列的教改措施,并在實施過程中針對具體出現(xiàn)的問題及時進行調(diào)整。3.1調(diào)整課程結構,使教學向?qū)I(yè)靠攏。從培養(yǎng)學生利用計算機解決實際操作問題的能力出發(fā),打破傳統(tǒng)C語言的課程結構,以“理論夠用、重在實踐”為宗旨,以任務驅(qū)動為導向,將課程教學內(nèi)容劃分為5大模塊,模塊化教學內(nèi)容如圖1所示。每個模塊包含不同的任務,完成不同能力的培養(yǎng)目標。整個課程以學生為主體來展開,既避免枯燥的理論講解,又能將具體知識與后續(xù)的專業(yè)課相結合,使得整個教學過程逐步向?qū)I(yè)靠攏。單片機等芯片開發(fā)設計是自動化專業(yè)學生的重點學習內(nèi)容之一,因此在C語言的授課過程中適當?shù)脑黾雍唵蔚膯纹瑱C開發(fā)案例,由淺入深,引導學生逐步了解自動化專業(yè)到底可以干什么。例如,在學習完循環(huán)結構之后,給學生演示用C語言來控制實現(xiàn)的跑馬燈程序,這樣可以讓學生清楚的了解循環(huán)程序在實際案例中是如何應用的。3.2改進教學方法,激發(fā)學生學習興趣。C語言是一種面向過程的高級語言,在理論講解時,其語法規(guī)則復雜繁瑣,而在上機實驗時,抽象的算法程序也很難激發(fā)學生的學習興趣。針對這些特點,根據(jù)教學模塊內(nèi)容不同、授課環(huán)境不同、教學對象不同設置不同的教學方法。3.2.1啟發(fā)式教學法啟發(fā)式教學是在講授新概念、新的語法知識的時候,通過提問的方式來引入的一種教學方法[4]。比如,在講授變量定義這一知識點時,教師先進行提問:我們班一共有多少個人?人數(shù)是用什么數(shù)來表示的?學生一般會回答人數(shù)是用整數(shù)來表示的。接下來教師進一步進行提問:那么在編寫程序的時候,怎么體現(xiàn)出人數(shù)是一個整數(shù)呢?這個時候?qū)W生會回答:我們可以告訴計算機,用整數(shù)來表示人數(shù)。順理成章的老師的第三個問題就會出來:我們怎么告訴計算機呢?這樣很自然的就可以引出變量定義這個知識點。通過這種啟發(fā)式教學,可以促使學生主動地進行思考,建立起所學內(nèi)容與解決實際問題之間的聯(lián)系,當再次遇到類似問題的時候可以很快的得到解決方法,真正做到即學即用,達到學以致用的教學目的。3.2.2案例教學法通過啟發(fā)式教學,學生對于基本語法知識有了一定了解之后,再讓案例教學貫穿于整個課堂教學之中。創(chuàng)建一種“提出問題—分析問題—解決問題”的課堂教學模式,圍繞每個模塊中精心設計的案例展開教學,這樣不但可以激發(fā)學生的學習興趣,還能夠在解決問題的過程中增強學生的自信心與成就感。3.2.3對分教學法為了提高學生的學習積極性,使學生由被動地跟著老師的思維走,變成積極主動地和老師一起思考,還可以采用對分教學法。對分教學是一種新的課堂教學模式,其核心理念為:教師將課堂時間一分為二,一半時間由教師進行整體的講授,另一半時間則分配給學生,讓學生以討論的形式進行學習[5]。采用對分教學法時,整個教學過程被分為“講授、內(nèi)化吸收、討論”三個階段來完成[6]。教師在課堂上只對內(nèi)容框架、基本概念、重難點進行整體的講解;接下來學生利用為期一周的時間,通過閱讀課本、查閱資料等方式,對教師所講授的內(nèi)容進行內(nèi)化吸收;在下次上課的時候,對于這一周的學習內(nèi)容,學生在課堂上分小組進行討論,并以小組為單位對討論結果進行總結,最后由老師進行點評。3.3加強實踐教學,理論與實踐緊密結合。C語言是一門實踐性較強的課程,學生的編程能力必須要通過不斷的上機實踐才能得到提高。但是,從目前的實驗課來看,實驗課效果并不理想,學生普遍認為編程無從下手,整個實驗課課堂效率較低。為了解決這一問題,我們在上機實踐的教學過程中采取以下措施:3.3.1合理設置實驗內(nèi)容。針對上述模塊中所涉及的知識點,精心設計實驗內(nèi)容,要求學生根據(jù)所學的知識進行程序設計。在設計實驗內(nèi)容的時候,還要考慮到學生的理解水平和接受知識能力的差異,將每次的實驗內(nèi)容分為必做實驗和選做實驗。必做實驗是每個學生必須要完成的內(nèi)容,對于知識掌握較好的學生,則鼓勵他們嘗試去完成選做實驗。3.3.2理論授課進機房。傳統(tǒng)教學中,通常是每周先在教室進行2次理論授課,再在機房進行1次上機實踐。這種“先理論后實踐”的教學方式會導致理論與實踐相脫節(jié),對于所學的知識點學生無法在第一時間進行上機實踐。在本次教學改革中,我們嘗試將理論課也放在機房進行授課,在上課的過程中,每個學生一臺電腦,教師每講完一個知識點后,學生立馬進行編程實踐。這種理論與實踐相融合的方式,不僅能夠幫助學生更好地去理解抽象的語法知識,同時也能夠增強學生學習C語言的學習興趣。3.3.3教學軟件輔助實踐教學。在實踐教學中,因為每個學生都擁有電腦,可能會出現(xiàn)學生利用電腦進行課程學習以外的行為,因此課堂紀律的維持是至關重要的,教師必須要做好對學生機的控制。這里,我院采用的是長城電子教室系統(tǒng),通過該系統(tǒng)教師可以對每一個學生的電腦進行嚴格的監(jiān)控。在每次上課之前,教師通過該系統(tǒng)對學生進行電子點名,檢查學生的出勤情況。除此之外,教師還可以利用該系統(tǒng)進行廣播教學,對于一些較復雜的程序,可以利用廣播教學教會學生跟蹤調(diào)試程序的方法,使學生在以后的編程過程中,可以用同樣的方法來調(diào)試自己的程序,及時發(fā)現(xiàn)程序中的邏輯問題并解決問題。3.4優(yōu)化課程考核方式,完善考核評價體系。傳統(tǒng)的C語言考核是閉卷筆試的方式,這樣會導致學生重理論輕實踐,很多學生期末考試雖然得分很高,但是編程能力卻一般。為了避免此類現(xiàn)象的出現(xiàn),在本次教改中,我們逐步加重過程考核的比重,降低期末卷面成績的比重。學生最終的成績由卷面成績和過程考核成績兩部分組成,期末卷面成績占50%,過程考核成績占50%。其中過程考核成績又分為兩部分,一部分由每次上機實踐過程中學生的出勤、上機表現(xiàn)和實踐報告組成,占過程考核的30%;另一部分由綜合實踐組成,占過程考核的70%。在綜合實踐中,將學生進行分組,教師提供若干個項目題目供題目選擇。學生由3-5人組成一個項目小組,各自分工明確,小組合作完成程序設計、代碼編寫、程序調(diào)試,撰寫綜合報告,并制作PPT進行綜合答辯,最后根據(jù)各個環(huán)節(jié)的完成情況由教師給出綜合實踐的成績。通過這種綜合實踐的方式,能夠把理論知識的學習和動手實踐能力的培養(yǎng)有效結合起來,最大程度挖掘出學生的創(chuàng)造力,讓學生具有分析和解決實際問題的能力。

4結語

自動化專業(yè)C語言課程的教學改革,在教授學生如何學習編程、培養(yǎng)學生邏輯思維能力的過程中,不斷嘗試新的教學方法,并將C語言的教學與自動化專業(yè)課程體系相結合。通過連續(xù)兩年對我院自動化專業(yè)學生的教學改革試點情況來看,學生的學習積極性和對課堂教學的滿意度明顯得到了提高,學習效果顯著增強,后續(xù)專業(yè)課的學習效果也得到了較為明顯的改善。接下來,我們將根據(jù)實際教學情況,對本文提出的教改措施進行進一步的完善,形成一套適用于自動化專業(yè)的、并且具有良好教學效果的教學方案。

參考文獻:

[1]譚浩強.C程序設計[M].3版.北京:清華大學出版社,2009.

[2]陳麗敏,邵長友.基于自動化專業(yè)C語言課程教學改革的研究[J].中國電力教育,2013(31):76.

[3]胡艷華.獨立學院非計算機專業(yè)C語言程序設計教改簡論[J].計算機教育,2011(20):49-52.

[4]余炳輝,孫娟.《C語言》課程教改淺論[J].學術論壇,2009(27):222.

[5]王飛飛,張素真.“對分”在C語言實訓教學中的探索與應用[J].科技資訊,2016(29):109-111.

[6]張學新.對分課堂:大學課堂教學改革的新探索[J].復旦教育論壇,2014,12(5):5-10.

作者:鄭磊 單位:南京理工大學紫金學院