李冬梅
摘 要 程序設(shè)計(jì)基礎(chǔ)I即C語言是一種介于高級(jí)語言和低級(jí)語言之間的中間語言,它具有兩者的特點(diǎn)。C語言的用途非常廣泛,即可用于底層系統(tǒng)開發(fā),也可用于軟件開發(fā)。所以在國(guó)內(nèi)的各個(gè)高校,基本都把C語言作為學(xué)生必學(xué)的課程之一。本文針對(duì)在大一新生中開展C語言教學(xué)提出了幾點(diǎn)改進(jìn)建議,也可作為其它程序設(shè)計(jì)類課程教學(xué)的參考。
關(guān)鍵詞 程序設(shè)計(jì)基礎(chǔ)I 高級(jí)語言 C語言
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A
0引言
隨機(jī)計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)編程語言也發(fā)生了翻天覆地的變化。從最初的機(jī)器語言,到后來的匯編語言,再到現(xiàn)在的高級(jí)語言,如C語言,C++語言,C#語言,JAVA語言等。機(jī)器語言由于可讀性差,對(duì)編程人員要求過高,可移植差等缺陷,已基本被人們忽略。而C語言作為一種中間語言,可以作為人們學(xué)習(xí)其他編程類語言的入門語言。它通俗易懂的語法很容易讓學(xué)習(xí)者接受,深受大家的喜歡。當(dāng)然要求學(xué)習(xí)者必須具備一定的計(jì)算機(jī)硬件知識(shí),如內(nèi)存,二進(jìn)制等。所以在很多高校中,安排學(xué)生在大一接受大學(xué)計(jì)算機(jī)基礎(chǔ)知識(shí)的學(xué)習(xí),大二開設(shè)C語言程序設(shè)計(jì)這門課程。但從2016年起我校計(jì)算機(jī)專業(yè)的學(xué)生在大一第一學(xué)期開設(shè)程序設(shè)計(jì)基礎(chǔ)I這門課程。教材選用劉克成教授主編的《C語言程序設(shè)計(jì)》,同時(shí)根據(jù)這門課程實(shí)踐性要求很強(qiáng)的特點(diǎn),還選用了配套的實(shí)驗(yàn)教材。近年來,該門課程學(xué)生的學(xué)習(xí)人數(shù)保持在200人/年。作者講授《程序設(shè)計(jì)基礎(chǔ)I》過程中,不斷總結(jié)經(jīng)驗(yàn)教訓(xùn),針對(duì)這門課程的難點(diǎn)和重點(diǎn),提出了幾點(diǎn)的解決方法。
1在大一新生中普及計(jì)算機(jī)基礎(chǔ)知識(shí)
計(jì)算機(jī)課程的學(xué)習(xí)雖然在初高中階段就有接觸,但最初依然是停留在簡(jiǎn)單了解階段,并不深入。所以,大一新生對(duì)計(jì)算機(jī)硬件的結(jié)構(gòu)和工作原理并不清楚。由于該原因,在講授C語言程序設(shè)計(jì)之前,首先要向?qū)W生講授計(jì)算機(jī)的一些基礎(chǔ)知識(shí)。如硬件的構(gòu)成:運(yùn)算器,控制器,存儲(chǔ)器,輸入設(shè)備和輸出設(shè)備。讓學(xué)生清楚計(jì)算機(jī)內(nèi)部的存儲(chǔ)格式是二進(jìn)制,需要清楚各種數(shù)制之間的轉(zhuǎn)換方法及內(nèi)存的特點(diǎn)和存儲(chǔ)空間大小的度量單位等。這些預(yù)備知識(shí)的學(xué)習(xí),可以幫助學(xué)生很好理解一個(gè)程序的運(yùn)行過程和原理,并為后續(xù)指針這一章節(jié)的學(xué)習(xí)奠定基礎(chǔ)。
2生動(dòng)有趣的案例教學(xué)引入課堂
C語言這門課程實(shí)踐性很強(qiáng),所以教材中會(huì)給出大量的與相關(guān)知識(shí)點(diǎn)對(duì)應(yīng)的程序代碼。但這些例子僅僅是為了講清楚所學(xué)的命令或函數(shù),比較單調(diào),趣味性也不強(qiáng),很難調(diào)動(dòng)學(xué)生的積極性。大一新生往往會(huì)對(duì)計(jì)算機(jī)游戲,趣味項(xiàng)目很感興趣。所以,教師可以針對(duì)學(xué)生的心理特點(diǎn),在講授完某一知識(shí)點(diǎn)后,引出利用所學(xué)知識(shí)可以實(shí)現(xiàn)一些游戲的開發(fā)環(huán)節(jié)。給出游戲規(guī)則,讓同學(xué)們分組討論,如何利用所學(xué)內(nèi)容完成對(duì)應(yīng)程序的編寫。通過這種方式極大地激發(fā)了學(xué)生學(xué)習(xí)的熱情。
另外,在舉例的時(shí)候,很多老師喜歡給出一些邏輯復(fù)雜的程序讓學(xué)習(xí)分析,力爭(zhēng)包含更多的知識(shí)點(diǎn)。但實(shí)際上這種方法對(duì)于剛接觸編程的大一新生并不可取。程序中包含的代碼再?gòu)?fù)雜也都是由簡(jiǎn)單的語句構(gòu)成,所以學(xué)生只要理解了每一個(gè)語句的運(yùn)行過程和原理,就能夠分析出正確的運(yùn)行結(jié)果。所以,在課程講授的過程中,仍然以基礎(chǔ)知識(shí)的講授為主。
3教學(xué)工作的改革方法
(1)理論教學(xué)的改進(jìn)。C語言程序設(shè)計(jì)雖然屬于軟件課程的范疇,但具有底層的匯編語言的一些特點(diǎn)。所以計(jì)算機(jī)硬件知識(shí)學(xué)習(xí)是必須的。不應(yīng)脫離硬件知識(shí)而直接講授這門課程。否則學(xué)生會(huì)對(duì)程序的運(yùn)行過程一知半解,并不深入。在以后編寫程序的過程中,對(duì)遇到的錯(cuò)誤問題不能透徹的進(jìn)行分析。
(2)講授過程引導(dǎo)學(xué)生思考。在教學(xué)中,采用提出問題-分析問題-解決問題的思路講授知識(shí)點(diǎn)。讓學(xué)生變被動(dòng)為主動(dòng),自覺融入課堂學(xué)習(xí),以學(xué)生為主體展開教學(xué),而不再是灌輸式的教學(xué)。例如,在講解排序算法之前,給出5個(gè)卡通人物,讓學(xué)生思考如何才能按照個(gè)子高低進(jìn)行排序,學(xué)生參與討論,給出結(jié)果。這樣學(xué)生的積極性被調(diào)動(dòng)起來,就樂意對(duì)接下來介紹的排序算法認(rèn)真聆聽。
(3)考試形式的改革。程序設(shè)計(jì)類課程的考試可以使用上級(jí)考試也可以使用筆試??紤]到這門課程的特點(diǎn),我校對(duì)C語言程序設(shè)計(jì)這門課程統(tǒng)一采用上機(jī)閉卷考試的形式。這種形式,不用讓學(xué)生死記一些語法格式,通過上機(jī)考試靈活對(duì)程序進(jìn)行編寫及調(diào)試。考題可以是選擇題,填空題,改錯(cuò)題和編程題等。在實(shí)踐中加強(qiáng)對(duì)理論知識(shí)的學(xué)習(xí),可以取得事半功倍的效果。
4結(jié)束語
C語言屬于高級(jí)的程序設(shè)計(jì)語言,應(yīng)用很廣。所以除了計(jì)算機(jī)專業(yè),其他很多專業(yè)都會(huì)開設(shè)這門課程。針對(duì)在大一新生中開設(shè)這門課程而存在的一些問題,作者根據(jù)近兩年的工作經(jīng)驗(yàn),提出了一些改進(jìn)建議,并取得了較好的教學(xué)效果。這種改進(jìn)方法,同樣適用于其他的程序設(shè)計(jì)語言類的教學(xué)改革。
參考文獻(xiàn)
[1] 盧穎,劉白林,羅鴻雁.“三本”學(xué)生C語言課教學(xué)質(zhì)量提高之我見[J].計(jì)算機(jī)教育,2010(21):84-87.
[2] 段云娜.“C語言程序設(shè)計(jì)”教學(xué)方法探究[J].吉林教育,2013(10):6-7.
[3] 張艷格,越琳.電子商務(wù)專業(yè)C語言教學(xué)改革探索[J].教育改革,2011(10):17.
[4] 薛小鋒,薛向紅.案例教學(xué)在非計(jì)算機(jī)專業(yè)“C語言程序設(shè)計(jì)”教學(xué)中的應(yīng)用[J].江蘇技術(shù)師范學(xué)院學(xué)報(bào),2010(04):85-87+93.