張 競 朱子楠 梁 晗 張 麗
咸陽師范學(xué)院計(jì)算機(jī)學(xué)院 陜西咸陽 712000
在C語言程序設(shè)計(jì)課程中,基于雨課堂、阿爾法等教學(xué)平臺(tái),經(jīng)過精心設(shè)計(jì)的線上線下教學(xué)混合式教學(xué)模式的步驟:創(chuàng)設(shè)場(chǎng)景,激發(fā)學(xué)生的學(xué)習(xí)興趣和動(dòng)力→適應(yīng)場(chǎng)景,養(yǎng)成良好的學(xué)習(xí)習(xí)慣→內(nèi)化場(chǎng)景,形成專業(yè)能力→升級(jí)場(chǎng)景,形成專業(yè)技術(shù)→升華場(chǎng)景,上升為專業(yè)藝術(shù)。通過這樣小步慢走的進(jìn)步,希望能夠更好地、超預(yù)期地完成C語言程序設(shè)計(jì)課程的教學(xué)任務(wù)。
例如,在C語言程序設(shè)計(jì)課程的循環(huán)模塊教學(xué)中,給學(xué)生提出如下三個(gè)問題:
例1-1 已知一個(gè)數(shù)列的第n項(xiàng)an=3n+2,計(jì)算該數(shù)列的前n項(xiàng)和sn。
例1-2 已知一個(gè)數(shù)列的第n項(xiàng)an=a*n+b(a和b都是常量),計(jì)算該數(shù)列的前n項(xiàng)和sn。
不提倡任課教師直接給出解決問題的方法答案,課上首先讓學(xué)生自己尋找或者探索解決問題的方法,然后教師再提供參考答案(培養(yǎng)學(xué)生自學(xué)能力和環(huán)境適應(yīng)能力)。
例如,引導(dǎo)學(xué)生自己通過教材、書籍、網(wǎng)絡(luò)等自學(xué)或請(qǐng)教別人,尋找探索計(jì)算數(shù)列的前n項(xiàng)和sn的方法。
步驟1 首先,學(xué)生尋找探索計(jì)算數(shù)列的前n項(xiàng)和sn的方法。
步驟2 然后,教師再提供計(jì)算數(shù)列的前n項(xiàng)和sn的參考答案。
例1-1 已知一個(gè)數(shù)列第n項(xiàng)an=3n+2,計(jì)算該數(shù)列的前n項(xiàng)和sn
方法1 使用while語句的循環(huán)程序?qū)崿F(xiàn)
#include
int main()
{ int n,k=1,an,sn=0;
printf("n = ");
scanf("%d",&n);
while(k<=n)
{ an=3*k+2;
sn=sn+an;
k++;
}
printf("sn = %d ", sn);
return 0;
}
方法2 使用for語句的循環(huán)程序?qū)崿F(xiàn)
#include
int main()
{ int n,k,an,sn=0;
printf("n = ");
scanf("%d",&n);
for(k=1;k<=n;k++)
{ an=3*k+2;
sn=sn+an;
}
printf("sn = %d ", sn);
return 0;
}
例1-2 已知一個(gè)數(shù)列第n項(xiàng)an=a*n+b,計(jì)算該數(shù)列的前n項(xiàng)和sn(a和b是常量)。
方法1 使用while語句的循環(huán)程序?qū)崿F(xiàn)
#include
int main()
{ int a,b,n,k=1,an,sn=0;
printf("a b n = ");
scanf("%d%d%d",&a,&b,&n);
while(k<=n)
{ an=a*k+b;
sn=sn+an;
k++;
}
printf("sn = %d ", sn);
return 0;
}
方法2 使用for語句的循環(huán)程序?qū)崿F(xiàn)
#include
int main()
{ int a,b,n,k,an,sn=0;
printf("a b n = ");
scanf("%d%d%d",&a,&b,&n);
for(k=1;k<=n;k++)
{ an=a*k+b;
sn=sn+an;
}
printf("sn = %d ", sn);
return 0;
}
首先,通過努力,學(xué)生初步探索嘗試性地解決了一個(gè)新問題,然后需要獨(dú)立使用該方法解決一定數(shù)量的同類問題,才有可能基本掌握這類解決問題的通用方法。因此,需要學(xué)生自己獨(dú)立解答下面這些練習(xí)題并需要做更多的練習(xí)題:
習(xí)題3-1 計(jì)算自然數(shù)列1,2,3,4,5,6,7,8,…的前n項(xiàng)和sn。[1]
習(xí)題3-2 計(jì)算斐波那契數(shù)列1,1,2,3,5,8,13,21,34,55,…的前n項(xiàng)和sn。[2]
步驟1 學(xué)生最好能獨(dú)自設(shè)計(jì)出上面的練習(xí)題程序(訓(xùn)練學(xué)生獨(dú)自設(shè)計(jì)程序能力)。
步驟2 教師給出設(shè)計(jì)上面的練習(xí)題程序的參考答案,供大家參考。
習(xí)題3-1 計(jì)算自然數(shù)列1,2,3,4,5,6,7,8,…的前n項(xiàng)和sn。[1]
方法1 使用while語句的循環(huán)程序?qū)崿F(xiàn)
#include
int main()
{ int n,k=1,an,sn=0;
printf("n = ");
scanf("%d",&n);
while(k<=n)
{ an=k+1;
sn=sn+an;
k++;
}
printf("sn = %d ", sn);
return 0;
}
方法2 使用for語句的循環(huán)程序?qū)崿F(xiàn)
#include
int main()
{ int n,k,an,sn=0;
printf("n = ");
scanf("%d",&n);
for(k=1;k<=n;k++)
{ an= k;
sn=sn+an;
}
printf("sn = %d ", sn);
return 0;
}
習(xí)題3-2 計(jì)算斐波那契數(shù)列1,1,2,3,5,8,13,21,34,55,……的前n項(xiàng)和sn。[2]
方法1 使用while語句的循環(huán)程序?qū)崿F(xiàn)
#include
int main()
{ int a1=1,a2=1,k=3,n,an,sn=a1+a2;
printf("n = ");
scanf("%d",&n);
if(n==1) sn=a1;
else if(n==2) sn=sn;
else while(k<=n)
{ an=a1+a2;
sn=sn+an;
a1=a2;
a2=an;
k++;
}
printf("sn = %d ", sn);
return 0;
}
方法2 使用for語句的循環(huán)程序?qū)崿F(xiàn)
#include
int main()
{ int a1=1,a2=1,k,n,an,sn=a1+a2;
printf("n = ");
scanf("%d",&n);
if(n==1) sn=a1;
else if(n==2) sn=sn;
else for(k=3;k<=n;k++)
{ an=a1+a2;
sn=sn+an;
a1=a2;
a2=an;
}
printf("sn = %d ", sn);
return 0;
}
在線下,通過學(xué)生使用可以更新的題庫平臺(tái),測(cè)驗(yàn)檢查并訓(xùn)練學(xué)生更正確、更規(guī)范地運(yùn)用知識(shí)解決問題的應(yīng)用能力,使自己的專業(yè)能力逐步不斷地向?qū)I(yè)技術(shù)方面升級(jí)。
學(xué)習(xí)的目的,是為了應(yīng)用,在線下通過認(rèn)真做題庫的測(cè)驗(yàn)檢查,訓(xùn)練并提升學(xué)生掌握專業(yè)技能的熟練程度。學(xué)生一旦通過測(cè)驗(yàn)檢查,就有可能把知識(shí)內(nèi)化成自己的技能,創(chuàng)造更高的價(jià)值。
學(xué)生會(huì)做題,并不能保證邏輯合理、過程規(guī)范、方法簡捷、結(jié)果正確。只有通過不斷地超大量的正規(guī)測(cè)驗(yàn)檢查的訓(xùn)練,才有可能使得自己的專業(yè)能力升華為專業(yè)技術(shù)。
在C語言程序設(shè)計(jì)課程教學(xué)中,伴隨著題庫升級(jí),學(xué)生不斷地使用雨課堂和阿爾法平臺(tái)測(cè)驗(yàn)檢查,只有累積測(cè)驗(yàn)成績的平均分不低于80分的學(xué)生,才可以通過本門課程的正規(guī)測(cè)驗(yàn)檢查。
方法1 雨課堂平臺(tái)的測(cè)驗(yàn)檢查

方法2 阿爾法平臺(tái)的測(cè)驗(yàn)檢查

學(xué)生可以通過面對(duì)面或者電話、QQ、微信、郵件等方式進(jìn)行交流。通過交流,在老師啟發(fā)、引導(dǎo)下,喚醒學(xué)生的意識(shí),使學(xué)生在學(xué)習(xí)上獲得頓悟,突然理解了知識(shí)點(diǎn),使學(xué)生的專業(yè)知識(shí)技術(shù)升華為專業(yè)藝術(shù)。
改進(jìn)C語言程序設(shè)計(jì)課程的教學(xué)方法,除了采用線上線下混合式教學(xué)模式以外,也需要借鑒一些優(yōu)秀教師的教學(xué)方法,關(guān)注最新的教學(xué)技術(shù)發(fā)展,不斷引入新的理論知識(shí),對(duì)自身的教學(xué)內(nèi)容進(jìn)行更新,還需要根據(jù)學(xué)生自身的個(gè)性特點(diǎn),提高教學(xué)的趣味性,讓學(xué)生對(duì)課程產(chǎn)生喜愛,激發(fā)學(xué)生的興趣。要與時(shí)俱進(jìn),跟上時(shí)代的步伐,增強(qiáng)學(xué)生主動(dòng)探索能力和對(duì)知識(shí)的綜合應(yīng)用能力,改進(jìn)課程教學(xué)方法,達(dá)到提高課堂教學(xué)的效果。