C語言程序設(shè)計教學(xué)的實踐與心得
《C語言程序設(shè)計》教學(xué)的實踐與心得
【摘要】在21世紀(jì)的大環(huán)境下,各種實踐性學(xué)科都將面臨著強大的沖擊,而作為計算機軟件開發(fā)等的入門語言,更顯得尤為關(guān)注。強調(diào)實驗的重要性,可以促使學(xué)生在學(xué)習(xí)C語言的基本知識之外加強編程實踐,使學(xué)生在掌握C語言語法知識的同時,也掌握程序設(shè)計的思想和方法,這樣才能引導(dǎo)和督促學(xué)生多編程序,編出優(yōu)秀的程序,增強學(xué)生的動手能力。
【關(guān)鍵詞】C語言可移植性應(yīng)用性程序調(diào)試
C語言是一門高級程序設(shè)計語言,使用廣泛,表達(dá)能力強,目標(biāo)代碼運行效率高,可移植性好,既具有高級語言的優(yōu)點,又具有低級語言的許多特點,既可以用來編寫系統(tǒng)軟件,又可以用來編寫應(yīng)用軟件。因此《C語言程序設(shè)計》課程在教學(xué)中占有重要地位。
《C語言程序設(shè)計》是高職高專院校計算機專業(yè)的一門核心專業(yè)基礎(chǔ)課程,同時也是多數(shù)非計算機專業(yè)的主要選修課。該課程是一門實踐性與應(yīng)用性較強的課程,目的是培養(yǎng)學(xué)生算法設(shè)計的基本思想和程序設(shè)計的基本技能。課程的內(nèi)容主要涉及C語言的基本概念、基本語法以及C語言程序設(shè)計的基本方法,在教學(xué)中既要重視嚴(yán)謹(jǐn)?shù)南到y(tǒng)理論教學(xué),又要重視實踐性環(huán)節(jié)和案例的討論與分析,為以后有關(guān)課程的學(xué)習(xí)和從事軟件開發(fā)奠定基礎(chǔ)。以下是本人在《C語言程序設(shè)計》課程教學(xué)過程中的一些經(jīng)驗和體會,與大家共勉。
一、提高教師自身素質(zhì)
教師首先要提高自身的政治素質(zhì)和業(yè)務(wù)水平,及時了解最新的科技成果并掌握C語言應(yīng)用技術(shù)的發(fā)展方向,要不斷拓寬知識面,具備一定的知識高度,同時不斷研究與改進教學(xué)方法,理論聯(lián)系實際,提高自身的教學(xué)水平。
二、合理選擇教材
高職教育是針對崗位一線培養(yǎng)應(yīng)用型、技能型人才的,而目前高職教育的C語言教材普遍存在的問題是結(jié)合崗位的針對性不強,技能訓(xùn)練的實踐性不夠。教材是提高教學(xué)質(zhì)量的基礎(chǔ)和前提,是學(xué)生系統(tǒng)學(xué)習(xí)知識的依據(jù),一本好的教材應(yīng)能培養(yǎng)學(xué)生的自學(xué)能力和獨立思考能力,使學(xué)生能夠依據(jù)教材理解課堂教學(xué)內(nèi)容,深入了解本學(xué)科各個領(lǐng)域的知識。在選擇教材方面應(yīng)注重以下幾個方面:(1)充分考慮高職高專教學(xué)的特色,理論知識要夠用,注重理論聯(lián)系實際,突出實用性。(2)語言表達(dá)要通俗易懂,在內(nèi)容編排上盡量符合初學(xué)者的要求。(3)注意點與面的結(jié)合,注重基礎(chǔ)與新技術(shù)的結(jié)合,使教材不僅是師生教與學(xué)的媒介,還是能夠培養(yǎng)學(xué)生編程能力的工具。(4)在選擇好的教材的同時,教師應(yīng)積極編寫符合實際教學(xué)需要的高質(zhì)量的教材。明確C語言課程的教學(xué)目標(biāo),培養(yǎng)學(xué)生模塊化程序設(shè)計的邏輯思維能力,掌握程序設(shè)計的基本語法規(guī)則和程序調(diào)試方法,具備初步的分析問題與解決問題的能力。主要的教學(xué)目標(biāo)包括:掌握C語言語法,能夠熟練運用基本程序結(jié)構(gòu)解決簡單問題,理解模塊化程序設(shè)計原則并能針對復(fù)雜問題進行合理分解,掌握基本算法分析與設(shè)計知識。
1.作為計算機專業(yè)的基礎(chǔ)課,目的是使學(xué)生掌握程序設(shè)計的基本方法并逐步形成正確的程序設(shè)計思想,能夠熟練地使用C語言進行程序設(shè)計,具備調(diào)試程序的能力,為后繼課程及其他程序設(shè)計課程的學(xué)習(xí)和應(yīng)用打下基礎(chǔ)。學(xué)生要在理解C語言的基礎(chǔ)上更加專注于理解《算法》或者《數(shù)據(jù)結(jié)構(gòu)》等課程,而不至于被語言本身的復(fù)雜語法現(xiàn)象干擾,要強調(diào)C語言的實用性。另外,在掌握C語言的基礎(chǔ)上,比較容易學(xué)習(xí)其他主流編程語言,學(xué)生通過對C語言的學(xué)習(xí),可以獲得針對基本程序結(jié)構(gòu)的程序編寫與程序調(diào)試知識。
2.學(xué)生對C語言的熟練掌握可以在一定程度上降低后續(xù)計算機硬件技術(shù)基礎(chǔ)課程的學(xué)習(xí)難度。計算機硬件技術(shù)基礎(chǔ)課程中有很大一部分內(nèi)容是對匯編語言的學(xué)習(xí),同樣作為面向機器模型的程序設(shè)計語言,C語言僅僅是抽象程度更高一些,其程序結(jié)構(gòu)與匯編語言具有一定的相似性,C語言的編程經(jīng)驗對學(xué)生學(xué)習(xí)匯編語言會有很大的幫助。
3.對于非計算機專業(yè)理工類學(xué)生而言,該課程有比較強的工業(yè)基礎(chǔ)應(yīng)用前景,C語言為用計算機解決實際問題提供了方法,是后續(xù)理論與實踐教學(xué)的基礎(chǔ)和重要工具,同時也是計算機二級考試所統(tǒng)一要求的課程之一。教學(xué)內(nèi)容的改革應(yīng)本著突出基礎(chǔ)理論知識的應(yīng)用和實踐能力培養(yǎng)的原則,以應(yīng)用為目的,以“必需、夠用”為度,加強針對性和實用性。
三、注重教學(xué)過程,優(yōu)化教學(xué)方法,把握教與學(xué)的關(guān)系
高職高專C語言課程理論性強,概念性強,抽象而且復(fù)雜,在教學(xué)過程中要注意的問題主要有:培養(yǎng)學(xué)生對C語言的興趣;教給學(xué)生正確的學(xué)習(xí)方法;加強實踐教學(xué)環(huán)節(jié);有效地組織課程設(shè)計;培養(yǎng)學(xué)生分析和解決實際問題的能力。教學(xué)過程是教師和學(xué)生的雙邊活動,只有既注重教,又注重學(xué),才能真正做到教為學(xué)服務(wù)。教師所要做的就是傳道、授業(yè)、解惑,開闊學(xué)生的思路,激發(fā)學(xué)生學(xué)習(xí)的積極性和主動性,激發(fā)反思,調(diào)動潛能,引導(dǎo)學(xué)生討論,幫助學(xué)生解決遇到的問題,寓教于學(xué)。只有把握好教與學(xué)的關(guān)系,才能優(yōu)化整個教學(xué)過程。
1.將案例帶到教學(xué)中來。C語言是應(yīng)用性很強的一門課程,既有理論,又有實踐,既講方法,又講動手能力。采用案例教學(xué)法可以改變“滿堂灌”的做法,將學(xué)生的眼、手、腦全部調(diào)動起來,培養(yǎng)學(xué)生的學(xué)習(xí)興趣。本人在上課過程中,將課程內(nèi)容分為若干個主題,以程序設(shè)計作為貫穿各主題的主線,每個主題的教學(xué)過程由“要點講解”、“自學(xué)/上機實踐”和“疑難解答”三個階段組成。通過案例分析,重點講解程序設(shè)計的思想和方法,輔以語言知識的介紹;然后通過上機練習(xí),包括基本訓(xùn)練(自測作業(yè)和主題作業(yè))與綜合訓(xùn)練(大型作業(yè)),教師針對學(xué)生暴露出的問題答疑解惑,結(jié)合案例教學(xué),努力將C語言作為解決實際問題的工具,強化學(xué)生的編程能力,在分析程序與程序設(shè)計的過程中使學(xué)生逐步熟悉語法,應(yīng)用語句,提高學(xué)生分析問題、解決問題的能力,由淺入深、由易到難、循序漸進地使學(xué)生在實踐中掌握知識,培養(yǎng)程序設(shè)計能力,逐步理解和掌握程序設(shè)計的思想和方法。最終在課堂上教師扮演“和方法,運主導(dǎo)”角色,而學(xué)生真正地成為“主體”。
例如:《C程序教程》(譚浩強主編)中有一題為:用循環(huán)語句結(jié)構(gòu)判斷整數(shù)m是否為素數(shù)。
/*ex5_5.c*/#include"stdio.h"main(){
intm,c=2;scanf("%d",&m);while(m%c)}
書中介紹了三種循環(huán)語句結(jié)構(gòu)均可以作出判斷結(jié)果,這時我們就應(yīng)該利用“比較法”,將三種循環(huán)語句結(jié)構(gòu)進行對比,使學(xué)生有一個較為深刻的理解與記憶。
2.切合實際的分組教學(xué)。要真正掌握程序設(shè)計的思想用語言解決實際問題,綜合訓(xùn)練勢在必行。整個過程以學(xué)生獨立完成為主,教師提供相應(yīng)的理論輔導(dǎo)。經(jīng)過這樣的模擬實際軟件開發(fā)的演練,不但提高了學(xué)生的學(xué)習(xí)興趣,培養(yǎng)了學(xué)生問題求解和編程能力,還有利于培養(yǎng)他們探索與創(chuàng)新的能力,更加有利于激發(fā)學(xué)生學(xué)習(xí)的積極性。
3.分層次教學(xué)。即標(biāo)準(zhǔn)化教學(xué)與個性化教學(xué)相結(jié)合,結(jié)合不同專業(yè)、不同班級學(xué)生的具體情況,制定各有特色的教案、講稿和教學(xué)課件。既發(fā)揮群體智力優(yōu)勢,又充分發(fā)揮教師個體的教學(xué)風(fēng)格特長,有利于提高教學(xué)水平。
4.加強實驗課與理論課的聯(lián)系。在理論課上將上機實驗任務(wù)題目進行講解,也可以將案例算法作為實驗內(nèi)容。實驗課程可以分為兩部分,實驗任務(wù)問題作為理論課的內(nèi)容在課堂上討論、講述,確定實現(xiàn)算法。對于同樣的題目,可以確定若干不同的算法,比較其優(yōu)劣,分析其原因。上機實驗的任務(wù)是完成已確定算法的編碼實現(xiàn)和運行。這種做法相當(dāng)于在教師帶領(lǐng)下,對實驗內(nèi)容做了集體預(yù)習(xí),貫徹了“算法重于語法,語法重于編碼”的課程指導(dǎo)原則,綜合運用學(xué)過的知識,加強實踐教學(xué)。學(xué)生只有通過大量的
c++;
printf("%disaprimenumber.\\n",m);printf("%disnotaprimenumber.\\n",m);
if(c==m)else練習(xí),才能真正掌握語言知識,培養(yǎng)程序設(shè)計能力,逐步理解和掌握程序設(shè)計的思想和方法,學(xué)會利用計算機解決實際問題。
5.充分利用多元化、現(xiàn)代化的教學(xué)手段。在教學(xué)過程中應(yīng)多方位應(yīng)用現(xiàn)代教育技術(shù)手段,尤其是多媒體輔助教學(xué)手段與網(wǎng)絡(luò)化輔助教學(xué)手段。在課堂教學(xué)中采用多媒體教學(xué)課件,加強直觀教學(xué),可提高學(xué)生的空間想象力。教師應(yīng)從最簡單的C語言程序的調(diào)試入手,詳細(xì)演示C語言程序的調(diào)試過程與調(diào)試細(xì)節(jié),同時讓學(xué)生參與進來,實現(xiàn)教師與學(xué)生、學(xué)生與學(xué)生的雙向交流和互動,提高學(xué)生的學(xué)習(xí)興趣,加深學(xué)生的理解與記憶。使其檢驗自己本階段的學(xué)習(xí)成果,加強對所學(xué)知識的吸收和消化?偨Y(jié):
改革考核方式,強化應(yīng)用能力《C語言程序設(shè)計》的考核應(yīng)采用多種形式考核學(xué)生的知識掌握程度和實踐能力,包括卷面考試與實驗考核,要強調(diào)職業(yè)技能。實驗考核可采用上機考試與平時訓(xùn)練相結(jié)合的方式,上機考試可以使用能自動組卷和評分的考試平臺;平時訓(xùn)練包括作業(yè)和綜合編程訓(xùn)練的完成情況。該評價方法可以提前讓學(xué)生體驗全國計算機等級考試的過程,也可以促使學(xué)生在學(xué)習(xí)C語言的基本知識之外加強編程實踐,使學(xué)生在掌握C語言語法知識的同時,也掌握程序設(shè)計的思想和方法,這樣才能引導(dǎo)和督促學(xué)生多編程序,編出優(yōu)秀的程序。
介于本人的能力有限,在實踐及教學(xué)環(huán)節(jié)中還存在著許許多多的問題與不足,今后將會更加關(guān)注自身能力的提高,以便取得更好的教學(xué)效果。
【參考文獻(xiàn)】
[1]張陵山《C語言程序設(shè)計教程(修訂版)》湖南大學(xué)出版社[2]楊起帆《C語言程序設(shè)計教程》浙江大學(xué)出版社[3]譚浩強《C程序設(shè)計(第二版)》清華大學(xué)出版社
擴展閱讀:C語言程序設(shè)計教學(xué)實踐和改革
淺談C語言程序設(shè)計的教學(xué)實踐和改革
摘要:c語言是大多數(shù)計算機相關(guān)專業(yè)的首選程序設(shè)計語言,依據(jù)實際教學(xué)經(jīng)驗從教學(xué)和考核方式對這門課程進行了探索,目的在于培養(yǎng)學(xué)生分析問題、解決問題的能力,培養(yǎng)學(xué)生的創(chuàng)新精神、團隊意識,為學(xué)生提供更好的展示才華的舞臺。關(guān)鍵詞:任務(wù)驅(qū)動;循序漸進;上機實踐;考核方式
c語言是目前廣泛用于軟件開發(fā)的一種編譯型程序設(shè)計語言,被廣泛地應(yīng)用于系統(tǒng)軟件的開發(fā)設(shè)計中,是大中型軟件設(shè)計的常用工具。因此,許多院校的相關(guān)專業(yè)開設(shè)了c語言程序設(shè)計課程,將其作為學(xué)生學(xué)習(xí)程序設(shè)計的基礎(chǔ)課程,這與c語言的特點是分不開的。c語言不但可以編寫系統(tǒng)軟件,而且可以根據(jù)用戶的需要編寫出滿足用戶要求的軟件,尤其是c語言具有很好的對計算機的硬件編程能力。為了改善c語言的教學(xué)狀況,使學(xué)生能真正掌握這門課程的知識,教師必須利用現(xiàn)有資源重新整合教學(xué)內(nèi)容,改進單一、乏味的教學(xué)方法,以提高學(xué)生的學(xué)習(xí)興趣及學(xué)以致用的能力。我在教學(xué)過程中從以下幾方面對c語言程序設(shè)計這門課程的教學(xué)和考核進行了探索。
一、采用“任務(wù)驅(qū)動”教學(xué)方式,提高學(xué)生分析問題和解決問題的能力
“任務(wù)驅(qū)動”指在學(xué)習(xí)的過程中,學(xué)生在教師的幫助下,緊緊圍繞一個共同的任務(wù)活動中心,在強烈的問題動機的驅(qū)動下,通過對學(xué)習(xí)資源的積極主動應(yīng)用,進行自主探索和互動協(xié)作的學(xué)習(xí),并在完成既定任務(wù)的同時,引導(dǎo)學(xué)生產(chǎn)生學(xué)習(xí)欲望的一種學(xué)習(xí)實踐活動。以建構(gòu)主義教學(xué)理論為基礎(chǔ),其中的任務(wù)既蘊涵了學(xué)生應(yīng)該掌握的知識與技能,又蘊涵了學(xué)生應(yīng)該獲得的能力訓(xùn)練。學(xué)生完成任務(wù)的過程是一個不斷提出問題、解決問題的過程。二、解決問題由易到難,循序漸進
職校學(xué)生的特點是比較懶惰,對深層次的東西不愛動腦筋,不愛研究思考,他們的態(tài)度大多就是放棄。為了使學(xué)生對復(fù)雜的問題有興趣,提高他們解決復(fù)雜問題的能力,我主要采用了由易到難的方法。
例如:在講解循環(huán)嵌套問題時,分析解決“在屏幕上輸出九九乘法表”,如果要直接用二重循環(huán)來講解,學(xué)生理解起來比較困難,這時我就問學(xué)生:“我們現(xiàn)在輸出九九乘法表的第一行,該怎么辦?”在此由學(xué)生自己寫出它的程序:for(i=1;i
友情提示:本文中關(guān)于《C語言程序設(shè)計教學(xué)的實踐與心得》給出的范例僅供您參考拓展思維使用,C語言程序設(shè)計教學(xué)的實踐與心得:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。