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