殷振環(huán)
【摘要】 《C編程和設(shè)計》是一門重要的計算機基礎(chǔ)課程,旨在提高學生的邏輯思維能力實際的編程技巧。作者根據(jù)多年的教學經(jīng)驗體會到,C語言編程設(shè)計具有高度抽象性和邏輯邏輯性,這門課程不僅提供學生非常豐富思維材料和更廣闊的思維空間,更開發(fā)他們的創(chuàng)造性。
【關(guān)鍵詞】 C語言 創(chuàng)造性 教學模式
一、引言
創(chuàng)新性思維是思維的高級形式和創(chuàng)造力的核心,是人們特別的意圖或者任務。培養(yǎng)學生的創(chuàng)造性思維是對現(xiàn)代教育的根本使命,特別是高等教育。C語言這門課程具有高度抽象性和邏輯性,可以提供學生廣闊的思維空間。從我多年的教學經(jīng)驗,形成意見這個過程是一個偉大的培養(yǎng)學生的創(chuàng)新思維的過程。那么我們怎么可以培養(yǎng)學生的創(chuàng)造性思維?現(xiàn)在我將闡述我的觀點。
二、使學生掌握C編程的一般方法
引導學生持有共同的方法C語言是發(fā)展的基礎(chǔ)學生的創(chuàng)造性思維。當學生開始他們的C語言學習,他們通常無法找到他們面臨的一個編程問題的出路。為什么呢?一個原因是,學生不能擺脫在中學時的舊的思維模式,另一個是他們還沒有掌握C語言的編程方法。因此,教師應該多說多講編程方法的例子,以便我們能為培養(yǎng)學生的創(chuàng)造性思維創(chuàng)造一個良好的環(huán)境。例1:輸入兩正整數(shù)為m和n。然后找出它們的最大公約數(shù)和最小公倍數(shù)。
算法分析:
第一步,讀取問題。學生仔細閱讀問題,關(guān)注它是兩個正整數(shù),要輸入數(shù)據(jù)和理解最大公約數(shù)和最小公倍數(shù)的定義。
第二步,繪制的流程圖描述算法的實現(xiàn)過程(見圖1)。在該算法中,而循環(huán)使用,如果m
第三步,根據(jù)算法編寫的C代碼過程。
第四步,上機調(diào)試,最終得到程序的正確的結(jié)果。
三、舒適的環(huán)境啟發(fā)學生的創(chuàng)意靈感
教學是教師和學生表達自己的感情和相互傳染的心情的一個過程。培養(yǎng)學生的創(chuàng)造性思維,教師首先要設(shè)置一個舒適創(chuàng)意的環(huán)境。還有在課堂教學中需要注意:1、教師應尊重每一個學生,特別是對待那些編程不好的學生。這樣,每個學生會覺得自己被認可,然后他們可以無壓力的開拓自己的思維,找到他們的激勵創(chuàng)新。以作者為例如,筆者曾在黑板上給定一個問題,然后讓三學生完成它,。完成之后,作者做了一些算法分析工作,即使結(jié)果是錯誤的,還是給予更多的鼓勵、少批評。2、分組討論提倡學生互相幫助。組內(nèi)成員之間應該沒有任何區(qū)別。當討論明確問題的結(jié)果,語言代表整個群體的智慧,并使每個組員快樂的討論學習,可以有一個積極的態(tài)度和一個很好的機會培養(yǎng)學生的創(chuàng)新思維。
四、突破傳統(tǒng)的研究方法培養(yǎng)學生的創(chuàng)造性思維
通常我們在傳統(tǒng)的三個步驟教學理論給出的定義->解釋定義->顯示定義的例子;然而在實際的C語言編程課程中應該有新的三個步驟:提出問題→發(fā)現(xiàn)解>總結(jié)規(guī)律或方法。傳統(tǒng)的方法是從理論到實踐,從抽象的示范和推廣專業(yè)化,而C編程應遵循從實踐到理論的方法,從示范到抽象、從專業(yè)化的推廣。筆者在教學中,筆者經(jīng)常首先給出的代碼,然后讓他們的學生驗證碼;有時作者故意犯了一些錯誤,讓學生正確的記錄結(jié)果的程序。當回到課堂,這作者將要求學生思考算法和代碼中的錯誤,然后的課堂氣氛也會高,很多學生給出他們的意見,可以很好地發(fā)展他們的創(chuàng)造力。最后,老師會分析這個問題并作出結(jié)論。作為一個結(jié)果,我們可以得到很好的理論教學效果。
例2:4×4矩陣的轉(zhuǎn)置
該程序的代碼如下:
main()
{int a[4][4]m*p,i;
printf(“Please input a(by row)4×4 matrix:\n”);
for(i=0;i<4;i++)
scanf(“%d%d%d%d”,&a;[1][0],&a;[1][1],&a;[1][2],&a;
[1][3]);
p=&a;[0][0];
為了發(fā)展學生他的創(chuàng)造性思維,討論了該程序的算法。最后,教師應給出分析和結(jié)論:矩陣的轉(zhuǎn)置交換一個a[i] [j]和a[j] [i]。但這個程序使用指針作為參數(shù)的函數(shù)參考,因此,交換的指針是pointer +4*i+j和pointer + 4*j +i,我考慮的要素多維數(shù)組由行(每行4個)存儲,和指針變量是用來存儲一些數(shù)組元素的地址,或在其他組元素。如果一個a[1] [3]和a[3][1]交換,事實上交換數(shù)組元素所指向的值pointer + 4*i+ 3 和 pointer + 4*3 +i指針,如果學生能理解算法,那么對學生創(chuàng)造力的發(fā)展是有益的。
五、鼓勵學生帶著問題去思考
教師設(shè)置問題應巧妙利用課堂提問的藝術(shù)。課堂提問可以提高學生和老師之間的相互作用。設(shè)置問題應按照“學生之間的差異”,所提問題的層次是發(fā)展的學生創(chuàng)造性思維的關(guān)鍵。
例3:從100到200,找到所有的素數(shù)。

教師根據(jù)程序提出了一些問題:(1)素數(shù)的定義是什么?(2)有多少次循環(huán)?如何開始循環(huán)工作?(3)結(jié)束循環(huán)的標志是什么?(4)輸出格式是怎樣的?讓學生思考一會兒,然后回答這些問題。在學生回答,老師給出了自己的結(jié)論:一個素數(shù)是一個整數(shù)且大于1,除了本身和和1之外不能被整除的數(shù)。該程序是一個雙重循環(huán),每執(zhí)行一次外循環(huán),內(nèi)循環(huán)將重復執(zhí)行,直到表達式不成立;在執(zhí)行完所有運算后退出循環(huán)并輸出結(jié)果,顯示每10個數(shù)一行。提問是必不可少的學習環(huán)節(jié),作者應該給學生一些時間提問,可以鼓勵他們?nèi)ニ伎己桶l(fā)展的創(chuàng)造力。作者經(jīng)常讓學生修改一些程序,他們發(fā)現(xiàn)錯誤,提出新的問題,完善程序,這種方法可以激發(fā)他們的興趣和創(chuàng)造力。
六、激發(fā)學生發(fā)散性思維和培養(yǎng)學生的創(chuàng)造力
發(fā)散性思維是創(chuàng)新的核心思考。發(fā)散性思維是想從不同的觀察方向和角度,發(fā)現(xiàn)更多新的信息和尋找答案。在教學過程中,讓學生激勵自己學習和鼓勵他們打破傳統(tǒng)的方式,嘗試新的方法,以找到自己的適合的方法來解決問題。這是提出了一些新的編程方法,程序使用不同的算法,找到自己的解決方案問題和討論這些差異答案。作為一個結(jié)果,學生可以發(fā)展他們的希望學習和創(chuàng)造性思維的能力。
例4:輸入3個數(shù),A,B,C,找出最大的一個數(shù)。
對于這個問題,有些同學給出的代碼如下:
一個問題通過多種方法來解決,教師可以拓寬學生的思想,激發(fā)他們的創(chuàng)造性思維。
七、用創(chuàng)造性的方式教授新知
在多年的教學中,筆者發(fā)現(xiàn)系統(tǒng)的教學考慮將正常教學與創(chuàng)新教學作為一種系統(tǒng),通過整合教學實現(xiàn)教學目標。如下圖所示:形成一個系統(tǒng)的教學模式:(1)系統(tǒng)的教學模式是一種模式,可以培養(yǎng)學生的創(chuàng)新品質(zhì)、是有幫助的為了解創(chuàng)造力的概念教育。(2)系統(tǒng)的教學模式能體現(xiàn)現(xiàn)代教育理念,有利于發(fā)揮學生和教師他們的主動性和創(chuàng)造性。(3)系統(tǒng)的教學模式有助于創(chuàng)新教學方法,更有助于拓展新教學方法的運用。教師應強化C語言教學中的理論教學和時間教學的互動,激發(fā)并引導學生學習主觀能動性,C的教學過程是培養(yǎng)學生的興趣,激發(fā)學生的創(chuàng)新精神和培養(yǎng)他們的創(chuàng)造力思考的一個過程。
參 考 文 獻
[1]譚浩強《C程序設(shè)計(第三版)》清華大學出版社,2005。
[2] Eric S.Roberts 《Programming Abstractions in C : A Second Course in Computer Science》。
[3](美)Brian W. Kernighan / (美)Dennis M. Ritchie 《C程序設(shè)計語言》機械工業(yè)出版社 2004-1-1。