c程序設(shè)計語言范文

時間:2023-03-26 07:39:54

導(dǎo)語:如何才能寫好一篇c程序設(shè)計語言,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。

篇1

關(guān)鍵詞:關(guān)鍵詞:C++ ;教學(xué)方法;系統(tǒng)化程序設(shè)計思想

中圖分類號:G4    文獻標(biāo)識碼:A    文章編號:

面向?qū)ο笫钱?dāng)前計算機界關(guān)心的重點,面向?qū)ο蟮能浖_發(fā)方法是吸收了軟件工程領(lǐng)域有益的概念和有效的方法而發(fā)展起來的。它集抽象性、封裝性、繼承性和多態(tài)性于一體,可以幫助人們開發(fā)出模塊化、數(shù)據(jù)抽象程度高的,體現(xiàn)信息隱蔽、可復(fù)用、易修改、易擴充等特性的程序。C++是面向?qū)ο蟮木幊陶Z言,是一門既有難度又有深度的課程。學(xué)生要學(xué)好它,自己的學(xué)習(xí)方法與學(xué)習(xí)態(tài)度固然重要,但教師好的教學(xué)方法尤為關(guān)鍵。好的教學(xué)方法,可以讓學(xué)生學(xué)習(xí)起來達到事半功倍的效果。

在這里筆者結(jié)合自己的實際教學(xué)經(jīng)驗談?wù)勍ㄟ^采用什么樣的教學(xué)方法來激發(fā)學(xué)生的學(xué)習(xí)興趣,使學(xué)生在教學(xué)過程中能主動的學(xué)習(xí)。

1.良好的開端

精心準(zhǔn)備第一堂課、激發(fā)學(xué)生學(xué)習(xí)的積極性。C++程序設(shè)計語言是一門比較抽象的課程,很多內(nèi)容只可體會,很難言傳。在學(xué)習(xí)過程中感覺會比較枯燥、難懂,沒有一定的毅力很難堅持下去。這需要將學(xué)生很好地引入門,要讓學(xué)生認(rèn)知該課程的重要性與實用性,要提高他們的學(xué)習(xí)興趣,有信心去學(xué)好它。為此在第一堂課上教師可從不同專業(yè)角度為學(xué)生介紹學(xué)習(xí)本課程的意義。往屆學(xué)生的C++課程設(shè)計、數(shù)學(xué)建模、程序競賽等作品是教師第一節(jié)課的最好素材。

2.學(xué)生為主體

提倡“以學(xué)生為主體的教學(xué)模式”,教師使用多種教學(xué)媒體給出學(xué)習(xí)資源,講解重點、解釋難點、解惑疑點。充分利用多種媒體資源,發(fā)揮學(xué)生的主體作用,引導(dǎo)學(xué)生自主學(xué)習(xí),培養(yǎng)學(xué)生的自學(xué)能力。

教師要隨時了解學(xué)生是否掌握了教學(xué)目標(biāo)中要求學(xué)會的知識和技能,有多少人掌握和掌握的程度等。從而針對學(xué)生的學(xué)習(xí)現(xiàn)狀,確定應(yīng)重點講解和輔導(dǎo)的知識點,再根據(jù)學(xué)生的實際情況來設(shè)計教學(xué)環(huán)節(jié),這樣才能保持學(xué)生的學(xué)習(xí)興趣,防止他們因難懂、不懂而產(chǎn)生畏懼情緒,中途退出。

3.利用多媒體、網(wǎng)絡(luò)教學(xué)平臺,增強教學(xué)效果

   教師在備課過程中要精心制作課件,可通過示例類比(如:在講解調(diào)用的不同執(zhí)行方式時,舉例:經(jīng)理將“自己要到外地出差”的消息告訴他身邊的人(妻子、下屬、秘書)?妻子:準(zhǔn)備行李;下屬:準(zhǔn)備出差的資料;秘書:安排車票和住宿)、動畫演示等方法來簡化學(xué)習(xí)難度,營造輕松活潑的學(xué)習(xí)氛圍。

在上次授課過程中出現(xiàn)的難點問題、遺留問題要盡量在下次課的課件上能體現(xiàn)出來,避免不同授課老師,不同授課時段,不同授課班級課件一塵不變。同時在教學(xué)過程中,教師要充分利用廣播平臺演示操作過程,集中學(xué)生注意力,再通過角色轉(zhuǎn)換,由學(xué)生演示自己或所在小組的作品并進行解說和點評,充分調(diào)動學(xué)生參與的積極性。

授課教師應(yīng)開發(fā)課程網(wǎng)上教學(xué)平臺和網(wǎng)上討論和答疑系統(tǒng)為學(xué)生提供有效的網(wǎng)絡(luò)環(huán)境,這不僅是一個有效的師生互動平臺,同時也為學(xué)生提供電子教案、多媒體課件、網(wǎng)絡(luò)教學(xué)、視頻等豐富的網(wǎng)上教學(xué)資源,構(gòu)建以學(xué)生為中心的自主學(xué)習(xí)環(huán)境。

4.學(xué)生系統(tǒng)化程序設(shè)計思想的培養(yǎng)

C++是一門面向?qū)ο蟮木幊陶Z言,而面向?qū)ο缶幊谭椒ǖ某霈F(xiàn),實際上是程序設(shè)計方法發(fā)展的一個返璞歸真的過程。從本質(zhì)上講,軟件開發(fā)就是對軟件所要處理的問題域進行正確的認(rèn)識,并把這種認(rèn)識正確地描述出來。

C++程序設(shè)計課程教學(xué)一般是以程序設(shè)計語言自身的體系為脈絡(luò)展開,存在注重語句、語法教學(xué)的特點。許多學(xué)生在學(xué)習(xí)C++程序設(shè)計語言課程時,覺得聽得懂,但學(xué)過之后不能用其來解決實際問題。在這樣的教學(xué)模式下,學(xué)生雖然學(xué)到了一定的程序設(shè)計知識,但編程能力較差,部分學(xué)生遇到實際問題無從下手。系統(tǒng)化程序設(shè)計思想培養(yǎng)模式從大學(xué)生的認(rèn)知特點出發(fā),使教師在教授學(xué)生程序設(shè)計課程、提高學(xué)生編程能力的同時,培養(yǎng)學(xué)生的系統(tǒng)化程序設(shè)計思想,這對學(xué)生整體素質(zhì)的提高有很大的作用。

   程序設(shè)計課程的學(xué)習(xí)不僅要教會學(xué)生如何進行計算機編程,而且要教學(xué)生如何去思考問題。系統(tǒng)化的程序設(shè)計思想,不僅可以解決學(xué)生在程序設(shè)計中遇到的問題,還可使學(xué)生的邏輯思維更加嚴(yán)密,這對一個學(xué)計算機的大學(xué)生來說是至關(guān)重要的。系統(tǒng)化的程序設(shè)計思想的培養(yǎng)過程就是讓學(xué)生自己動手解決實際問題的過程,這個過程使學(xué)生自主去探索問題、并對它進行研究和創(chuàng)新,從而使學(xué)生覺得學(xué)有所用,一直保持學(xué)習(xí)的興趣。

5.理論聯(lián)系實際,加強實踐操作

C++程序設(shè)計語言課程的特點決定了上機實踐是教學(xué)過程中一個十分重要的組成部分。在學(xué)習(xí)C++程序設(shè)計語言的過程中要不斷練習(xí)、不斷實踐。因此,如何加強上機實踐,提高實際操作的能力,并以此進一步提高課堂教學(xué)的質(zhì)量和學(xué)生學(xué)習(xí)的興趣是值得廣大教育工作者應(yīng)該認(rèn)真思考的問題。要使學(xué)生熟練使用C++程序設(shè)計語言解決問題,在教學(xué)過程中可采用“問題引導(dǎo)、問題說明,問題解決,項目驅(qū)動”的教學(xué)流程,把知識點融入到實際項目的開發(fā)過程中,通過項目的不斷擴展引入新的知識點。做到引(教)、探(學(xué))、做(實踐)相結(jié)合,通過編寫、編譯、調(diào)試、運行、剖析和討論一些實例程序去主動地探索、學(xué)習(xí)知識,掌握技能。本課程的內(nèi)容是通過多媒體講授、學(xué)生課后搜索相關(guān)資料,安排平時的作業(yè)訓(xùn)練等環(huán)節(jié)組成的,各環(huán)節(jié)應(yīng)緊密配合。為使教學(xué)符合學(xué)生認(rèn)知規(guī)律,并堅持理論知識和實踐技能并重的原則,可以從以下幾個方面考慮。第一,合理分配上機時數(shù);第二,上機內(nèi)容要有趣味性和針對性,教師應(yīng)多花心思去精心準(zhǔn)備上機操作的內(nèi)容;第三,提高學(xué)生自主創(chuàng)新、自主學(xué)習(xí)的積極性,要學(xué)生多寫程序,不能只聽不練;最后,要檢查學(xué)生的實訓(xùn)結(jié)果,保證上機操作達到預(yù)期效果。

6.換位思考

在教學(xué)過程中發(fā)現(xiàn),很多學(xué)生不提問,不要認(rèn)為學(xué)生沒有問題,而是他們有問題不知道如何提出。這時教師需換位思考,站在學(xué)生的角度去思考學(xué)生可能會存在的問題,然后由教師提出,讓學(xué)生自己來解答,如果學(xué)生答不上來,教師再為學(xué)生解答。教師備課時不僅僅只是準(zhǔn)備自己要講授的內(nèi)容,還要思考學(xué)生會遇到什么難點,需要向?qū)W生提什么、解答什么問題,這種模式可 激發(fā)學(xué)生去積極思考、分析和解決問題。

7.綜合評價體系

期末考核評價包括:理論成績、實驗結(jié)果、案例設(shè)計成果、項目進度、完成質(zhì)量、協(xié)作能力、溝通能力和考勤情況等。各項指標(biāo)采用加權(quán)評分和突出能力評價兩種方式。案例設(shè)計采用“自我實現(xiàn),自我管理”的理念進行開放式管理,學(xué)期最后一個月學(xué)生可自由分組選擇某個案例。每組同學(xué)在老師的指引下,自發(fā)形成研發(fā)項目組,通過分工協(xié)作,共同完成整個項目設(shè)計。要求設(shè)計成果與案例庫比較要具有新意,從而拓展學(xué)生的創(chuàng)新意識,激發(fā)學(xué)生的學(xué)習(xí)興趣。  

  總之,課堂教學(xué)是師生的雙向活動.現(xiàn)代課堂教學(xué)倡導(dǎo)學(xué)生主動參與,主動探索的主體意識。教師作為主導(dǎo)者,要科學(xué)地組織雙邊活動,盡管教無定法,但要教學(xué)有法,教學(xué)得法。作為教育工作者要不斷地更新觀念,更新知識,在保證學(xué)生學(xué)習(xí)積極性的前提下,按照他們的認(rèn)知規(guī)律組織教學(xué),并為適應(yīng)新知識而進行教學(xué)改革,以培養(yǎng)出更多的符合社會需求的計算機人才,使教育更好地為社會服務(wù)。

參考文獻:

[1].錢能.C++程序設(shè)計教程[M].北京:清華大學(xué)出版社,1999

篇2

1、不是;

2、C是面向過程的程序設(shè)計語言;

3、C++是面向?qū)ο蟮?,C#和Java也都是面向?qū)ο蟮?而且面向?qū)ο蟮某潭缺萩++高,但不是完全面向?qū)ο蟮模?/p>

4、Ruby是完全面向?qū)ο蟮木幊陶Z言,連int等基本類型也是對象。

(來源:文章屋網(wǎng) )

篇3

在這個星期里,我們專業(yè)的學(xué)生在專業(yè)老師的帶領(lǐng)下進行了c語言程序?qū)嵺`學(xué)習(xí)。在這之前,我們已經(jīng)對c語言這門課程學(xué)習(xí)了一個學(xué)期,對其有了一定的了解,但是也僅僅是停留在了解的范圍,對里面的好多東西還是很陌生,的在運用起來的時候還是感到很棘手,畢竟,萬事開頭難嘛。

由于時間的關(guān)系,我們的這次實踐課程老師并沒有給我們詳細(xì)的介紹,只是給我們簡單的介紹了幾個比較重要的實際操作。包括了程序模塊處理.簡單界面程序.高級界面程序.程序的添加修改.用程序做一元線性回歸處理以及用c語言程序來畫粒度分布圖等這幾樣比較重要的時間操作。

上機實驗是學(xué)習(xí)程序設(shè)計語言必不可少的實踐環(huán)節(jié),特別是c語言靈活、簡潔,更需要通過編程的實踐來真正掌握它。對于程序設(shè)計語言的學(xué)習(xí)目的,可以概括為學(xué)習(xí)語法規(guī)定、掌握程序設(shè)計方法、提高程序開發(fā)能力,這些都必須通過充分的實際上機操作才能完成。

學(xué)習(xí)c程序設(shè)計語言除了課堂講授以外,必須保證有不少于課堂講授學(xué)時的上機時間。因為學(xué)時所限,課程不能安排過多的統(tǒng)一上機實驗,所以希望學(xué)生有效地利用課程上機實驗的機會,盡快掌握用c語言開發(fā)程序的能力,為今后的繼續(xù)學(xué)習(xí)打下一個良好的基礎(chǔ)。為此,我們結(jié)合課堂講授的內(nèi)容和進度,安排了12次上機實驗。課程上機實驗的目的,不僅僅是驗證教材和講課的內(nèi)容、檢查自己所編的程序是否正確,課程安排的上機實驗的目的可以概括為如下幾個方面:

1.加深對課堂講授內(nèi)容的理解

課堂上要講授許多關(guān)于c語言的語法規(guī)則,聽起來十分枯燥無味,也不容易記住,死記硬背是不可取的。然而要使用c語言這個工具解決實際問題,又必須掌握它。通過多次上機練習(xí),對于語法知識有了感性的認(rèn)識,加深對它的理解,在理解的基礎(chǔ)上就會自然而然地掌握c語言的語法規(guī)定。對于一些內(nèi)容自己認(rèn)為在課堂上聽懂了,但上機實踐中會發(fā)現(xiàn)原來理解的偏差,這是由于大部分學(xué)生是初次接觸程序設(shè)計,缺乏程序設(shè)計的實踐所致。

學(xué)習(xí)c語言不能停留在學(xué)習(xí)它的語法規(guī)則,而是利用學(xué)到的知識編寫c語言程序,解決實際問題。即把c語言作為工具,描述解決實際問題的步驟,由計算機幫助我們解題。只有通過上機才能檢驗自己是否掌握c語言、自己編寫的程序是否能夠正確地解題。

通過上機實驗來驗證自己編制的程序是否正確,恐怕是大多數(shù)同學(xué)在完成老師作業(yè)時的心態(tài)。但是在程序設(shè)計領(lǐng)域里這是一定要克服的傳統(tǒng)的、錯誤的想法。因為在這種思想支配下,可能你會想辦法去"掩蓋"程序中的錯誤,而不是盡可能多地發(fā)現(xiàn)程序中存在的問題。自己編好程序上機調(diào)試運行時,可能有很多你想不到的情況發(fā)生,通過解決這些問題,可以逐步提高自己對c語言的理解和程序開發(fā)能力。

2.熟悉程序開發(fā)環(huán)境、學(xué)習(xí)計算機系統(tǒng)的操作方法

一個c語言程序從編輯、編譯、連接到運行,都要在一定的外部操作環(huán)境下才能進行。所謂"環(huán)境"就是所用的計算機系統(tǒng)硬件、軟件條件,只有學(xué)會使用這些環(huán)境,才能進行程序開發(fā)工作。通過上機實驗,熟練地掌握c語言開發(fā)環(huán)境,為以后真正編寫計算機程序解決實際問題打下基礎(chǔ)。同時,在今后遇到其它開發(fā)環(huán)境時就會觸類旁通,很快掌握新系統(tǒng)的使用。

3.學(xué)習(xí)上機調(diào)試程序

篇4

由于時間的關(guān)系,我們的這次實習(xí)課程老師并沒有給我們詳細(xì)的介紹,只是給我們簡單的介紹了幾個比較重要的實際操作。包括了程序模塊處理.簡單界面程序.高級界面程序.程序的添加修改.用程序做一元線性回歸處理以及用c語言程序來畫粒度分布圖等這幾樣比較重要的時間操作。

上機實驗是學(xué)習(xí)程序設(shè)計語言必不可少的實習(xí)環(huán)節(jié),特別是c語言靈活、簡潔,更需要通過編程的實習(xí)來真正掌握它。對于程序設(shè)計語言的學(xué)習(xí)目的,可以概括為學(xué)習(xí)語法規(guī)定、掌握程序設(shè)計方法、提高程序開發(fā)能力,這些都必須通過充分的實際上機操作才能完成。

學(xué)習(xí)c程序設(shè)計語言除了課堂講授以外,必須保證有不少于課堂講授學(xué)時的上機時間。因為學(xué)時所限,課程不能安排過多的統(tǒng)一上機實驗,所以希望學(xué)生有效地利用課程上機實驗的機會,盡快掌握用c語言開發(fā)程序的能力,為今后的繼續(xù)學(xué)習(xí)打下一個良好的基礎(chǔ)。為此,我們結(jié)合課堂講授的內(nèi)容和進度,安排了12次上機實驗。課程上機實驗的目的,不僅僅是驗證教材和講課的內(nèi)容、檢查自己所編的程序是否正確,課程安排的上機實驗的目的可以概括為如下幾個方面:

1.熟悉程序開發(fā)環(huán)境、學(xué)習(xí)計算機系統(tǒng)的操作方法

一個c語言程序從編輯、編譯、連接到運行,都要在一定的外部操作環(huán)境下才能進行。所謂 環(huán)境 就是所用的計算機系統(tǒng)硬件、軟件條件,只有學(xué)會使用這些環(huán)境,才能進行程序開發(fā)工作。通過上機實驗,熟練地掌握c語言開發(fā)環(huán)境,為以后真正編寫計算機程序解決實際問題打下基礎(chǔ)。同時,在今后遇到其它開發(fā)環(huán)境時就會觸類旁通,很快掌握新系統(tǒng)的使用。

2.學(xué)習(xí)上機調(diào)試程序

完成程序的編寫,決不意味著萬事大吉。你認(rèn)為萬無一失的程序,實際上機運行時可能不斷出現(xiàn)麻煩。如編譯程序檢測出一大堆錯誤。有時程序本身不存在語法錯誤,也能夠順利運行,但是運行結(jié)果顯然是錯誤的。開發(fā)環(huán)境所提供的編譯系統(tǒng)無法發(fā)現(xiàn)這種程序邏輯錯誤,只能靠自己的上機經(jīng)驗分析判斷錯誤所在。程序的調(diào)試是一個技巧性很強的工作,對于初學(xué)者來說,盡快掌握程序調(diào)試方法是非常重要的。有時候一個消耗你幾個小時時間的小小錯誤,調(diào)試高手一眼就看出錯誤所在。

通過這次為數(shù)不多的幾天計算機實習(xí)學(xué)習(xí),我們了解了一些關(guān)于c語言的知識,理解鞏固了我們c語言的理論知識,著對我們將來到社會工作將會有莫大的幫助。同時它讓我知道,只要你努力,任何東西都不會太難。

3.加深對課堂講授內(nèi)容的理解

課堂上要講授許多關(guān)于c語言的語法規(guī)則,聽起來十分枯燥無味,也不容易記住,死記硬背是不可取的。然而要使用c語言這個工具解決實際問題,又必須掌握它。通過多次上機練習(xí),對于語法知識有了感性的認(rèn)識,加深對它的理解,在理解的基礎(chǔ)上就會自然而然地掌握c語言的語法規(guī)定。對于一些內(nèi)容自己認(rèn)為在課堂上聽懂了,但上機實習(xí)中會發(fā)現(xiàn)原來理解的偏差,這是由于大部分學(xué)生是初次接觸程序設(shè)計,缺乏程序設(shè)計的實習(xí)所致。C語言程序設(shè)計實習(xí)心得體會(3篇)C語言程序設(shè)計實習(xí)心得體會(3篇)。

篇5

關(guān)鍵詞:C語言; 程序設(shè)計;教學(xué)方法; 教學(xué)效果;教學(xué)實踐

中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2014)07-1467-02

1 概述

C語言功能豐富、表達能力強、使用靈活方便、應(yīng)用面廣、目標(biāo)程序效率高、可移植性好,兼有高級語言和低級語言的特點,是高校程序設(shè)計語言課程中的典型代表,C語言課程的教學(xué)目的是通過理論教學(xué)和上機實踐,使學(xué)生了解程序設(shè)計語言的基本概念,初步掌握解決簡單問題的編程思路和C語言的程序設(shè)計方法,并通過上機實踐鍛煉學(xué)生的程序調(diào)試能力,為后續(xù)課程的學(xué)習(xí)和應(yīng)用奠定程序設(shè)計基礎(chǔ)。因為C語言是計算機專業(yè)大一學(xué)生最先接觸的程序設(shè)計語言課程,所以一個好的開始對激發(fā)學(xué)生學(xué)習(xí)專業(yè)的興趣是必須的。

2 C語言教學(xué)中存在的問題與現(xiàn)狀

在多年教學(xué)實踐中發(fā)現(xiàn)學(xué)生普遍認(rèn)為課程難度較大,特別是到第二學(xué)期學(xué)到函數(shù)、指針、文件,有些學(xué)生感覺越來越困難,從預(yù)習(xí)作業(yè)不能完成到實驗課三道題只能完成一題,越來越失去學(xué)習(xí)的信心。還有些學(xué)生對學(xué)習(xí)C語言很茫然,不知學(xué)了有什么用?,F(xiàn)在的學(xué)生對上網(wǎng)、淘寶、微信、手游、網(wǎng)游等感興趣,對學(xué)習(xí)C語言覺得和現(xiàn)實脫節(jié),課本的例子和完成的作業(yè)實驗基本是一些簡單的數(shù)值計算,所以認(rèn)為C語言學(xué)了沒用,也缺乏了學(xué)習(xí)動力。再加上采取的教學(xué)方法比較陳舊、單一,往往采用傳統(tǒng)的教師講授的填鴨式教學(xué),學(xué)生學(xué)習(xí)缺乏主動性。教學(xué)過程以章節(jié)為綱,先講理論知識點,在課堂上花了很多時間講述語法、格式和注意的問題。這些書上已經(jīng)很詳細(xì)地講述了。所舉的例題也都是小的數(shù)值計算題,結(jié)果學(xué)生到課程設(shè)計時總感覺無從下手,設(shè)計出來的程序有一些必須的需求都沒考慮到。比如做的管理系統(tǒng)出現(xiàn)數(shù)據(jù)不保存,每次運行輸入數(shù)據(jù),或者沒從文件中讀出原來的數(shù)據(jù)。

3 改進C語言教學(xué)的方式方法

3.1 以小游戲激發(fā)學(xué)生的學(xué)習(xí)興趣

以前課堂舉例都以數(shù)值計算為主,如求5!,輸出100~200之間所有的素數(shù),學(xué)生覺得較為枯燥,沒什么意義和樂趣,所以可以投其所好,舉一些小游戲的例子讓學(xué)生編寫并嘗試。如可以用猜數(shù)、簡易貪吃蛇等讓學(xué)生覺得C語言學(xué)習(xí)和實踐很有樂趣和挑戰(zhàn),這樣就激發(fā)了學(xué)生學(xué)習(xí)的興趣。

3.2 以項目驅(qū)動法培養(yǎng)學(xué)生的軟件開發(fā)的能力

項目驅(qū)動教學(xué)法鼓勵學(xué)生通過項目中涉及到的課程內(nèi)容主動地提出問題,然后再去探索、尋找答案,改變僅由教師上課的填鴨式教學(xué)模式。在實施項目的過程中,將學(xué)生分成項目小組,有項目組長組織小組活動,這樣既培養(yǎng)了學(xué)生發(fā)現(xiàn)問題、解決問題的能力,同時鍛煉了團隊合作精神。用項目驅(qū)動法來進行教學(xué),以一個具體的項目,貫通需要的知識點,并且按照軟件工程的思想,經(jīng)歷從需求分析到設(shè)計再到編程和測試運行的幾個階段,逐步培養(yǎng)學(xué)生軟件開發(fā)的思想和能力。

首先要設(shè)計一個合適的項目。比如在學(xué)習(xí)函數(shù)、結(jié)構(gòu)體和文件內(nèi)容的時候,可以設(shè)計一個管理系統(tǒng)軟件項目,在項目中讓學(xué)生體會到函數(shù)、結(jié)構(gòu)體和文件的作用比教師單純的強調(diào)效果要好??梢赃x取學(xué)生能切身體會的成績管理系統(tǒng)。

然后在實施的時候,先將學(xué)生進行分組,選取項目組長負(fù)責(zé)項目的執(zhí)行。第一步進行需求分析,確認(rèn)新系統(tǒng)的功能需求。學(xué)生分析后得出結(jié)論,新系統(tǒng)需要具有學(xué)生信息輸入、增加學(xué)生、刪除學(xué)生、修改學(xué)生信息、統(tǒng)計成績、查詢成績、顯示信息、讀取文件和保存的功能。第二步進行系統(tǒng)設(shè)計。為系統(tǒng)分解成以下幾個模塊:

l輸入初始的學(xué)生信息:其中包括學(xué)生的姓名、學(xué)號和性別以及學(xué)生的各門課程成績等相關(guān)信息。

l查詢模塊:根據(jù)學(xué)生的姓名或?qū)W號查找輸出此學(xué)生全部信息包括學(xué)生的各門課程的成績。

l插入模塊:插入學(xué)生,其中通過學(xué)號的大小來比較的,并且以此來排序。

l統(tǒng)計學(xué)生成績模塊:統(tǒng)計各門課程的平均分?jǐn)?shù)、最高和最低分?jǐn)?shù)。

l初始化模塊:若有文件則從文件中讀入學(xué)生信息到內(nèi)存中。

l退出系統(tǒng)模塊:首先將信息保存到文件中,釋放動態(tài)創(chuàng)建的內(nèi)存空間,再退出此程序。

系統(tǒng)分解的功能模塊將由相應(yīng)的函數(shù)來實現(xiàn)。項目組長可以將任務(wù)進行分配給組員來詳細(xì)設(shè)計和實現(xiàn)相應(yīng)的模塊。通過這個過程,讓學(xué)生切身體會函數(shù)的作用,通過一定的自學(xué)和教師的精講,掌握函數(shù)的使用的重點和難點。

這時在設(shè)計學(xué)生的信息數(shù)據(jù)結(jié)構(gòu)的時候,學(xué)生會發(fā)現(xiàn)和思考以往學(xué)習(xí)和使用的簡單的數(shù)據(jù)類型能否較好地組織和保存學(xué)生的信息,便于教師適時引入結(jié)構(gòu)體類型來解決這個問題。

在保存學(xué)生數(shù)據(jù)的時候,學(xué)生自然會思考保存在哪里,如何保存。這時引入文件的讀寫操作幫助學(xué)生解決這個問題。

第三步是實現(xiàn)。在學(xué)習(xí)了相關(guān)知識點后,學(xué)生在項目組長的組織下編程實現(xiàn)系統(tǒng)。

第四步是測試。指導(dǎo)學(xué)生應(yīng)用相應(yīng)的測試方法,設(shè)計測試用例,分析測試結(jié)果、進行相應(yīng)的調(diào)試和維護。

3.3 以動畫演示幫助學(xué)生理解課程難點

一些算法、概念和步驟僅由教師口頭講授,太抽象,缺乏想象力的學(xué)生很難理解,所以用FLASH制作動畫將步驟演示給學(xué)生看,提高課堂生動性及學(xué)生的學(xué)習(xí)興趣。如通過動畫演示冒泡排序、選擇排序、插入、二分法、遞歸過程、漢諾塔問題、指針、數(shù)組、結(jié)構(gòu)體和鏈表的創(chuàng)建、遍歷、插入、刪除等操作。

3.4 以網(wǎng)絡(luò)教學(xué)增加師生互動

可以把教學(xué)內(nèi)容做成課程網(wǎng)站。課前上課資料,方便學(xué)生預(yù)習(xí)。學(xué)生課后可以隨時查看每次講課的內(nèi)容,遇到問題可以進入網(wǎng)站查看資料,也可以在公告欄或討論板問題,尋求教師和同學(xué)的幫助。還可以在網(wǎng)站上布置作業(yè)和收取作業(yè),參考資料和前沿動態(tài)。

3.5 以分層教學(xué)適應(yīng)學(xué)生差異

學(xué)生剛?cè)胄r的編程水平有差異,有的是沒接觸過編程,有的卻學(xué)過VB編程,或者有的參加過中小學(xué)信息技術(shù)培訓(xùn)和比賽,那么如果按照統(tǒng)一標(biāo)準(zhǔn)教學(xué),則有的困難很大,有的卻覺得太簡單沒意思。針對這種情況采取班內(nèi)分層教學(xué),根據(jù)是否有編程基礎(chǔ)和能力將學(xué)生分成A、B、C三等,在教學(xué)、實驗題和作業(yè)上有一定區(qū)別,為A等學(xué)生增加難度題,為C等學(xué)生減少題目數(shù)量要求質(zhì)量??梢园才艃?yōu)秀學(xué)生擔(dān)任實驗輔導(dǎo)員,在熟練迅速完成自己的實驗后,也不必?zé)o所事事,而是幫助教師輔導(dǎo)學(xué)生,幫助學(xué)生調(diào)程序,在期末成績上給予一定的加分獎勵。這樣既增強了先進同學(xué)的自豪感和積極性,同時減輕了輔導(dǎo)教師的工作量。

3.6 改革課程考核辦法,開發(fā)相應(yīng)的考試系統(tǒng)

傳統(tǒng)的考試只有期末考試,并且只有筆試。這種弊端是學(xué)生到課程快結(jié)束時,才會感到考試的緊迫而匆匆學(xué)習(xí),俗稱“零時抱佛腳”,這對課程內(nèi)容的掌握的扎實度和對后續(xù)課程的深入都是欠缺的。所以有必要改變“一考定終身”式的和單一的筆試考核方式,發(fā)揮以考促學(xué)的效果,改革考核形式和方法。將考核分為平時+實踐+考試三部分,考試有期中和期末兩次成績,并且包括理論和上機兩部分的考試,開發(fā)相應(yīng)的考試系統(tǒng),能夠自動組卷和閱卷,讓學(xué)生考不同的卷子,減少作弊的可能性,減少教師閱卷的工作量。平時除了考勤、作業(yè),在單個知識點或相聯(lián)系的幾個知識點結(jié)束后,安排相應(yīng)的小測驗。通過測驗和考試,不斷拉緊學(xué)生學(xué)習(xí)的弦,檢查自己有哪些薄弱的地方,以促進提高。

4 結(jié)論

C語言是計算機專業(yè)和相關(guān)專業(yè)的一門重要基礎(chǔ)課程,但是具有相當(dāng)?shù)碾y度和枯燥性,大多數(shù)學(xué)生難以掌握,所以在教學(xué)中要不斷探索總結(jié)經(jīng)驗,充分利用現(xiàn)代教學(xué)手段,激發(fā)學(xué)生的學(xué)習(xí)興趣,靈活應(yīng)用各種教學(xué)方法,這才能達到較好的教學(xué)效果。

參考文獻:

[1] 孟朝霞,王琴竹,李妮. C語言程序設(shè)計課程項目教學(xué)目標(biāo)建設(shè)與實踐[J]. 中國科技信息,2010(4).

[2] 陳湘驥,徐東風(fēng),楊秋妹. 在線評判在C語言課程設(shè)計教學(xué)中的應(yīng)用[J]. 計算機教育, 2010(3).

[3] 蔣霞. 基于CDIO理論的C語言程序設(shè)計課程改革[J]. 電腦知識與技術(shù), 2012(27).

篇6

程序設(shè)計 C語言教學(xué) 基本方案

一、引言

計算機科學(xué)與技術(shù)學(xué)科強調(diào)4個方面的專業(yè)能力:計算思維能力,算法設(shè)計與分析能力,程序設(shè)計與實現(xiàn)能力,以及計算機系統(tǒng)的認(rèn)知、分析、設(shè)計和運用能力。程序設(shè)計與實現(xiàn)能力在程序設(shè)計C語言課程得到了具體的體現(xiàn)。其中設(shè)計到的程序設(shè)計的內(nèi)容,為算法設(shè)計與分析能力奠定了良好的基礎(chǔ)。

作為一種系統(tǒng)程序設(shè)計語言,C語言已廣泛用于為各種不同的計算機系統(tǒng)編寫系統(tǒng)軟件,如操作系統(tǒng)、編譯系統(tǒng)、匯編器及編輯器等;作為一種應(yīng)用程序設(shè)計語言,C語言已廣泛用于編寫各種應(yīng)用領(lǐng)域的應(yīng)用軟件。

關(guān)于C語言的教學(xué)探討一直都是學(xué)者、教師和相關(guān)人員的主要探討的課題之一。與國外相比,我國的教學(xué)往往缺少活力。在開設(shè)的理工類課程中,科學(xué)邏輯很強,通常采用演繹方式進行教材編寫和教學(xué)活動,學(xué)生缺乏主動探索精神和自己設(shè)計課程內(nèi)容環(huán)節(jié)。C語言的教學(xué)也大體如此。

1.沒有充分調(diào)動學(xué)生的學(xué)習(xí)積極性。一般在大一開設(shè)C語言,對于剛進入大學(xué)的學(xué)生,C語言概念性強,理論內(nèi)容較豐富;抽象性強;邏輯性要求高;一開始容易陷入C語言的繁瑣的細(xì)節(jié)中。

2.沒有突出C語言本身的特點。課堂教學(xué)沒有突出C語言本身的特點,如靈活的指針、追求執(zhí)行效率等,不容易掌握C語言的精華。

3.對實踐環(huán)節(jié)重視不夠。對實踐環(huán)節(jié)重視不夠,導(dǎo)致要求完成的實踐內(nèi)容脫離實際的、有趣的應(yīng)用。

4.相關(guān)基本內(nèi)容設(shè)計不足。對算法思想、數(shù)據(jù)結(jié)構(gòu)的相關(guān)基本內(nèi)容設(shè)計不足。

二、解決的主要問題

1.強調(diào)以學(xué)生為中心。要在學(xué)習(xí)過程中充分發(fā)揮學(xué)生的主動性,要能體現(xiàn)出學(xué)生的首創(chuàng)精神;要讓學(xué)生有多種機會在不同的情境下去應(yīng)用他們所學(xué)的知識(將知識“外化”);要讓學(xué)生能根據(jù)自身行動的反饋信息來形成對客觀事物的認(rèn)識和解決實際問題的方法(實現(xiàn)自我反饋)。

2.強調(diào)“情境”教學(xué)。在教學(xué)過程中,實際情境下的學(xué)習(xí),能使學(xué)生更加深刻地理解所學(xué)知識的意義,并容易看到自己的勞動成果,從而激發(fā)學(xué)習(xí)的動力和興趣,提高學(xué)習(xí)的效率。

3.強調(diào)“協(xié)作學(xué)習(xí)”。學(xué)生們在教師的組織和引導(dǎo)下一起討論和交流,共同建立起學(xué)習(xí)群體。在群體中,允許觀點和方法的碰撞和交鋒,但最終需要群體成員的配合和支持,才能完成一個具體的任務(wù)。這樣的協(xié)作學(xué)習(xí)對培養(yǎng)學(xué)生的團隊精神起著關(guān)鍵性的作用。

4.強調(diào)對學(xué)習(xí)環(huán)境(而非教學(xué)環(huán)境)的設(shè)計。學(xué)習(xí)環(huán)境是學(xué)生可以在其中進行自由探索和自主學(xué)習(xí)的場所。學(xué)生可以利用其中的各種工具和信息資源來達到自己學(xué)習(xí)的目標(biāo)。

5.強調(diào)利用各種信息資源來支持“學(xué)”(而非支持“教”),建立教學(xué)資源庫。在學(xué)習(xí)過程中為學(xué)習(xí)者提供各種信息資源(包括各種教學(xué)媒體和資料),以支持學(xué)習(xí)者主動探索和完成意義建構(gòu)。

三、具體方案

1.教學(xué)目標(biāo)分析。確定當(dāng)前學(xué)生學(xué)習(xí)的主題(即確定與基本概念、語法以及程序設(shè)計有關(guān)的知識內(nèi)容),是教學(xué)設(shè)計面臨的首要任務(wù)。

2.學(xué)習(xí)任務(wù)設(shè)計。基于真實問題情景下的探索、學(xué)習(xí)的過程,就是解決實際問題的過程。擬采用“以培養(yǎng)能力為核心,以實踐為主線,以項目為載體,用任務(wù)進行驅(qū)動”的教學(xué)方法。以某個實際項目為主線,貫穿順序、選擇、循環(huán)結(jié)構(gòu)和數(shù)組、指針等所有章節(jié)中,課程教學(xué)具有連貫性。同時結(jié)合現(xiàn)場提供實際項目案例(子項目)組織教學(xué)。教學(xué)過程中,通過案例導(dǎo)入,任務(wù)驅(qū)動,引導(dǎo)學(xué)生由簡到繁、由易到難、循序漸進地完成一系列“任務(wù)”。在完成“任務(wù)”的過程中,培養(yǎng)學(xué)生分析問題、解決問題以及用計算機處理信息的能力,完成課程設(shè)計和教學(xué)訓(xùn)練的全過程。使學(xué)生體會到知識的實用性,提高學(xué)習(xí)興趣。

內(nèi)容由淺入深,涉及的相關(guān)的專業(yè)基礎(chǔ)知識較為全面,并以一個完整的典型的小型軟件系統(tǒng)的設(shè)計與實現(xiàn)為主線,貫穿教學(xué)的各章內(nèi)容。

借助于計算機相關(guān)課程(如軟件工程、算法設(shè)計與分析、數(shù)據(jù)結(jié)構(gòu)、編譯原理等)的基本內(nèi)容,對C語言加深理解和應(yīng)用。

3.學(xué)習(xí)情境設(shè)計。學(xué)習(xí)情景指為學(xué)生提供一個完整、真實的問題背景,以此為支撐物啟動教學(xué),使學(xué)生產(chǎn)生學(xué)習(xí)的需要;同時促進學(xué)習(xí)共同體中成員間的互動、交流,即合作學(xué)習(xí),驅(qū)動學(xué)習(xí)者進行自主學(xué)習(xí)。將實際開發(fā)項目引入課堂教學(xué),作為教學(xué)和實驗實訓(xùn)項目。根據(jù)課程內(nèi)容和工作過程,結(jié)合學(xué)生特點,采用任務(wù)驅(qū)動、項目教學(xué)、講練結(jié)合等教學(xué)手段,把工作項目開發(fā)過程的工作環(huán)節(jié)及任務(wù)穿插于各個知識點的學(xué)習(xí)中。

4.信息資源設(shè)計。確定與項目完成相關(guān)的信息資源。確定所需信息資源的種類和每種資源在完成本次任務(wù)的過程中所起的作用。需要確定從何處獲取有關(guān)的信息資源,如何去獲取以及如何有效地利用這些資源等問題。建立系統(tǒng)的信息資源庫,提供引導(dǎo)學(xué)生正確使用搜索引擎的方法。

5.自主學(xué)習(xí)設(shè)計。自主學(xué)習(xí)是讓學(xué)生進行自我學(xué)習(xí)、自我探究的學(xué)習(xí)方式。其核心是發(fā)揮學(xué)生學(xué)習(xí)的主動性、積極性,充分體現(xiàn)學(xué)生的認(rèn)知主體作用,其重點是如何幫助學(xué)生“學(xué)”。自主學(xué)習(xí)策略的設(shè)計是整個以學(xué)為主教學(xué)設(shè)計的核心內(nèi)容之一。

6.協(xié)作學(xué)習(xí)環(huán)境設(shè)計。在個人自主學(xué)習(xí)的基礎(chǔ)上開展小組討論、協(xié)商,以進一步完善和深化對主題的意義建構(gòu)。整個協(xié)作學(xué)習(xí)過程均由教師組織引導(dǎo),討論的問題可由師生根據(jù)教學(xué)內(nèi)容,聯(lián)系生活實際提出,在教師的指導(dǎo)下通過個人、小組搜集材料、提取信息、處理信息、合作研究、探索解決問題的學(xué)習(xí)方式,為學(xué)生提供一個交流、合作、探索、發(fā)展的平臺。

7.考試考核方法改革。在對學(xué)生進行能力評價時,要根據(jù)目標(biāo)多元、方式多樣、注重過程的評價原則,綜合運用觀察、測驗、操作、作品展示、項目設(shè)計等多種評價方式。評價要體現(xiàn):突出能力本位;重視對原有學(xué)習(xí)能力的認(rèn)可;個性化評價;強調(diào)創(chuàng)新能力的評價。

四、總結(jié)

通過對程序設(shè)計C語言課程的教學(xué)改革,培養(yǎng)學(xué)生編程思想,使其具備基本程序結(jié)構(gòu)代碼的編寫能力,熟悉基本程序設(shè)計方法,能更好地利用程序設(shè)計思想解決本專業(yè)領(lǐng)域中的問題,將程序設(shè)計方法用于后續(xù)計算機語言課程的學(xué)習(xí)中,為其他相關(guān)課程奠定基礎(chǔ)。

參考文獻:

[1]蔣宗禮,姜守旭.形式語言與自動機理論(第2版)[M].北京:清華大學(xué)出版社,2007.

[2]朱清新.計算機算法設(shè)計與分析導(dǎo)論[M],北京:人民郵電出版社,2008.

篇7

關(guān)鍵詞:C++程序設(shè)計;教學(xué)建議

中圖分類號:G642 文獻標(biāo)識碼:A 文章編號:1009-3044(2012)29-7028-02

1 目前存在的問題

C++程序設(shè)計語言因為其語言簡潔、緊湊,語法靈活,語言表達能力強,代碼容易維護、可移植性強、執(zhí)行效率高,支持?jǐn)?shù)據(jù)抽象、支持面向?qū)ο蟪绦蛟O(shè)計和泛型程序設(shè)計等優(yōu)點而被廣泛應(yīng)用,成為當(dāng)今軟件開發(fā)的主流語言之一,也逐漸成為許多高校計算機專業(yè)程序設(shè)計基礎(chǔ)編程語言的首選。。但由于C++語言本身是從C過渡來的一個面向?qū)ο蟮某绦蛟O(shè)計語言,所以C++即支持c的面向過程的編程又支持面向?qū)ο蟮木幊虘?yīng)用,因此C++教學(xué)內(nèi)容非常多,知識點多,語法多,并且C++中有很多比較難的知識點,比如指針、多繼承等,而教學(xué)課時一般都比較少,理論加實踐72學(xué)時左右安排在一學(xué)期上完??傮w導(dǎo)致的結(jié)果就是,本課程學(xué)完后,學(xué)生感覺學(xué)習(xí)內(nèi)容多而且零亂,沒有系統(tǒng)性,一旦遇到實際面向?qū)ο缶幊虘?yīng)用問題時感覺無從下手,無法編程。針對這些現(xiàn)象進行思考后,結(jié)合自己的教學(xué)經(jīng)驗提出了一些教學(xué)建議。

2 教學(xué)中的建議

2.1 教學(xué)內(nèi)容的裁剪

總體思路是突出重點,適當(dāng)降低難度;把面向?qū)ο箨P(guān)鍵性技術(shù)的知識點盡量前提,增加學(xué)習(xí)熟悉、使用和掌握的機會。

在面向過程內(nèi)容學(xué)習(xí)中重點為:基礎(chǔ)數(shù)據(jù)類型、常量變量、控制結(jié)構(gòu)、數(shù)組、指針、函數(shù)、結(jié)構(gòu);在面向?qū)ο髮W(xué)習(xí)中重點:類、對象、封裝、繼承、多態(tài)和輸入輸出流。

數(shù)組雖然是重點,但教學(xué)中只以一維數(shù)組和字符數(shù)組為重點平時也應(yīng)用最多,而對于二維數(shù)組及多維數(shù)組只需弄清楚其含義就可以了,到具體要應(yīng)用時補充再自學(xué)。對于指針既是一個重點又是一個難點:雖然指針是C++一個最重要的特性,它的靈活性、方便性和快捷性令其他語言望塵莫及,但同時也帶來了不安全性的隱患和學(xué)習(xí)的難度。但現(xiàn)在C++中又引入很多技術(shù)代替指針的很多功能。比如C++中的引用,其功能可以代替指針實現(xiàn)間接訪問,但比指針安全也比指針的使用簡單,另外成員函數(shù)可以取代函數(shù)指針等等。因此在講解指針內(nèi)容時,我們可以適當(dāng)?shù)慕档碗y度,簡化內(nèi)容。重點是要弄清指針的含義,指針對一維數(shù)組的引用就可以了。

對于面向?qū)ο蟛糠值膬?nèi)容我們可以適當(dāng)弱化語法方面的問題,而重點強調(diào)面向?qū)ο蟪绦蛟O(shè)計方法,語法方面的問題主要在應(yīng)用中進一步強化和鞏固。

對于面向?qū)ο蟮年P(guān)鍵性技術(shù)我們可以盡量讓學(xué)生提早接觸,比如多態(tài),我們在講解函數(shù)時,就可把函數(shù)重載和函數(shù)模板提前到這部分講解,讓學(xué)生無意中先接觸和使用多態(tài)技術(shù),到后面真正講解面向?qū)ο蟮倪@部分內(nèi)容時,學(xué)生實際上早已熟悉相關(guān)知識,只是加強理解和應(yīng)用而已。

2.2 教學(xué)思路

C++的內(nèi)容,從總體上而言由2部分構(gòu)成:面向過程和面向?qū)ο?;在這2個部分的教學(xué)及銜接中要各有側(cè)重點,良好過渡;

在面向過程教學(xué)中主要強調(diào)算法、流程圖和程序跟蹤調(diào)試的學(xué)習(xí);在從面向過程向面向?qū)ο蟮倪^渡過程中,把面向過程與面向?qū)ο笾g的內(nèi)在關(guān)系凸顯出來(見圖1和圖2),讓學(xué)生意思到面向?qū)ο蟪绦蛟O(shè)計包含面向過程程序設(shè)計,是面向過程程序設(shè)計的發(fā)展。可以這么理解,面向?qū)ο蟪绦蛟O(shè)計主要勾勒出了程序的整體框架,體現(xiàn)程序各部分及各層次之間的內(nèi)在關(guān)系,而面向過程的程序設(shè)計方法可用在面向?qū)ο蟮牡讓娱_發(fā)中,即對象內(nèi)部(或者說類內(nèi)部)的算法實現(xiàn)中。不然學(xué)生會覺得2者之間很突兀,不能銜接起來,有一種抵觸或覺得難以接受的思想。而在面向?qū)ο蟮慕虒W(xué)中,重點突出面向?qū)ο蟪绦蛟O(shè)計的方法。如何針對具體的問題進行對象的劃分和對象設(shè)計的過程。

由圖2中的框出部分能很容易看出,對象內(nèi)部的算法實現(xiàn)部分依然要用面向過程的方法設(shè)計。

2.3 教學(xué)手段

綜合利用多種教學(xué)手段:多媒體+板書+網(wǎng)絡(luò);以多媒體為主,板書為輔,同時課外充分利用網(wǎng)絡(luò)進行交流等多種教學(xué)手段;因為利用多媒體講課可以圖文并茂、形象生動、同時交互性好、信息量大等特點。對課程中難以理解的一些比較抽象的內(nèi)容,可以給予直觀展示和動態(tài)模擬,起到事半功倍的效果。比較在講到指針變量概念時,說指針變量是指向同類型變量的變量,這個概念聽起來很饒口,并且不好懂。通過多媒體講解時,在給出一個指針變量賦值語句之后,緊接著用一個圖形動態(tài)表明這個指針變量的內(nèi)容和所賦值的那個變量之間內(nèi)存地址的關(guān)系,然后用一個箭頭動態(tài)表示出這種指向,學(xué)生很快就可以清楚明白的理解指針變量的含義了。傳統(tǒng)的板書教學(xué)雖然速度有些慢,但是在講解一些難點時,卻可以作為必要的輔助手段。比如講解算法的設(shè)計過程,由于放慢了講解速度,正好可以方便學(xué)生理解和回味。另外由于課堂上時間總是有限的,當(dāng)課余學(xué)生想和老師探討問題時,就可以充分發(fā)揮網(wǎng)絡(luò)的便利。學(xué)生可以利用電子郵件或QQ等給老師提問或留言,老師可以很方便及時的答疑解惑,這樣也進一步促進和提高了學(xué)生學(xué)習(xí)的興趣和積極性,加強了師生互動。

2.4 實驗實訓(xùn)

現(xiàn)在一般學(xué)校都由于學(xué)時緊張,安排的實驗課課時很有限,在這些規(guī)定的課時中只能針對所學(xué)的知識點進行相應(yīng)復(fù)習(xí)、鞏固和應(yīng)用,而不能將相應(yīng)知識點連貫起來,所以所有知識點都是孤立的,感覺很零碎。因此當(dāng)他們遇到一個綜合性應(yīng)用或稍微復(fù)雜一點的問題時,就感覺無從下手。因此非常有必要在本課程學(xué)習(xí)完后,利用假期時間增加一個為期2周的小型綜合應(yīng)用項目的課程設(shè)計,比如圖書管理系統(tǒng)或者成績管理系統(tǒng)等。讓學(xué)生把面向?qū)ο蟪绦蛟O(shè)計從分析、設(shè)計、實現(xiàn)到測試這個完整的流程走一遍,將所有的知識點綜合起來形成一個系統(tǒng)性的知識結(jié)構(gòu)。雖然是小型應(yīng)用項目,但麻雀雖小五臟具全,使得學(xué)生有了一個整體設(shè)計的概念后,就不至于以后在工作中遇到一個實際應(yīng)用的編程時毫無頭緒。注意在實訓(xùn)過程中老師要給予必要的指導(dǎo),但主要依靠學(xué)生自己完成。

2.5 學(xué)習(xí)習(xí)慣

凡是程序設(shè)計語言課,要想學(xué)好都無一例外的要求:多想、多寫、多上機調(diào)試。因此從學(xué)生開始實習(xí)時多就要求他們養(yǎng)成這些好習(xí)慣。另外編程時,為了增加程序的可讀性,為以后工作打下良好的基礎(chǔ),在書寫程序時要求有良好的編程習(xí)慣。比如代碼的縮進、必要的空格空格和空行;標(biāo)識符的命名最好做到見名知義、簡潔、易區(qū)分;變量名小寫,宏和常量大寫。對代碼進行必要的注釋等。這些看起來很簡單的一些編程習(xí)慣,對增強程序的可讀性有非常大的作用,但是平時學(xué)生為了圖省事或方便都不愿意堅持這樣做。因此在學(xué)習(xí)編程初期老師要堅持不懈的多強調(diào)這些問題。

3 結(jié)束語

針對目前學(xué)生學(xué)習(xí)C++程序設(shè)計教學(xué)中遇到的一些問題,進行思考和總結(jié)后提出了自己的建議。把這些建議的內(nèi)容在近2屆學(xué)生中貫徹和執(zhí)行后,發(fā)現(xiàn)學(xué)生編程應(yīng)用能力有較大的提高,學(xué)習(xí)積極性和主動性也比以前強。

參考文獻:

[1] 溫秀梅,丁學(xué)鈞,李建華.C++語言程序設(shè)計教程與實驗(第三版)[M].北京:清華大學(xué)出版社, 2012.

篇8

關(guān)鍵詞 C語言 實驗教學(xué) 任務(wù)驅(qū)動式

中圖分類號:G424 文獻標(biāo)識碼:A

C語言是通用的計算機程序設(shè)計語言。其數(shù)據(jù)類型豐富、表達能力強、使用靈活方便、生成目標(biāo)程序設(shè)計代碼質(zhì)量比較高,對硬件也能直接進行操作,因此C語言將作為大部分高校的普遍程序設(shè)計的首選課程,也是其編程的基礎(chǔ)性課程。學(xué)習(xí)程序設(shè)計必須具有語法規(guī)則、算法思想、數(shù)據(jù)結(jié)構(gòu)和程序設(shè)計等方面的知識,C語言比較復(fù)雜,教學(xué)內(nèi)容理論性較強,較難掌握,學(xué)生易產(chǎn)生厭煩情緒。以前C語言運行環(huán)境是以Turbo C2.0為主,現(xiàn)在雖然可以在VC++6.0運行環(huán)境下進行編程與調(diào)試,但是它的程序運行還不能完全可視化。就對我校高職計算機專業(yè)學(xué)生的具體調(diào)查發(fā)現(xiàn):學(xué)完C語言后能熟練掌握、靈活運用的學(xué)生為10%左右,基本掌握的學(xué)生為45%左右,大部分學(xué)生還是不能掌握其編程技巧。為了提高和改善學(xué)生學(xué)習(xí)C語言的教學(xué)現(xiàn)狀,根據(jù)C語言自身特點,探討新的教學(xué)模式和教學(xué)方法。以促使提高該課程的教學(xué)效果。

1 根據(jù)人才培養(yǎng)方案,合理調(diào)整其教學(xué)內(nèi)容

高職院校教育的目的是培養(yǎng)生產(chǎn)一線應(yīng)用型和技能性人才,著重培養(yǎng)學(xué)生的學(xué)習(xí)能力、就業(yè)能力、工作轉(zhuǎn)換能力和創(chuàng)業(yè)能力。高職學(xué)生的學(xué)習(xí)基礎(chǔ)較差,邏輯思維能力較弱,想象空間較窄,因此,在學(xué)習(xí)C語言程序設(shè)計課程時,必須考慮學(xué)生的學(xué)習(xí)能力和基礎(chǔ)能力,適當(dāng)降低理論知識的難度和深度,力求教學(xué)內(nèi)容淺顯易懂。在本門課程的教學(xué)過程中一般要求學(xué)生掌握程序設(shè)計的三種程序設(shè)計的基本結(jié)構(gòu)、數(shù)組、函數(shù)、指針等教學(xué)內(nèi)容,對于其中過繁過深的知識,例如指針,結(jié)構(gòu)體等,我們則可以進行取舍,使學(xué)生知道它們即可。對于重點、難點的教學(xué)內(nèi)容必須進行詳細(xì)講解,使學(xué)生不僅掌握它們的理論知識,更能靈活編寫類似程序以求解決生活中的實際問題??傊?,教學(xué)目的是使學(xué)生真正掌握并力求能熟練靈活運用C語言進行編程。

2 重視培養(yǎng)模式,培養(yǎng)學(xué)生學(xué)習(xí)興趣

傳統(tǒng)模式下,C語言程序設(shè)計課程的教學(xué)內(nèi)容一般則采用黑板式的教學(xué)方式來實現(xiàn)。大部分理論知識都要在教室來進行學(xué)習(xí),很少在機房來進行程序的編寫。C語言程序設(shè)計運行環(huán)境一般以Turbo C2.0為主,但Turbo C2.0的調(diào)試環(huán)境采用DOS模式,調(diào)試不是很直觀,且操作采用命令和鍵盤來實現(xiàn),界面不可視化操作使學(xué)生很不理解,因此會使學(xué)生失去學(xué)習(xí)的動力和學(xué)習(xí)的積極性。盡管C語言實用價值很高,但理論性很強的教學(xué)內(nèi)容,很難引起學(xué)生的學(xué)習(xí)興趣,如果我們再不講究其教學(xué)方法,則難以達到本課程的培養(yǎng)目標(biāo)。為了改變目前的教學(xué)現(xiàn)狀,教師必須利用學(xué)院現(xiàn)有的教學(xué)資源對教學(xué)內(nèi)容進行重新整合,改進以往單一、枯燥乏味的教學(xué)模式和教學(xué)方式,讓知識變得有趣而生動化,從面提高學(xué)生的學(xué)習(xí)興趣、學(xué)習(xí)的積極性、學(xué)習(xí)的動力和學(xué)以致用的能力。

3 合理利用多媒體技術(shù),提高教學(xué)效果

傳統(tǒng)的教學(xué)模式是利用黑板式教學(xué)手段在教室進行講授C語言程序設(shè)計課程。特別是在講解如何利用運行環(huán)境進行上機步驟、程序調(diào)試方法,程序運行過程和程序運行結(jié)果的查看等內(nèi)容時,課堂教學(xué)則顯得枯燥無味、不夠清楚,也不直觀,在這種教學(xué)方式下,大部分學(xué)生則會對C語言這門課程失去學(xué)習(xí)興趣、學(xué)習(xí)的積極性、學(xué)習(xí)的動力和學(xué)習(xí)信念。高職院校多年來進教學(xué)改革和更新教學(xué)設(shè)施,基本上來講,教學(xué)設(shè)備都比較齊全。先進的多媒體教學(xué)手段出現(xiàn)后,被廣泛使用在許多課程的教學(xué)上,多媒體教學(xué)具有直觀生動、圖文并茂的優(yōu)勢,能夠把枯燥無味的理論知識變得生動形象化。但先進的教學(xué)手段并不完全代表一定會收到良好的教學(xué)效果,教師則必需精心制作出適合自己課程的教學(xué)課件,把傳統(tǒng)教學(xué)不能很好表達的教學(xué)重點和教學(xué)難點進行重新設(shè)計,并與傳統(tǒng)教學(xué)有機結(jié)合,從而達到滿意的教學(xué)效果。合理利用多媒體技術(shù)不僅可以加強學(xué)生的學(xué)習(xí)興趣,也能激發(fā)學(xué)生的學(xué)習(xí)動力和求知欲,使學(xué)生真正體會到學(xué)習(xí)的快樂和滿足。

4 加強實踐環(huán)節(jié),培養(yǎng)學(xué)生的編程能力

C語言程序設(shè)計是一門實踐性很強的課程,學(xué)生不僅要掌握C語言的概念,語法規(guī)則,又要動手編寫程序,并進行上機調(diào)試運行得出結(jié)果。所以培養(yǎng)學(xué)生的實際操作能力則顯得尤為重要。在實踐課的教學(xué)過程中教師必須做到:教師必須為每次上機習(xí)題做到精心挑選,認(rèn)真對待,在實驗內(nèi)容上應(yīng)做到有較容易的題目,也要有綜合性較強的題目,題目要求不僅要顧全驗證性、綜合性和設(shè)計性實驗的比例,也要做到使所學(xué)的知識內(nèi)容進行整合,達到學(xué)習(xí)的系統(tǒng)化。學(xué)生在進行實驗時,根據(jù)學(xué)生的學(xué)習(xí)能力和操作能力,將其分組來進行實驗。實驗過程中,要求學(xué)生根據(jù)實驗內(nèi)容再進行分解,教師正確引導(dǎo)學(xué)生學(xué)會運用正確的思維方法,由易到難,自頂向下,逐步求精,找出解題的關(guān)健,并且鼓勵他們互相學(xué)習(xí)、大膽討論,這樣不僅能調(diào)動每一位學(xué)生的學(xué)習(xí)動力,也能加強團隊精神的培養(yǎng)。

5 考試考核制度的改革

C語言程序設(shè)計課程的培養(yǎng)目標(biāo)是學(xué)生的思維能力和實踐能力,學(xué)生最終成績評定也是體現(xiàn)學(xué)生在整個學(xué)習(xí)過程的主要評價,采用單一的試卷考試方式已經(jīng)不能體現(xiàn)出學(xué)生的實際能力水平。我們對學(xué)生的要求不僅要考學(xué)生的知識水平,更注重考核學(xué)生的學(xué)習(xí)能力、知識應(yīng)用能力、對問題的分析能力和解決實際問題的操作能力綜合考評。即要更多地通過關(guān)注學(xué)生的學(xué)習(xí)過程,用可持續(xù)發(fā)展的方略去評價每一位學(xué)生,更好地體現(xiàn)評價的激勵功能,使其做到促進學(xué)生學(xué)習(xí)的主動性和積極性。建議的考評標(biāo)準(zhǔn)為:理論占40%,實踐技能占60%,或進行全國計算機等級二級C語言考試,凡通過者可獲得一定獎勵。

在目前信息社會中,計算機的應(yīng)用越來越廣,因此,高職院校的責(zé)任重大,學(xué)院在進行計算機教育中應(yīng)依據(jù)培養(yǎng)目標(biāo)提出不同的教學(xué)要求。使每一位學(xué)生在學(xué)習(xí)C語言時,都能由淺逐深、循序漸進地進行教學(xué)培養(yǎng),教師在學(xué)生學(xué)習(xí)的過程中必須激發(fā)學(xué)生的興趣,更新教學(xué)理念,充分利用、整合各種教學(xué)資源,注重教學(xué)模式和教學(xué)方法的探索,真正使C語言程序設(shè)計這門課程成為學(xué)生學(xué)習(xí)其他計算機編程知識的基石。

參考文獻

[1] 張長海.以程序設(shè)計為主線為主線講授“高級語言程序設(shè)計”課.計算機教育.2005(5).

[2] 譚浩強.C語言程序設(shè)計.清華大學(xué)出版社.2002(6).

篇9

關(guān)鍵詞:C語言程序設(shè)計實踐教學(xué);課時統(tǒng)一化;小組競賽;網(wǎng)絡(luò)平臺

中圖分類號:G642.41 文獻標(biāo)志碼:A 文章編號:1674-9324(2015)51-0224-02

在21世紀(jì)信息技術(shù)時代,大學(xué)生不能只滿足于會用辦公軟件。為了迎接新世紀(jì)的挑戰(zhàn),無論計算機專業(yè)還是非計算機專業(yè)的學(xué)生,都應(yīng)當(dāng)學(xué)習(xí)C程序設(shè)計課程,并且把它當(dāng)作進一步學(xué)習(xí)與應(yīng)用計算機的基礎(chǔ)。C語言作為一種程序設(shè)計語言,它功能強大、使用靈活方便、應(yīng)用面廣、目標(biāo)程序效率高、可移植性好,既具有高低級語言的許多優(yōu)點和特點,適用于編寫系統(tǒng)軟件,又能方便地用來編寫應(yīng)用軟件[1,2]。因此,C語言程序設(shè)計作為第一門計算機語言教學(xué)顯得尤為重要,且實際上它也日益受到各個高校的重視。然而,當(dāng)今大學(xué)生在學(xué)習(xí)這門課程的過程中卻出現(xiàn)了各種問題,如學(xué)不會、不想學(xué)、聽不懂,這些問題逐漸地惡性循環(huán),致使這門課程沒有完全發(fā)揮出價值,形同虛設(shè)。所以,我們亟需大家探討并發(fā)現(xiàn)問題,解決問題。

一、實踐教學(xué)現(xiàn)狀

C語言程序設(shè)計作為一門計算機基礎(chǔ)教育課程,已經(jīng)在各高等院校開設(shè),現(xiàn)各高校普遍采用板書或多媒體講解概念、語法、教材,然后讓學(xué)生上機操作,這種方式存在弊端,致使大部分學(xué)生只能讀懂程序而不會編寫程序,甚至一部分學(xué)生變成程序代碼的“搬運工”,與我們的教學(xué)目的背道而馳。根據(jù)目前的教學(xué)狀況,C語言程序設(shè)計的教學(xué)存在以下一些問題。

1.學(xué)生的參與度不夠。在傳統(tǒng)的教學(xué)中,教師采用的是全板書形式,如今,多媒體普及,教師又改為全多媒體教學(xué)[3]。實際上,多媒體就是節(jié)省板書時間,但依然是教師照本宣科地講,學(xué)生一頭霧水地聽這種陳舊的模式。一味地采取“填鴨式”教學(xué),從頭講到尾這樣被動的課堂,學(xué)生就是一名觀眾,沒有參與到學(xué)習(xí)與思考中來,正因如此,學(xué)生注意力不集中成為一件高頻率事件,等學(xué)生再集中注意力回歸課堂,會發(fā)現(xiàn)對教師的話已經(jīng)是不知所云,所以為了保證學(xué)生高效率聽課,一定要讓學(xué)生參與其中。

2.理論與實踐脫節(jié)。現(xiàn)在,大多數(shù)高校普遍存在的一個問題是課時總量不夠,時間安排也不適當(dāng),表現(xiàn)在師資力量匱乏,教學(xué)班級多,教學(xué)任務(wù)繁重。以筆者所在的學(xué)校為例,一個學(xué)期理論課共42個授課課時,26個上機實驗課時,加上各種節(jié)假日,上課的時間少之更少。C語言程序設(shè)計是長期的、逐步深入的教學(xué)過程,依照現(xiàn)在的教學(xué)任務(wù)設(shè)置,教師要想按照考試大綱要求進行講解,就只能加快教學(xué)進度,顧不上對實踐內(nèi)容進行詳細(xì)講解,結(jié)果導(dǎo)致學(xué)生的實際操作能力偏低,但若全部進行機房實踐,又不利于學(xué)生掌握基本理論。而且,為了教學(xué)課程的安排,通常學(xué)生的上機實驗課會比理論課晚兩天左右,甚至周一理論課,周五才安排上機操作,不能將實驗與課堂教學(xué)環(huán)節(jié)很好地進行連貫,導(dǎo)致理論與實踐的嚴(yán)重脫節(jié)[4]。

3.實踐與應(yīng)用太少。學(xué)以致用是學(xué)生學(xué)習(xí)的最終要求,我們的教學(xué)目的是讓學(xué)生可以運用所學(xué)的知識讀懂程序、編寫程序,然后去解決實際問題,而現(xiàn)在高校的大部分學(xué)生做不到這一點。目前,多數(shù)高校的學(xué)生學(xué)習(xí)C語言程序設(shè)計這門課程的學(xué)習(xí)方法非常不到位,即在課堂上,學(xué)生僅僅翻開教材,盯著講臺聽課;在上機課上,學(xué)生也只是按照課本照搬程序。除此之外,在課余時間,學(xué)生們不鞏固復(fù)習(xí)教材,也不看程序,更不會自己編寫代碼。如此下去,他們的實踐能力不僅不會提高,反而極大地降低了他們對C語言程序設(shè)計的學(xué)習(xí)興趣。

4.實踐未得到及時反饋。由于課時緊張,教師不能將學(xué)生上交的實踐報告或上機操作的實驗結(jié)果及時地反饋給學(xué)生本人,以致于學(xué)生不能在第一時間對自己的錯誤或疑惑有進一步的了解與解決,造成學(xué)生盲目地學(xué)習(xí),甚至不學(xué)習(xí)。但等到課堂上,教師也不能占用大部分時間去點評學(xué)生的實踐結(jié)果而耽誤課程的進展。另外,新的知識點講完就會有新的練習(xí)內(nèi)容,如此積累,工作量繁雜,學(xué)生對之前編程的細(xì)節(jié)也會慢慢忘記,更重要的是程度較落后的學(xué)生會出現(xiàn)知識的缺陷,長此下去,學(xué)習(xí)困難的打擊會使學(xué)生的學(xué)習(xí)興趣急劇下降。

二、教學(xué)方法

要解決上述問題,我們就要緊緊抓住學(xué)生的實踐鍛煉,重視實踐教學(xué),明確實踐教學(xué)方法,才能使我們的教學(xué)目標(biāo)達到事半功倍的效果。

1.課時統(tǒng)一化,采用多種方式考察。既然由于課時原因,全理論授課與全上機操作導(dǎo)致學(xué)生的參與度不夠,理論與實踐脫節(jié),我們可以統(tǒng)一課時,即我們的C語言程序設(shè)計課程全部在機房授課。如今,機房設(shè)施完備,軟硬件已足夠完善,我們可以選擇在機房授課,利用機房的多媒體與黑板,講解理論知識,遇到需要學(xué)生動手的地方,可以讓學(xué)生及時地動手操作。教師完全不用擔(dān)心在授課時,學(xué)生玩電腦游戲影響聽課,我們可以遠程控制桌面,實時控制學(xué)生的電腦,進行各種操作,提高學(xué)生的聽課效率。同時,系統(tǒng)還可以自動統(tǒng)計出勤率,比點名更加快捷,具有實時的監(jiān)督作用。另外,教師再也不用擔(dān)心學(xué)生由于近視問題而看不清多媒體屏幕。其次,這種機房授課以多種方式對學(xué)生學(xué)習(xí)狀況進行考察,例如提出問題法、糾錯獎勵法、學(xué)生演示法、小測試法……提出問題法是指教師提出一些重點或難點問題,由學(xué)生來回答;糾錯獎勵法指教師給出某個算法或程序讓學(xué)生去發(fā)現(xiàn)其中的錯誤并糾正,最快找出的學(xué)生給予小小的獎勵,如一張精美的書簽、一句鼓勵的話語等;學(xué)生演示法指的是找一名學(xué)生到教師端編寫一個小程序或某個算法中的易錯點,以此找出學(xué)生的通病,引起大家的注意;小測試法是在課堂最后十分鐘左右給學(xué)生發(fā)放一份提前寫好的試題,兩到三題即可,可以按照計算機二級等級考試模式編寫,學(xué)生提交,系統(tǒng)直接核對,省時省力。這樣多種方式進行考察,真實地反映學(xué)生對該節(jié)課的掌握程度,也讓教師真正了解學(xué)生的學(xué)習(xí)情況,以便進一步開展教學(xué)工作。

2.小組競賽法,模擬各種編程競賽。為了激發(fā)學(xué)生的學(xué)習(xí)興趣,增強學(xué)生的動手實踐能力,可以采用小組競賽的方法來加強學(xué)生對C語言課程的學(xué)習(xí)。整個班級可以自由分組,兩到三個人一組,教師布置相應(yīng)的編程題目,要求學(xué)生在規(guī)定的時間內(nèi)上交,由教師來評分,選出程序最清晰、代碼更簡練的一組。在學(xué)期中后期,學(xué)生擁有一定的基礎(chǔ)和能力的情況下,可使其參與評選過程,通過評選人員相互交流討論,在提高被評學(xué)生編程能力的同時使參評學(xué)生也有所提高,即所謂的“教學(xué)相長”。除了進行班級內(nèi)小組競賽,還可以進行班級之間、專業(yè)之間集體賽。依然是先在班級中進行初選,再經(jīng)過層層選拔與淘汰,指出各方的優(yōu)缺點,最終評出優(yōu)秀、良好等。獎項不是重點,關(guān)鍵在于讓學(xué)生都參與到實踐活動中來。通過以上各種形式的競賽,可以提升學(xué)生對C語言的學(xué)習(xí)興趣和編程能力。

3.網(wǎng)絡(luò)交流法,建立多種網(wǎng)絡(luò)平臺。伴隨網(wǎng)絡(luò)化時代的到來,教師可以通過多種網(wǎng)絡(luò)平臺與學(xué)生交流、互動,及時指出并解決問題。如教師可以給每個班建立一個QQ討論組、微信群,如果學(xué)生在課下時間有難題或者對課堂上的知識點有疑問,可以在第一時間通過網(wǎng)絡(luò)交流平臺和教師取得聯(lián)系,以此使得“教學(xué)課堂”在時間和地域上得到無限制的延續(xù)。另外,通過網(wǎng)絡(luò)平臺,教師還可以給每個年級建立公共郵箱、論壇,用來分配任務(wù)、布置作業(yè)、共享教學(xué)資源等。更重要的是,教師可以把一些實踐或?qū)嶒灠l(fā)到網(wǎng)上,對學(xué)生的作品進行網(wǎng)上點評,把優(yōu)秀的程序分享給大家,同時指出學(xué)生的不足之處,到網(wǎng)上,學(xué)生自行查收,及時地給學(xué)生反饋。另外,這些平臺還可以作為學(xué)生們的“討論網(wǎng)”,大家自由交流各自的學(xué)習(xí)經(jīng)驗與學(xué)習(xí)心得,成為學(xué)生在線學(xué)習(xí)交流、在線測試的途徑。通過各種網(wǎng)絡(luò)平臺,使教師與學(xué)生、學(xué)生與學(xué)生的交流不受時間的限制、地點的約束,由學(xué)生自主地選擇學(xué)習(xí),從而解決教學(xué)時間不充足的問題,消除教師與學(xué)生之間在時間和空間上的距離感,進一步方便學(xué)生及時解決疑惑,及時得到反饋,取得更有效的學(xué)習(xí)效果。

本文探索的一些方法和改革創(chuàng)新是優(yōu)缺點共存的。研究發(fā)現(xiàn),采用以上多種方法相結(jié)合,一環(huán)扣一環(huán)的教學(xué)組織與管理,能保證學(xué)生學(xué)到一定的知識。沒有最棒的方法,只有最適合自己的方法,我們做的就是盡可能給予學(xué)生指導(dǎo),建立良好的學(xué)習(xí)氛圍。但是,如果學(xué)生對自己不負(fù)責(zé)任,學(xué)生之間存在相互包庇、幫忙完成實驗上機報告等問題,將影響整個教學(xué)效果。所以,教師要特別關(guān)注這些學(xué)生,經(jīng)常鼓勵、輔導(dǎo)他們,督察學(xué)習(xí)情況,特殊情況特殊處理,引導(dǎo)和幫助他們找到自己的學(xué)習(xí)目標(biāo)和學(xué)習(xí)方法。C語言程序設(shè)計成為越來越多高校學(xué)生選擇的課程,也是全國計算機等級考試的選擇之一。我們要緊跟時代的步伐,不斷更新教學(xué)內(nèi)容,分析和探討C語言程序設(shè)計教學(xué)過程中存在的問題,進行教學(xué)方法的改革,適應(yīng)時代需要,做好十足的準(zhǔn)備去迎接未來的挑戰(zhàn)。

參考文獻:

[1]譚浩強.C語言程序設(shè)計(第四版)[M].北京:清華大學(xué)出版社,2010.

[2]薛小鋒.《C語言程序設(shè)計》教學(xué)方法探析[J].福建電腦,2004,(01):87-88.

篇10

關(guān)鍵詞:C語言 教學(xué)內(nèi)容 教學(xué)手段 教學(xué)方法 教學(xué)改革

學(xué)習(xí)計算機程序設(shè)計語言是提高人們計算機知識水平的重要步驟。C語言作為當(dāng)今最為流行的程序設(shè)計語言之一,不但成為計算機專業(yè)的必修課,而且也越來越多地成為非計算機專業(yè)的學(xué)習(xí)課程[1]。但在《C語言程序設(shè)計》課程教學(xué)中,許多教師和學(xué)生都認(rèn)為C語言涉及的概念比較復(fù)雜,規(guī)則繁多,使用靈活,容易出錯,教師教學(xué)和學(xué)生學(xué)習(xí)都感到困難,并不同程度產(chǎn)生畏難心理[2]。特別是多數(shù)高校將C語言作為計算機專業(yè)學(xué)生進校后首先接觸的第一門專業(yè)基礎(chǔ)課,這種現(xiàn)象尤為明顯。筆者根據(jù)多年的程序設(shè)計課程的教學(xué)實踐,對《C語言程序設(shè)計》課程從教學(xué)內(nèi)容、教學(xué)手段、教學(xué)方法等方面進行了大膽的改革,并取得較好的教學(xué)效果。

1 教學(xué)內(nèi)容的改革[3]

1.1 課堂教學(xué)內(nèi)容的改革

以福建省高校計算機系列教材《C語言程序設(shè)計與應(yīng)用教程》為例,教學(xué)內(nèi)容主要包括C語言語法基礎(chǔ)、程序控制結(jié)構(gòu)、數(shù)據(jù)類型、指針、函數(shù)、文件以其它們的應(yīng)用等。教材在內(nèi)容組織上,雖然依邏輯思維方式進行了歸類,但難點還是較為集中,跨度大;概念講得多,分析少;語言深硬,不夠形象,較難理解。雖然教材在各章節(jié)也舉了一些編程例子,但多數(shù)難度較大,適用性不強。筆者本著“深入淺出,突出實用”的指導(dǎo)思想,在課堂教學(xué)過程中,對教學(xué)內(nèi)容重新進行了歸納,將難點再次分散,以縮小臺階,達到循序漸進。例如,C語言數(shù)據(jù)類型、運算符、表達式種類繁多,放在一塊講授,學(xué)生學(xué)習(xí)起來難度較大,于是筆者就刻意將算術(shù)型的數(shù)據(jù)類型、運算符以及相關(guān)的表達式先介紹,使學(xué)生學(xué)習(xí)起來沒有想象中的那么難。緊接著又教學(xué)生編寫簡單的、實用的C程序設(shè)計,然后趁機引入基本輸入、輸出函數(shù)就順理成章了。這樣一來臺階小了,學(xué)生的信心也增加許多,學(xué)習(xí)積極性很快就被提高起來。對于深硬的語言敘述,筆者則改用生動的比喻,進行詳盡引導(dǎo)。譬如,在開始學(xué)習(xí)指針的概念時,教材對“間接存取”敘述比較深硬,學(xué)生難以理解,筆者就借用比喻:將A房間的鑰匙放在B房間里,若要取A房間里的物品,就需要先打開B房間,取出A鑰匙,再打開A房間,取出A房間的物品,這就是“間接存取”。學(xué)生很快就能理解,也加深了指針的概念。在教學(xué)過程中,筆者還及時查閱英文版教材和有關(guān)報刊雜志,對較難理解的概念,用不同的方式給以解釋,甚至直接引用英文原版教材內(nèi)容。

1.2 實驗教學(xué)內(nèi)容的改革

計算機語言教學(xué)的主要任務(wù)是培養(yǎng)學(xué)生具有一定的閱讀程序、設(shè)計程序的能力,分析問題、解決問題的能力和邏輯思維的能力。而C語言程序設(shè)計是一門實踐性很強的課程,既要掌握概念,又要動手編程,還要上機調(diào)試運行[2]。因此,C語言的教學(xué)特別需要重視實踐環(huán)節(jié),包括編程和上機實驗。為了突出實踐教學(xué),培養(yǎng)學(xué)生的知識應(yīng)用能力,筆者對實驗內(nèi)容進行了較大的改革,一方面保留基礎(chǔ)性實驗,例如:三角形面積計算、求一元二次方程的根、各類三角圖形的繪制、簡單的排序算法等基礎(chǔ)編程實驗。使學(xué)生能夠較順利地通過實驗,并及時理解和消化課堂教學(xué)內(nèi)容,學(xué)生也會獲得一定的成就感,學(xué)習(xí)熱情會進一步得到提高。另一方面,增加一些實用性強的、難度略大的實驗,并組織學(xué)生討論,通過討論得出算法流程,然后上機編程調(diào)試。例如:要求分別用數(shù)組與指針,將一個字符串中的所有英文字母取出,并轉(zhuǎn)為大寫,然后再將它們倒序存放。做這個實驗之前,學(xué)生先通過討論,分別得出使用數(shù)組與指針進行讀取英文字母及倒序存放的算法流程圖,然后上機實驗。這樣一來,一方面有利于培養(yǎng)學(xué)生對知識的應(yīng)用能力與問題的分析能力,更主要的是也培養(yǎng)了他們協(xié)作能力。另一方面通過用數(shù)組與指針不同的解題方法,有利于學(xué)生加深對所學(xué)知識的理解,讓學(xué)生真正體會到C語言的靈活性,激發(fā)學(xué)生的求知欲。

2 教學(xué)手段的改革

在教學(xué)過程中,運用多媒體技術(shù)輔助教學(xué),有利于激發(fā)學(xué)生的學(xué)習(xí)興趣,能發(fā)展學(xué)生的主體能力;同時由于多媒體信息量大,也能夠優(yōu)化教學(xué)過程[4]。但多媒體輔助教學(xué)也有不利之處,主要體現(xiàn)在不恰當(dāng)?shù)氖褂脮稚W(xué)生注意力,影響主要問題的理解,也不利于發(fā)揮學(xué)生的想象力,影響師生之間的情感交流。在C語言程序設(shè)計課程教學(xué)過程中,筆者考慮到課程的特點,揚長避短,將傳統(tǒng)教學(xué)與多媒體教學(xué)進行了有機的結(jié)合。例如:由于C語言的數(shù)據(jù)類型、變量類型、運算符、程序結(jié)構(gòu)等,它們的定義、概念較多,又沒有深奧的理論,也沒有多少邏輯推理,所以筆者就采用多媒體教學(xué)。在教學(xué)過程中,事先將概念、大信息量的案例代碼制作成課件,在課堂做展示供學(xué)生增加信息量用,也簡化傳統(tǒng)教學(xué)無法板書的缺點,課堂教學(xué)也不再顯得枯燥無味。但對于案例分析或程序的編寫過程,筆者就發(fā)揮傳統(tǒng)教學(xué)的優(yōu)勢,進行課堂討論、板書講解、結(jié)合提問,將問題層層剖析、層層深入,達到師生互動的效果,學(xué)生的想象力就會得到充分的發(fā)揮,對問題的理解也變得更容易。另外,筆者也充分利用網(wǎng)絡(luò)資源,將電子教案、大綱、課件、習(xí)題等放在網(wǎng)上,供學(xué)生自行調(diào)用,同時通過Email、QQ對學(xué)生的提問進行答疑、討論,以彌補課堂教學(xué)的不足。

3 教學(xué)方法的改革

在C語言課程教學(xué)過程中,一方面要求教師能夠準(zhǔn)確把握授課內(nèi)容,同時也要求教師注意應(yīng)用相應(yīng)的教學(xué)方法,以此提高教學(xué)質(zhì)量。以下是筆者在幾年的C語言課程教學(xué)中采用的一些教學(xué)方法。

3.1 問題探究教學(xué)法

問題探究教學(xué)法在C語言教學(xué)中是一種相當(dāng)有用的教學(xué)方法。這種教學(xué)法能夠充分發(fā)揮學(xué)生的思維,突出學(xué)生的主體作用,能有效地培養(yǎng)學(xué)生的分析問題與解決問題的能力。以“冒泡排序”為例,筆者沒有平鋪直敘地介紹算法與程序代碼,而是先跟學(xué)生講解什么叫“冒泡”,然后讓學(xué)生思考冒泡排序的算法思路,進而讓學(xué)生討論并寫出算法流程圖,接下來講解如何用for與if程序結(jié)構(gòu)實現(xiàn)算法,最后才講解為了減少交換次數(shù)而引入swap這一判定變量,直至整個程序編寫完整。整個講解過程結(jié)合板書,逐步引導(dǎo),層層深入,取到很好的教學(xué)效果。

3.2 歸納教學(xué)法

C語言有很多的定義、概念、語法規(guī)則,它們使用靈活、難以記憶,也特別容易出錯。如果能夠引導(dǎo)學(xué)生進行歸納,將會起到事半功倍的效果。C語言的定義、概念、語法規(guī)則有許多相似的地方,例如:printf()與scanf()函數(shù),有很多語法規(guī)則是一樣的,對它們進行歸納之后,學(xué)生只要記住其中一個,另一個自然就會使用了。又如:數(shù)組與指針,由于它們使用靈活,許多學(xué)生與教師都認(rèn)為它們很難,尤其是指針。但如果對它們進行歸納之后,就會發(fā)現(xiàn)無論是二維數(shù)組,還是指向指針的指針或其它類型的指針,它們都會變得與一維數(shù)組的使用一樣容易。為了這些歸納便于記憶,筆者還將它們編成了順口溜,例如二維數(shù)與各類有二重地址的指針歸納如下:數(shù)組名與指針名代表二重地址,即無“*”也無“[ ]”加減數(shù)值對行操作;僅有1個“*”或“[ ]”代表單重地址(即行地址),加減數(shù)值對列操作;“*”與“[ ]”加起來有2個就是元素值。

3.3 討論教學(xué)法

在C語言教學(xué)過程中,充分發(fā)揮學(xué)生的積極性與主動性是非常重要的一環(huán)。筆者針對這門課程的特點與學(xué)生的興趣,課前給學(xué)生布置了幾個專題,讓學(xué)生利用課余時間去思考、收集資料,并在課堂上組織學(xué)生發(fā)言和討論。這種教學(xué)法不僅可以讓學(xué)生獲得許多課外知識,同時也促進教學(xué)內(nèi)容的改革,而且也有利于充分挖掘?qū)W生的學(xué)習(xí)潛力。

3.4 因材施教法

由于學(xué)生學(xué)習(xí)的動機、興趣、能力存在較大的個體差異,所以決定了C語言課程必須因材施教。對于學(xué)習(xí)能力較強的學(xué)生,筆者就鼓勵他們自學(xué),并給予方向性指導(dǎo),讓他們超前學(xué)習(xí)。在C語言教學(xué)中,培養(yǎng)學(xué)生的自學(xué)能力尤為重要,如果學(xué)生的學(xué)習(xí)完全依賴教師才能掌握,而沒有一定的自學(xué)能力,其所學(xué)的知識很快就會被淘汰。對于多數(shù)學(xué)生,則把精力放在最基本、最常用的內(nèi)容上,讓他們學(xué)好基本功,掌握程序設(shè)計的方法,為后續(xù)課程的學(xué)習(xí)打下基礎(chǔ)。另外,教學(xué)過程中,筆者還不時地從學(xué)生的角度來考慮問題,講解內(nèi)容,加強師生的互動效果,以降低學(xué)生學(xué)習(xí)的焦慮情緒。

3.5 實踐教學(xué)法

學(xué)習(xí)程序設(shè)計課程的目的是掌握設(shè)計程序的思路,學(xué)會用計算機語言編寫程序,以實現(xiàn)所需處理的任務(wù)[2]。因此教學(xué)重點要放在解題的思路上,通過大量的實踐讓學(xué)生學(xué)會怎樣設(shè)計一個算法,構(gòu)造一個程序。筆者一開始,讓學(xué)生編寫簡單的程序,然后逐步深入。在實驗題目設(shè)置上,根據(jù)課時安排以及要掌握基本知識,設(shè)置必做與選做題,以滿足各個層次學(xué)生的需要。在本課程結(jié)束后,安排一次綜合的大實驗,培養(yǎng)學(xué)生綜合應(yīng)用能力。

3.6 綜合考核法

衡量這門課學(xué)習(xí)的好壞,不是看學(xué)生“知不知道”,而是“會不會干”??己说姆椒ú荒苤饕檬欠穷}和選擇題,而應(yīng)當(dāng)把重點放在編制程序和調(diào)試程序上[2]。所以筆者對學(xué)生學(xué)習(xí)成績的評定,采用綜合考核法,將平時的實踐成績與期末卷面成績進行綜合,得出本課程綜合考評分。這種教學(xué)法,不但能更客觀地反映學(xué)生的學(xué)習(xí)情況,同時也能促進學(xué)生學(xué)習(xí),起到很好的教學(xué)效果。

4 結(jié)束語

上述教學(xué)內(nèi)容、教學(xué)手段與教學(xué)方法的改革,是根據(jù)實際教學(xué)過程中學(xué)生存在的問題提出的,并已經(jīng)在《C語言程序設(shè)計》課程教學(xué)實踐中運用,取得了良好的教學(xué)效果。當(dāng)然,同樣的教學(xué)內(nèi)容面對不同的學(xué)生,在使用與設(shè)計某種教學(xué)方法時,還要求學(xué)生的配合才行,也就是說教的方法與學(xué)的方法要有機統(tǒng)一。筆者將繼續(xù)努力探索,使《C語言程序設(shè)計》課程教學(xué)日趨完善。希望本文能對大學(xué)計算機基礎(chǔ)教學(xué)有一定的借鑒作用。

參考文獻:

[1] 嚴(yán)桂蘭.C語言程序設(shè)計與應(yīng)用教程[M].福建:廈門大學(xué)出版社,2001

[2] 譚浩強.C程序設(shè)計(第三版)[M].北京:清華大學(xué)出版社,2005