肖瀟
DOI:10.16644/j.cnki.cn33-1094/tp.2016.07.030
摘 要: C程序設(shè)計是很多高校計算機(jī)專業(yè)的一門專業(yè)基礎(chǔ)課,針對該課程教師難教、學(xué)生難學(xué)的情況,本文結(jié)合實際教學(xué),闡述了教學(xué)原則,以算法為中心,并時刻注意激發(fā)學(xué)生的興趣。提出根據(jù)教學(xué)內(nèi)容采用多種教學(xué)方法,加強(qiáng)課堂師生間互動,嘗試MOOC、SPOC、微課等線上與線下相結(jié)合的混合式教學(xué),將實驗課與理論課緊密結(jié)合,以全面提高課堂教學(xué)的質(zhì)量。
關(guān)鍵詞: C程序設(shè)計; 計算機(jī); 教學(xué)方法; 混合式教學(xué); 教學(xué)質(zhì)量
中圖分類號:TP311.1 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2016)07-102-03
Research on the classroom teaching quality improvement for C programming course
Xiao Xiao
(Information Science and Technology College of Hunan Agricultural University, Changsha, Hunan 410128, China)
Abstract: C programming is a professional foundation course of computer specialty in many universities, in view of the fact that it's difficult for teaching and learning, this paper expounds the teaching principle, i.e. take algorithm as the centre, and always pay attention to stimulate students' interest. And puts forward that according to the teaching content use a variety of teaching methods, strengthen the interaction between teachers and students in classroom, and try the blended learning which combines the online and offline teaching such as MOOC, SPOC and micro courses etc., combine the experimental classes with the theoretical classes closely, so as to comprehensively improve the classroom teaching quality.
Key words: C programming; computer; teaching method; blended learning; teaching quality
0 引言
程序設(shè)計是信息類專業(yè)必修的專業(yè)課,許多學(xué)校計算機(jī)及相關(guān)專業(yè)都將“C語言程序設(shè)計”作為程序設(shè)計課程的“開門課”。C語言程序設(shè)計具有較強(qiáng)的理論性和實踐性,要求學(xué)生掌握程序設(shè)計的基本思想和方法,建立良好的編程習(xí)慣,練好程序設(shè)計的基本功,為后續(xù)專業(yè)課程打基礎(chǔ)。該課程影響面大,教改項目也層出不窮,但很多應(yīng)用型本科院校的學(xué)生對于該課程“聽懂不容易,動手更不容易”,久而久之,他們就會喪失學(xué)習(xí)興趣和動力。如何提高C程序設(shè)計課堂理論教學(xué)質(zhì)量,使學(xué)生保持旺盛的學(xué)習(xí)熱情和興趣,從而產(chǎn)生探索和鉆研的動力,進(jìn)而順利地踏入計算機(jī)科學(xué)的大門,是教改努力的目標(biāo)。
1 理論教學(xué)應(yīng)遵循的原則
1.1 以“算法為中心”的問題求解
算法是程序設(shè)計的靈魂,是解決問題的方法和步驟。因此,C程序設(shè)計的教學(xué)要摒棄以語言語法規(guī)則為主的講解,代之以“算法為中心”實現(xiàn)問題求解,注重算法分析,突出算法設(shè)計,建立計算思維,圍繞算法展開程序設(shè)計,培養(yǎng)學(xué)生分析問題、解決問題的能力。從簡單到復(fù)雜,從一般到特殊,循序漸進(jìn),讓思維螺旋上升。
把常見的通用算法逐步介紹給學(xué)生,讓學(xué)生從理解到簡單的模仿,最后能融會貫通自主創(chuàng)新。C程序設(shè)計課程畢竟不是算法課,在算法的選擇上需要斟酌,難度要適當(dāng),貼近生活易于理解,最好能提高學(xué)生鉆研的興趣,不僅能夠在本門課程中起到作用,還能為后續(xù)的課程做好鋪墊,有意識的引導(dǎo)學(xué)生自主地學(xué)習(xí)后續(xù)的算法類課程。
1.2 教學(xué)過程要時刻激發(fā)學(xué)生學(xué)習(xí)興趣
學(xué)習(xí)C程序設(shè)計課程的學(xué)生基本上處于零起點(diǎn),無程序設(shè)計基礎(chǔ),如果教師只是一廂情愿的照本宣科,會讓學(xué)生丟失學(xué)習(xí)興趣,不僅這一門課學(xué)不好,更會讓學(xué)生無法熱愛編程,甚至無法勝任本專業(yè)的工作。相反,興趣是最好的老師,大學(xué)課堂傳授的知識原本就是有限的,唯有依靠濃厚的學(xué)習(xí)興趣和較強(qiáng)的自學(xué)能力才能讓學(xué)生踏入計算機(jī)科學(xué)的殿堂,在知識的海洋遨游,不間斷地終身學(xué)習(xí)。
教師在教學(xué)活動中,要善于啟發(fā)學(xué)生的思維,要讓學(xué)生感受編程之美。要講究設(shè)置懸念,而不是平鋪直敘。通過大量的例題,讓學(xué)生先理解再模仿。精選的例題務(wù)必引人入勝,讓人饒有興致。面對學(xué)生的疑惑,教師一定要積極并及時地處理,不留死角。有統(tǒng)計表明,學(xué)生的學(xué)習(xí)興趣不能持續(xù)的重要原因,不是簡單的惰性,而是遇到困難[1]。如果教師解惑做得好,學(xué)生一定能學(xué)得更好。實驗教學(xué)和課后作業(yè)可以使用在線測評系統(tǒng)平臺,學(xué)生提交代碼系統(tǒng)就能判斷正誤從而提升學(xué)生的編程興趣。
2 提高教學(xué)質(zhì)量的途徑
2.1 采用多種教學(xué)方法替代單一講述
教學(xué)方法在教學(xué)活動中的設(shè)計是必不可少的。傳統(tǒng)的理論課堂主要靠教師單純講解,再加上大屏幕上多媒體幻燈片輔助。久而久之,學(xué)生難免因為教學(xué)方式單一而產(chǎn)生疲憊,可能開小差錯過知識點(diǎn),連鎖效應(yīng)又會惡性循環(huán)。在教學(xué)過程中,運(yùn)用多種教學(xué)方法,有利于激發(fā)學(xué)生的學(xué)習(xí)興趣,在輕松的環(huán)境下更加主動積極地學(xué)習(xí)。
⑴ 案例驅(qū)動教學(xué)法。根據(jù)教學(xué)內(nèi)容,把知識點(diǎn)隱含在案例里,設(shè)計趣味性和具有代表性的案例,通過案例的引入、分析、講解,明確該案例涉及哪些知識點(diǎn),以及如何求解該問題。引導(dǎo)學(xué)生認(rèn)識和模仿,從而改進(jìn)和創(chuàng)新。案例的選擇可以源于生活,難度要適中,同時簡化背景[2]。將教學(xué)內(nèi)容和案例內(nèi)容有機(jī)結(jié)合,激發(fā)學(xué)生的學(xué)習(xí)興趣。
⑵ 任務(wù)驅(qū)動教學(xué)法。編程累計行數(shù)和單個程序行數(shù)是衡量編程的兩個重要指標(biāo)。以解題為主的編程訓(xùn)練能提高編程累計行數(shù),但卻會止步于單個程序行數(shù)。小規(guī)模、數(shù)學(xué)型問題成百上千行代碼,卻很難讓人體會到“開發(fā)的感覺”。針對學(xué)生動手能力弱,缺乏實踐經(jīng)驗的問題,在學(xué)期中或期末引入任務(wù)驅(qū)動教學(xué)法,把重要的知識點(diǎn)融入到相關(guān)項目的模塊中,讓學(xué)生帶著需求學(xué)習(xí)。
⑶ 啟發(fā)式教學(xué)法。在教學(xué)過程中,教師可以針對教學(xué)內(nèi)容的難點(diǎn)設(shè)置相關(guān)懸念,提出恰當(dāng)?shù)膯栴}[3],引導(dǎo)學(xué)生運(yùn)用已有的知識。這些知識包括之前學(xué)習(xí)的程序設(shè)計、數(shù)學(xué)、英語等,也包括生活經(jīng)驗和常識。通過啟發(fā)和拓展,注重知識之間的聯(lián)系,強(qiáng)調(diào)學(xué)生的主動性,從而培養(yǎng)學(xué)生發(fā)現(xiàn)問題和解決問題的能力。
2.2 采用互動討論作為理論教學(xué)的補(bǔ)充
從軟件工程人才職業(yè)素質(zhì)[4]的要求中,我們可以看出,交流與溝通能力、團(tuán)隊協(xié)作精神和演講與表達(dá)能力是軟件工程人才必備的非技術(shù)性素質(zhì),這也成為企業(yè)單位招聘時決定是否聘用的要素之一。然而,這些能力不是一蹴而就的,需要在教學(xué)過程中慢慢培養(yǎng),在四年大學(xué)生涯潛移默化的滲透。
比如在C程序設(shè)計的理論課堂上,把學(xué)生分成若干小組,適時安排一些案例,讓小組成員各抒己見討論問題,鼓勵學(xué)生尋求解決問題的不同辦法,然后按小組發(fā)言,教師對不同方案的優(yōu)點(diǎn)和缺陷進(jìn)行歸納。對于較大的任務(wù),每一組的學(xué)生既有分工又有合作。引導(dǎo)學(xué)生勇于質(zhì)疑,大膽提問,讓學(xué)生不僅掌握書本上的理論知識,同時也鍛煉了交流溝通能力和團(tuán)隊協(xié)作能力。
在互聯(lián)網(wǎng)+教育的風(fēng)潮下,互動討論又多了一種新模式,就是“翻轉(zhuǎn)課堂”。在上課之前讓學(xué)生看新課的視頻,然后在課堂上師生進(jìn)行面對面的交流討論,完成作業(yè)。這是對傳統(tǒng)課堂的一種逆序創(chuàng)新,把知識傳授和知識內(nèi)化兩個階段顛倒[5]。翻轉(zhuǎn)課給學(xué)生更多學(xué)習(xí)自由,便于師生溝通,其一時風(fēng)靡全球,受到很多老師的推崇,但因為種種原因,很多學(xué)校的課堂最后無法繼續(xù)翻轉(zhuǎn),讓我們看到,“一刀切”地實施顯然是不合適的,需要在傳統(tǒng)課堂和“翻轉(zhuǎn)課堂”中找到符合各個學(xué)校情況的最佳結(jié)合方法。
2.3 線上線下多元教學(xué)模式的嘗試和探索
在新時期的網(wǎng)絡(luò)背景下,各種網(wǎng)絡(luò)信息平臺涌入,MOOC、SPOC、微課幾個概念接踵而來。MOOC即大規(guī)模開放性在線課程,課程資源和資料都是免費(fèi)公開,面向公眾,沒有準(zhǔn)入條件。微課以精彩簡短的視頻呈現(xiàn)一個知識點(diǎn)或教學(xué)環(huán)節(jié)。SPOC是小規(guī)模限制性在線課程,有一定的人數(shù)和條件限制。這些新的教學(xué)資源無一不是強(qiáng)調(diào)學(xué)生的自助學(xué)習(xí),拓寬了學(xué)生的自學(xué)空間,增強(qiáng)了學(xué)生主動解決問題的成就感。實踐證明,沒有任何資源能取代師生面對面的授課,因而隨之的線上線下混合教學(xué)模式的改革層出不窮。
國內(nèi)MOOC平臺上推出了名校的C語言程序設(shè)計MOOC課程,在中國大學(xué)MOOC平臺上就有7個[6],基于MOOC的課程教學(xué)要求學(xué)生在課前觀看基礎(chǔ)視頻,完成部分知識測試,帶著疑問和思考來到課堂。課堂教學(xué)活動的基本模式是:先鞏固知識點(diǎn),即強(qiáng)化重點(diǎn)難點(diǎn)和易錯點(diǎn),再進(jìn)入程序訓(xùn)練部分,即案例分析,案例改寫等。SPOC面向某校某班的學(xué)生,分為同步和異步兩種[1]。對于學(xué)生而言,課堂上沒有聽懂的問題課后可以反復(fù)觀看,網(wǎng)上的作業(yè)可以鞏固剛學(xué)的知識,遇到問題可以求助于論壇和名師。對于教師而言,不需要花費(fèi)精力錄制視頻、設(shè)計作業(yè),從原來的面面俱到地講解過渡到對重點(diǎn)難點(diǎn)有的放矢。微課可以將知識顆粒化,教師根據(jù)學(xué)生情況自行錄制,手機(jī)終端把課堂搬到任意地方。無論哪一種線上線下混合式教學(xué),在開展的時候都是根據(jù)實際情況進(jìn)行不斷的調(diào)整和完善。新型混合式教學(xué)增強(qiáng)了面對面課堂互動,提升了教學(xué)效果。
2.4 以實踐教學(xué)效果的反作用促進(jìn)理論教學(xué)
有人說,編程不是教會的,而是練會的。示范、指導(dǎo)、糾錯固然重要,但過眼千行不如手敲一行。理論教學(xué)中,受教師講述、學(xué)生認(rèn)知等因素的影響,大部分學(xué)生不可能把所有知識點(diǎn)接受到,只有將這些知識點(diǎn)放入具體的題目中,讓學(xué)生在實踐中探索和鞏固。用程序解決一個實際問題,最終落實到語言實現(xiàn),其中要經(jīng)歷編輯、運(yùn)行、鏈接、執(zhí)行一系列的過程,當(dāng)結(jié)果出錯時再重新編輯調(diào)試等。通過這個過程,學(xué)生能對知識進(jìn)行消化和吸收,遇到?jīng)]有掌握的知識,再尋求解答,在后續(xù)的教學(xué)活動中,同樣的問題會再次出現(xiàn)時更能引起學(xué)生的重視從而加深印象。
3 結(jié)束語
C語言是一門相當(dāng)重要的專業(yè)基礎(chǔ)課,概念多,邏輯強(qiáng),語法繁多,規(guī)范極嚴(yán)。在教學(xué)過程中,需要運(yùn)用多元化的教學(xué)方法,充分調(diào)用學(xué)習(xí)者的學(xué)習(xí)主動性、積極性,務(wù)必做到因材施教。網(wǎng)絡(luò)和信息技術(shù)的發(fā)展,為教師充分利用、整合各類教學(xué)資源,擴(kuò)展教學(xué)的時間和空間提供了可能。本文針對當(dāng)前應(yīng)用型本科院校的教學(xué)特點(diǎn),從教學(xué)實踐出發(fā),提出了一些方法,旨在提高課堂教學(xué)質(zhì)量,改進(jìn)教學(xué)效果,從而為學(xué)生走向工作崗位奠定良好的基礎(chǔ)。
參考文獻(xiàn)(References):
[1] 蘇小紅,趙玲玲,葉麟,張彥航.基于MOOC+SPOC的混合式
教學(xué)的探索與實踐[J].中國大學(xué)教育,2015.7:60-65
[2] 常梅,李迎秋.“案例驅(qū)動”在“C語言程序設(shè)計”教學(xué)中的探索
實踐[J].計算機(jī)教育,2009.22:82-84
[3] 蘇暢.提高程序設(shè)計語言類課程教學(xué)質(zhì)量方法的研究[J].吉
林化工學(xué)院學(xué)報,2012.29(4):90-92
[4] 安俊秀,李超等.軟件人才職業(yè)素質(zhì)教育模式的探索與實踐[J].
計算機(jī)教育,2009.8:17-19
[5] 陳維維.MOOC、SPOC、微課、翻轉(zhuǎn)課堂:概念辨析與應(yīng)用反
思[J].南京曉莊學(xué)院學(xué)報,2015.11(6):117-121
[6] 楊穎,曹紅兵,王詩兵等.基于MOOC的C語言程序設(shè)計課程
混合式教學(xué)探究[J].阜陽師范學(xué)院學(xué)報(自然科學(xué)版),2015.32(4):116-121