朱曉燕
(江漢大學 數(shù)學與計算機學院,湖北 武漢 430056)
非計算機專業(yè)C語言課程機房教學模式探討
朱曉燕
(江漢大學 數(shù)學與計算機學院,湖北 武漢 430056)
介紹了高校非計算機專業(yè)C語言課程的現(xiàn)狀,闡述了機房教學模式的特點。在機房教學過程中采用任務驅動教學法,在保證教學秩序穩(wěn)定性的前提下,極大提高了機房教學的效率和教學效果。
非計算機專業(yè);C語言;機房教學;任務驅動
《C語言程序設計》課程是高校理工類專業(yè)的必修課。近幾年,計算機類課程的教學正逐步走進機房,在筆者所在高校,非計算機專業(yè)C語言課程的機房教學也全面展開。機房教學是一種模式上的創(chuàng)新,這種教學方式大大不同于在教室進行的多媒體課堂教學,也有別于在機房的實驗課。針對非計算機專業(yè),如何提高C語言課程機房教學的效率和效果,對教師的組織教學能力提出了更高的要求,成為教師必須面對的一個全新課題。
目前,絕大部分高校在低年級就安排理工類專業(yè)學習C語言課程。學生數(shù)學基礎和計算機背景知識缺乏,對C語言概念難以理解,在學習過程中容易產生惰性心理,自信心和學習積極性就會相對減弱。計算機專業(yè)學生有較充足的學時學習C語言,同時還有專門的課程設計學時;而非計算機專業(yè)的學生面臨著學時數(shù)少、教學內容又很廣的尷尬。
采用機房教學模式,具有以下特點:
(一)講練結合、反饋便捷
傳統(tǒng)的C語言課程教學是“多媒體教室+上機輔導”模式;而機房教學模式突出則是教與學過程的一體化,形成了以教師——學生雙主體交互模式。在機房教學過程中,教師利用多媒體教學控制平臺和網(wǎng)絡教學軟件,邊講解邊演示,效果好;并采用講練結合的方式,讓學生學一段做一段,有助于所學內容的及時消化。這種模式極大地促進了師生情感和問題解惑,學生學習主動性大大提高;同時學生反饋方式便捷,學生可以通過多種渠道向教師反饋自己遇到的問題和學習成果,便于教師及時了解學生的學習情況,并有針對性地進行講解或指導,有利于提高學生的學習積極性和主動性。
(二)課時分配靈活
傳統(tǒng)C語言課堂教學與上機學時比例通常為5:3,上機學時受教學計劃限制,缺乏靈活性。采用機房教學模式,課時分配可靈活掌握,重點章節(jié)可適時增加學生上機學時比例。
(三)存在的問題
按照正常的教學秩序,機房教學可以得到很好的效果,但實際上由于人為的因素卻不盡人意。在機房里,學生操作計算機時具有很強的隱蔽性,比如利用自帶移動存儲設備,將各種游戲拷入計算機,學生“開小差”的現(xiàn)象時有發(fā)生;對于必須當場提交的作業(yè)通過網(wǎng)絡和移動設備復制一下,時間久了,學生學習成績下降,沒有真正學到東西。
非計算機專業(yè)的學生學習C語言課程存在較大的困難,因此教學方法要有適應性和變化性,在不同的教學環(huán)境和教學要求下應使用不同的教學方法。任務驅動法是機房教學模式中最常用和最有效的方法之一,它以任務作為知識的載體,能激發(fā)學生的學習興趣。例如,在C語言教學過程中加入一個典型的總任務來展開教學活動,引導學生由簡到繁、由易到難、循序漸進地完成一系列“任務”,從而得到清晰的思路、方法和知識的脈絡,在完成“任務”的過程中,訓練學生的編程思維、培養(yǎng)學生構造算法的能力。
(一)任務驅動
以一個大題目作為長期任務,再按不同功能模塊分解開來,形成一個個短期任務。每一章學過之后要求完成一項或幾項編程作業(yè),而各章的編程作業(yè)不是孤立的,而是相互聯(lián)系的,實際上它們都是一個較大型較復雜程序的組成部分。這樣就可以使學生的任務形成一種連貫性,在整個課程的學習過程中始終都有一個總任務的驅動,而學生又在一個又一個短期任務的驅動下,體驗著一次又一次邁向成功的喜悅。
針對非計算機專業(yè),可選取難度適中的任務來貫穿整個教學和實踐環(huán)節(jié)。例如,以建立一個迷你的學生成績管理系統(tǒng)為總任務,這個總任務要求如下:建立一個文本菜單,要求能夠實現(xiàn)成績的錄入、插入、刪除、查詢、排序、退出等功能。在學習了scanf和printf之后,要求并引導學生利用main函數(shù)實現(xiàn)輸出文本菜單的功能;學習了選擇結構之后,要求學生利用if或switch實現(xiàn)菜單項的選擇;學習了循環(huán)結構,則要求學生實現(xiàn)菜單項的可重復選擇,直到選擇“退出”菜單項;學習了數(shù)組,要求學生實現(xiàn)成績的批量輸入;學習了相關算法之后,要求學生實現(xiàn)成績的插入、刪除、查詢和排序功能;學習了函數(shù),就要求學生將以上的算法功能用函數(shù)給模塊化;學到結構體,則利用結構體數(shù)組去實現(xiàn)不同學生的幾門功課成績的處理;學習了文件之后,可引導學生實現(xiàn)從文件中讀取數(shù)據(jù)和將各種處理結果寫入文件中的功能。當學生學完整個課程,并完成了平時要求的各項短期任務之后,他們會非常有成就感——原來通過簡單的程序拼裝,就可以構成一個比較復雜的程序。這也在潛移默化中培養(yǎng)了學生采用各個擊破的方法解決實際問題的意識。最后,讓學生從整體的角度來審視整個程序的設計,并通過上機進行綜合調試,從而達到提高編程能力的目的。
因為非計算機專業(yè)的理、工科學生也有不同層次,總任務的選取還應結合實際情況有針對性的提出案例,避免出現(xiàn)“吃不了”和“吃不飽”的現(xiàn)象。
(二)任務與機房教學的融合
在總任務選取之后,應結合機房教學的特點,把握課堂節(jié)奏,在每次教學過程中通過任務驅動,適時地穿插講解知識點,并引導學生完成相應的短期任務。
在教學活動中,還應結合教學內容和教學對象的不同,而采用不同的教學方法,如案例講解、錯例分析、討論教學、小組教學等方式。
(一)保證教學秩序的穩(wěn)定性
為解決機房教學過程中可能存在的問題,保證教學秩序的穩(wěn)定性,提高機房教學的效率和效果,教師應合理利用多媒體教學控制平臺,利用屏幕廣播、屏幕監(jiān)視和遠程控制等網(wǎng)絡管理功能有效進行課程教學和課堂管理。同時實驗管理方面也應從技術上給予有利的支撐。
(二)課堂信息量適中,建立并完善實驗訓練體系
“百講不如一練”,在每次的機房教學活動中,課堂講解的信息量不宜過多。C語言教學的重點應該是“如何解決問題”,而不應把大部分的時間放在講解語法規(guī)則和語句格式上,避免學生一拿到任務后就首先琢磨怎么定義變量,用哪條語句,這樣當然設計不出好的程序。而應該先把問題進行合理的解析,考慮最佳算法。在實驗環(huán)節(jié),還應有一套完整的實驗訓練體系,遵循“閱讀——模仿——改寫——編寫程序”的上機實踐訓練思路,來引導學生學習C語言。
(三)提高學生自主學習能力
“授之以魚,不如授之以漁”,提高學生的學習能力,讓學生學會學習,教師起到非常關鍵的作用。學生如何學習,每個學生各有方法,有的主動接受知識,更多的是被動接受知識。在機房教學過程中,教師應該更多地設計自主型學習的課堂,讓學生真正成為學習的主人,激發(fā)學生的學習C語言的興趣,發(fā)揮學生的創(chuàng)造性和學習自主性。
本文闡述了高校非計算機專業(yè)C語言課程現(xiàn)狀,結合機房教學模式下的特點,采用任務驅動的教學方法,增強了學生在教學過程中的參與意識,提高了學習興趣,調動了學習的積極性和主動性。教師通過在多媒體機房中的教學和管理,充分提高了教學效率和教學質量。
[1]陳剛.C語言程序設計[M].北京:清華大學出版社,2010.
[2]孫華峰,曹躍球.計算機課程機房教學規(guī)律探究[J].高等教育研究學報,2007.
[3]馬星光,宋亦旭,張文苑.運用技術手段消除機房教學的干擾因素[J].計算機教育,2008.