摘 要:程序設計基礎面向的學生群體非常廣泛。由于不同專業(yè)的培養(yǎng)目標不一致,因此其實驗教學模式既有共性,又有個性。文章結(jié)合教學實踐,針對計算機專業(yè)、理工科非計算機專業(yè)、高職高專計算機應用專業(yè)這三類學生群體,從實驗教學的過程控制、實驗教學的內(nèi)容設置以及實驗的考核三個方面進行闡述,分析和比較不同教學模式的特點及適用范圍,提出針對不同類別學生群體的、行之有效的實驗教學模式以及可參考的具體手段,這些手段在教學實踐中運用,均取得了非常好的教學效果。
關鍵詞:程序設計基礎;實踐教學;過程控制;考核
程序設計基礎課程以講授一種程序設計語言為線索,以掌握一種程序設計方法為手段,以培養(yǎng)程序調(diào)試的技能及簡單算法分析的能力為目標,是一門理論性和實踐性兼?zhèn)涞幕A課。目前,許多高校的計算機類和非計算機類理工科專業(yè),均開設了程序設計基礎課程。實踐中將教學對象分成三類,其教學目標各有不同:
1) 計算機專業(yè)。熟練掌握程序設計的基本技能、學習并運用程序設計思想、培養(yǎng)計算思維能力;面向軟件人員水平考試;為培養(yǎng)計算機專業(yè)的研究型人才打下基礎。
2) 高職高專計算機應用。熟練掌握程序設計的基本技能;學習并運用程序設計思想;面向培養(yǎng)應用型、技能型人才。
3) 理工科非計算機專業(yè)。學習程序設計的基礎理論,理解程序設計思想;面向計算機二級等級考試;為程序設計的工程應用打下基礎。
顯然,由于各專業(yè)面向的學生群體不同、培養(yǎng)目標不同,所以教學模式既有共性,也有個性。在實踐教學環(huán)節(jié),由于教師與學生是一對一的指導,因此教學模式的差異性表現(xiàn)得尤為突出。下面針對上述三類學生群體,對各類實驗教學模式進行綜合分析和比較。
1 實驗教學的過程控制
1.1 實驗教學方法
1.1.1 邊講邊練,邊學邊做
這種教學方法表現(xiàn)為:“演示→練習→再演示→再練習……”,教師可通過多媒體網(wǎng)絡教學平臺演示編程過程,再要求學生模仿完成相應的練習,采取教師演示與學生實驗交替進行的方式。為控制學習進度,應設定時間,例如,每5~10分鐘完成并提交一個程序,然后再進行下一次的演示和練習。這種方式要求教師具有很強的課堂控制能力,能夠較好地把握演示時間、選擇有代表性的演示內(nèi)容。其主要特點是:
1) 教學全程以教師為主導,學生獨立思考的時間較少,所以適用于驗證性的實驗,例如基礎語法的練習。
2)“邊講邊練”,使學生能夠快速上手,因此適用于面向計算機等級考試、要求在有限的課時內(nèi)熟練掌握基礎知識的理工科非計算機專業(yè)。
3) 講授的時間較長,教學進程較慢,適用于實驗課時較多的專業(yè)。例如,高職高專計算機應用類專業(yè),其實驗課的比重一般較大,采用“邊學邊練”的方式也是可行的。
作者簡介:盧玲,女,講師,研究方向為嵌入式系統(tǒng)、計算機應用技術研究。
1.1.2 先講后練,任務驅(qū)動
這種方法表現(xiàn)為,知識及技能的傳授應以完成典型“任務”為主[1]。將“演示→練習→演示→練習”變成“演示+練習”的模式。要注意教師講解的時間不宜過長,例如控制在15分鐘左右,其余的時間由教師輔導、學生獨立支配時間進行練習?!跋戎v后練”一定要通過“任務驅(qū)動”,預先安排好實驗任務,提出具體的目標,例如工作量以及任務提交的時間等。這種方式的特點是:
1) 是典型的以教師為主導、學生為主體的方式,注重引導學生獨立思考、培養(yǎng)學生獨立分析和解決問題的能力。因此,這種方式適用于設計性的實驗,例如,有關程序結(jié)構(gòu)類的練習、簡單算法分析的練習等。
2) 由于有教師演示,學生能很快地把握問題的關鍵點及難點。同時,“任務驅(qū)動”使教學目標明確,實驗過程“有的放矢”,實驗的效率較高。
3)“任務驅(qū)動”注重思維能力的鍛煉,能較好地發(fā)展學生獨立研究、獨立解決問題的能力。由于計算機專業(yè)肩負著為培養(yǎng)計算機領域的研究型人才做準備的重任,所以尤其適合大量采用“任務驅(qū)動”的模式。
1.1.3 項目驅(qū)動,全程實踐
所謂全程實踐,是指教師只提出實驗目標,實驗時間完全由學生支配。這種方式最好以“項目驅(qū)動”,項目涉及的知識面應比較寬,任務量應足夠大。例如,設計某類信息管理系統(tǒng)。項目一般可能需要幾次實驗課來完成,這些實驗課時完全由學生支配。在全程實踐中,教師擔負著指導的作用,可將學生劃分成項目小組,每組2~3人,安排項目組長,組織項目實施。這種方式的特點是:
1) 項目的工作量一般都較大,屬于綜合性的實驗內(nèi)容,適合在階段性的學習結(jié)束后進行。由于涉及的知識面廣泛,主要培養(yǎng)綜合運用知識的能力,因此尤其適合高職高專以及計算機類本科專業(yè)。
2) 這種方式注重培養(yǎng)學生分析問題的能力,以及組織、協(xié)作的能力,是提升學生綜合素質(zhì)的重要手段,就這一方面而言,也適合在各個專業(yè)中進行運用。
1.2 各種教學方法的綜合運用
上述教學方法,分別適用于教學的不同階段。在綜合運用時,針對不同專業(yè)的培養(yǎng)目標,其課時分配的比例也有所不同。如圖1所示,是結(jié)合教學實踐所總結(jié)的參考指標。
2 實驗教學的內(nèi)容設置
2.1 實驗內(nèi)容的分類
一般地,實驗分為驗證性,設計性和綜合性實驗三類。根據(jù)各專業(yè)的特點,實踐中采用的參考比例如圖2所示。值得注意的是,非計算機類本科的驗證性實驗比例非常高,一個很重要的原因是這類學生面臨著計算機等級考試。由于等級考試側(cè)重于考查應試人員計算機應用知識與技能[2],因此,在教學中,既要考慮等級考試對學生的重要性,又要兼顧發(fā)展學生應用能力、培養(yǎng)思維能力。為了促進兩方面的整合,實踐中為這類學生安排了大量的設計性實驗,而綜合性實驗的比例則較低,因此其程序設計的綜合能力很難有質(zhì)的提升。這也是程序設計基礎課程建設中所面臨的一項重要課題。
2.2 實驗內(nèi)容設置的原則
在實驗內(nèi)容的設置上,根據(jù)各專業(yè)的教學目標不同,一般有如下兩類指導原則。
2.2.1 原則一:實驗與理論并行
實驗與理論并行,互為補充,兩者并重。這種方式最明顯的特征是:實驗課不是理論課堂的延伸,而是另一種形式的課堂,其比重非常大,其作用舉足輕重。實驗內(nèi)容的設置有如下特點:
1) 以引導的方式切題,學生獨立編程的方式進行。
2) 實驗內(nèi)容側(cè)重從宏觀的角度分析和解讀程序,進行計算思維能力的培養(yǎng)。
3) 實驗的量非常大。
顯然,這種原則注重發(fā)展編程技能,培養(yǎng)學生的計算思維能力,因此適用于計算機本科各專業(yè),也適用于實驗課時比較多的高職高專計算機應用專業(yè)。
2.2.2 原則二:實驗是理論的延伸
將實驗課看成是理論課堂的延伸,通過實驗輔助學生理解所學的知識點并加以鞏固。實驗內(nèi)容的設置有如下特點:
1) 以“跟我學”的方式切題,通過教師引導,“邊講邊練”的方式逐步進行,為多數(shù)問題指定解決方案。
2) 以熟練掌握基礎語法為目標,側(cè)重于從微觀的角度分析和解讀程序,注重對語法細節(jié)的學習。
3) 實驗課時的比重較小。
顯然,這一原則將關注點較多地放在了語法基礎、基本編程技能上,更適用于需要參加計算機等級考試的非計算機類專業(yè)。
2.3 實驗內(nèi)容設置舉例
上述兩類原則在具體實施時,其形式有明顯的不同。下面以兩個示例來說明。
1) C語言的格式符。
對計算機專業(yè),一般習題涉及%d、%f、%c、%s這幾類格式符就可以了,以此為基礎的