趙軍富 徐 揚(yáng) 胡 勇 王 猛
(內(nèi)蒙古科技大學(xué) 工程訓(xùn)練中心,內(nèi)蒙古 包頭 014010)
“C 語言程序設(shè)計(jì)”是本科院校工科專業(yè)的計(jì)算機(jī)技術(shù)公共基礎(chǔ)課,通過C語言的學(xué)習(xí)可以培養(yǎng)非計(jì)算機(jī)專業(yè)本科生的計(jì)算思維能力,利用計(jì)算機(jī)來解決實(shí)際問題的系統(tǒng)分析、設(shè)計(jì)和編程能力。然而大多數(shù)學(xué)生在學(xué)習(xí)C語言的過程中,仍然是“老師講,學(xué)生聽”的模式,不能很好地掌握C語言。學(xué)生被動(dòng)學(xué)習(xí),為了考試而學(xué)習(xí),很少有學(xué)生主動(dòng)地、創(chuàng)造性地去解決問題。學(xué)生用C語言編程解決實(shí)際專業(yè)問題的能力沒有得到重視。在新工科背景下培養(yǎng)學(xué)生運(yùn)用計(jì)算機(jī)解決問題的獨(dú)特思維方式,在后續(xù)的專業(yè)課程中再由專業(yè)課教師指導(dǎo)學(xué)生進(jìn)一步應(yīng)用實(shí)踐,不僅能提高學(xué)生全面分析問題、解決問題的能力,養(yǎng)成良好的學(xué)習(xí)習(xí)慣和思維方式,也能在更大程度上激發(fā)學(xué)生的創(chuàng)造潛能。本文提出與專業(yè)背景相結(jié)合的C語言程序設(shè)計(jì)案例教學(xué)模式[1],以與專業(yè)知識(shí)相關(guān)的實(shí)際問題為教學(xué)案例,引入解決該問題用到的C語言知識(shí)點(diǎn),通過對知識(shí)點(diǎn)的深入學(xué)習(xí),最后反過來再解決教學(xué)案例的問題。這種模式可以有效地提高學(xué)生對所學(xué)知識(shí)與專業(yè)知識(shí)的銜接,自覺地在教學(xué)中建立起C 語言與專業(yè)應(yīng)用的關(guān)系橋梁,培養(yǎng)學(xué)生運(yùn)用計(jì)算機(jī)解決問題的獨(dú)特思維方式來解決專業(yè)中的實(shí)際問題[2],不僅能提高學(xué)生全面分析問題、解決問題的能力,也可實(shí)現(xiàn)學(xué)以致用,激發(fā)學(xué)生對專業(yè)學(xué)習(xí)的興趣。培養(yǎng)具有實(shí)踐能力、創(chuàng)新能力,適應(yīng)社會(huì)需求的應(yīng)用型人才。
本科院校工科專業(yè)的學(xué)生在學(xué)習(xí)過程中,雖然掌握了各知識(shí)點(diǎn)的概念、基礎(chǔ)語法、語句結(jié)構(gòu)等,但在知識(shí)點(diǎn)的靈活應(yīng)用、算法設(shè)計(jì)、程序編寫、程序調(diào)試上存在缺乏解決實(shí)際問題的科學(xué)思維、算法設(shè)計(jì)和編程實(shí)現(xiàn)等能力問題。因此,本文針對本科院校工科專業(yè)培養(yǎng)學(xué)生的目標(biāo),結(jié)合教師存在教學(xué)理念陳舊,教學(xué)方法簡單,過分注重知識(shí)的傳授,忽略了對學(xué)生實(shí)踐能力、創(chuàng)新能力的培養(yǎng),提出對本科院校工科專業(yè)“C語言程序設(shè)計(jì)”教學(xué)進(jìn)行創(chuàng)新型改革。
第一,采用“項(xiàng)目驅(qū)動(dòng)式”的創(chuàng)新教學(xué)模式,通過教學(xué)項(xiàng)目引入知識(shí)點(diǎn),詳解知識(shí)點(diǎn)后,再用所學(xué)知識(shí)解決教學(xué)項(xiàng)目提出的問題。
第二,在教學(xué)設(shè)計(jì)上,對課程知識(shí)點(diǎn)進(jìn)行單元化設(shè)計(jì),以單元知識(shí)點(diǎn)為中心,根據(jù)各專業(yè)工程教育認(rèn)證指標(biāo)點(diǎn),設(shè)計(jì)與專業(yè)背景相融合的教學(xué)項(xiàng)目[3],將知識(shí)點(diǎn)引入、講解、并用相關(guān)的知識(shí)應(yīng)用解決專業(yè)實(shí)際問題。
第三,在教學(xué)內(nèi)容上,為每個(gè)單元知識(shí)點(diǎn)創(chuàng)建多樣化的教學(xué)資源包括教學(xué)項(xiàng)目、PPT課件、微視頻(帶有二維碼)、隨堂單元知識(shí)測試題。
第四,在考核方式上,應(yīng)注重過程考核,將對學(xué)生出勤、平時(shí)作業(yè)、項(xiàng)目考核、期末考試等進(jìn)行多元化考核。
在實(shí)際教學(xué)中運(yùn)用“項(xiàng)目驅(qū)動(dòng)式”的教學(xué)方法,通過事先設(shè)計(jì)好的教學(xué)項(xiàng)目,以案例的形式引出知識(shí)點(diǎn),為解決教學(xué)項(xiàng)目中的問題,需要學(xué)習(xí)相關(guān)的知識(shí)點(diǎn)。首先,進(jìn)行知識(shí)點(diǎn)的精講,通過經(jīng)典的例題讓學(xué)生掌握知識(shí)點(diǎn)的關(guān)鍵內(nèi)容。其次,讓學(xué)生做相應(yīng)的練習(xí)鞏固熟練知識(shí)點(diǎn)。最后,將所學(xué)的知識(shí)點(diǎn)用來解決剛才教學(xué)項(xiàng)目中的問題以提高學(xué)生的學(xué)習(xí)興趣,充分培養(yǎng)學(xué)生解決實(shí)際問題的邏輯思維能力、分析判斷能力和學(xué)以致用的能力。
對“C語言程序設(shè)計(jì)”課程按照章節(jié)進(jìn)行知識(shí)點(diǎn)劃分,主要包括分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組、函數(shù)、指針、結(jié)構(gòu)體、文件等 7大模塊。[4]首先,對每一模塊進(jìn)行知識(shí)點(diǎn)單元化[5],分出若干個(gè)知識(shí)點(diǎn)。然后,進(jìn)行專業(yè)調(diào)研來尋找專業(yè)中需要用編程來解決的問題,將專業(yè)課程中的問題與C語言中的某一個(gè)知識(shí)點(diǎn)進(jìn)行融合凝練出科學(xué)、合理、具有創(chuàng)新的教學(xué)項(xiàng)目,教學(xué)設(shè)計(jì)方案如圖1所示:
圖1 教學(xué)設(shè)計(jì)方案
在圖1中,教學(xué)設(shè)計(jì)環(huán)節(jié)將課程單元知識(shí)點(diǎn)與專業(yè)問題融合后產(chǎn)生教學(xué)項(xiàng)目,下面以循環(huán)結(jié)構(gòu)單元知識(shí)點(diǎn)為例設(shè)計(jì)教學(xué)項(xiàng)目,給出教學(xué)內(nèi)容及教學(xué)過程。
教學(xué)項(xiàng)目(愛因斯坦出了一道數(shù)學(xué)題):有一條不超過200階的長階梯,若每步跨2階,則最后剩1階,若每步跨3 階,則最后剩2階,若每步跨5階,則最后剩4階,若每步跨6階則最后剩5階。只有每次跨7階,最后才正好一階不剩。請問這條階梯共有多少階?
第一步:問題分析與算法設(shè)計(jì)。根據(jù)題意,可知臺(tái)階數(shù)位為區(qū)間[7,200]中的1個(gè)數(shù)。假設(shè)階梯數(shù)為n,則階梯數(shù)應(yīng)該滿足下面一組同余式:
n % 2≡1
n % 3≡2
n % 5≡4
n % 6≡5
n % 7≡0
第二步:相關(guān)知識(shí)點(diǎn)引入。本項(xiàng)目通過循環(huán)語句可以對區(qū)間[7,200]中的每個(gè)整數(shù)進(jìn)行判斷,使用for語句來實(shí)現(xiàn)。引入for語句,并進(jìn)行詳細(xì)講解,for語句一般格式:
for ( 表達(dá)式1;表達(dá)式2;表達(dá)式3 )
循環(huán)體;
第三步:編程實(shí)現(xiàn)。
/*程序說明與注釋
#include
main( )
{
int n=1;/*n為所設(shè)的階梯數(shù)*/
for(n=7;n<=200;n++)
{
if( (n%2==1)&&(n%3==2)&&(n%5==4)&&(n%6==5)&&(n%7==0) )
printf(“階梯數(shù)number=%d ”,n);
}
}
程序運(yùn)行結(jié)果
階梯數(shù)number =119
多數(shù)高校使用傳統(tǒng)的考核標(biāo)準(zhǔn),“C語言程序設(shè)計(jì)”課程以“平時(shí)成績+ 期末考試成績”的方式進(jìn)行考核[5],比例為 2:8(或3:7)。由于期末考試成績的占比較大,大多學(xué)生是在考前突擊學(xué)習(xí),通過死記硬背知識(shí)點(diǎn)和做題的方式來應(yīng)付考試,即使學(xué)生取得了很高的成績,但是用C語言來編寫程序解決專業(yè)問題的能力不足,不能把C語言所學(xué)知識(shí)與專業(yè)相結(jié)合,這是應(yīng)用型本科工科專業(yè)同學(xué)的一大弊病。因此,要注重過程考核,對每個(gè)知識(shí)點(diǎn)新增一個(gè)與專業(yè)相結(jié)合的考核項(xiàng)目,批改、打分計(jì)入總成績。可以以考勤(10%)、考核項(xiàng)目5個(gè)(50%,每個(gè)占10%)、期末測試(40%)的模式進(jìn)行考核,提升學(xué)生用C語言知識(shí)解決專業(yè)問題的能力,培養(yǎng)工科學(xué)生的創(chuàng)新能力。
應(yīng)用型本科院校培養(yǎng)學(xué)生解決實(shí)際問題的能力及創(chuàng)新能力至關(guān)重要,工科專業(yè)的學(xué)生利用C語言編程來解決一些專業(yè)實(shí)際問題是必備的能力。本文通過對C語言從教學(xué)模式、教學(xué)設(shè)計(jì)、教學(xué)內(nèi)容、考核方式上進(jìn)行創(chuàng)新型改革。將C語言課程進(jìn)行知識(shí)點(diǎn)的單元化,將單元知識(shí)點(diǎn)與專業(yè)問題進(jìn)行融合,凝練教學(xué)項(xiàng)目,在教學(xué)過程中先通過教學(xué)項(xiàng)目需要解決的問題將相關(guān)知識(shí)點(diǎn)引出,詳細(xì)精講知識(shí)點(diǎn),掌握知識(shí)點(diǎn)后反過來用所學(xué)知識(shí)來解決教學(xué)項(xiàng)目中的專業(yè)問題。提高學(xué)生理論聯(lián)系實(shí)際、解決實(shí)際問題的綜合能力,將教學(xué)從單一的“結(jié)構(gòu)化編程” 轉(zhuǎn)變?yōu)椤敖Y(jié)構(gòu)化和面向?qū)ο蟆?,激發(fā)學(xué)生學(xué)習(xí)和探索的激情,提高教學(xué)質(zhì)量。
包頭職業(yè)技術(shù)學(xué)院學(xué)報(bào)2022年2期