大連海洋大學信息工程學院 張 鑫 劉 威 王 穎 周 磊
高校非計算機專業(yè)《C語言程序設計》課程建設的創(chuàng)新研究
大連海洋大學信息工程學院 張 鑫 劉 威 王 穎 周 磊
目前國內(nèi)各個高校大多在非計算機專業(yè)開設了計算機語言課程,C語言作為一種廣泛流行的結構化程序設計語言,成為了大多數(shù)高校非計算機專業(yè)計算機語言課程的教學語言。《C語言程序設計》作為一門公共基礎課,要與時俱進,適時創(chuàng)新教學模式和方法。
C語言;能力培養(yǎng)
程序設計是高等院校非計算機專業(yè)計算機基礎教學課程體系中的重要課程。對于非計算機專業(yè)而言,程序設計的學習有助于理解計算機的能力所在,理解哪些是計算機擅長解決的問題,怎樣的方式方法是計算機擅長的手段,從而能更好地利用計算機來解決本專業(yè)領域內(nèi)的問題。根據(jù)我校的各個專業(yè)的不同特點,農(nóng)林、文科類專業(yè)開設了VF或VB程序設計,而理工科相關專業(yè)則開設了C語言程序設計。本文以《C語言程序設計》課程為例,從課程定位、目標、主要特色、教學現(xiàn)狀等方面出發(fā),對課程對教學內(nèi)容、教學方法、教學過程實驗教學等方面做了改進和創(chuàng)新,讓非計算機專業(yè)學生也能從學習程序設計類課程的過程當中獲益匪淺,提升自身的職業(yè)技能。
(1)課程定位
C語言是古老而長青的編程語言,它具備了現(xiàn)代程序設計的基礎要求,它的語法是很多其他編程語言的基礎,在系統(tǒng)程序、嵌入式系統(tǒng)等領域依然是無可替代的編程語言,在各類編程語言排行榜上常年占據(jù)前兩名的位置,對理工科專業(yè)學生而言,《C語言程序設計》是一門首選的必修的計算機編程語言課程。
(2)課程目標
對于非計算機專業(yè)的學生,學習本課程的最主要目的是培養(yǎng)學生的“計算思維”?!坝嬎闼季S”(Computational Thinking)的概念首先是由美國卡內(nèi)基·梅隆大學計算機科學系主任周以真(Jeannette M.Wing)教授于2006年首次在美國計算機權威期刊Communications of the ACM 上提出的。計算思維是運用計算機科學的基礎概念進行問題求解、系統(tǒng)設計以及人類行為理解的思維活動[1]。高校非計算機專業(yè)的計算機基礎類課程,重點加強程序設計類課程的建設,除了教會學生如何使用一門語言,更重要的是提高學生利用計算機思維來解決問題的能力,在程序設計教學中,融入計算思維能力的培養(yǎng),實現(xiàn)單純程序語言的學習到利用計算機科學的概念和方法對問題進行求解的能力培養(yǎng)。通過學習程序設計的基本方法逐步提高邏輯思維能力,為非計算機專業(yè)的學生能熟練使用計算機解決本專業(yè)的實際問題打下堅實基礎。
(1)《C語言程序設計》是一門注重實踐的課程,要想真正掌握編程,必須進行大量的上機訓練。
(2)《C語言程序設計》課程內(nèi)容詮釋了結構化程序設計思想的精髓,有助于學生理解計算機解決問題和方式,培養(yǎng)邏輯思維能力。
(3)《C語言程序設計》是一門教師難講、學生難學的課程,需要教師精心設計教學方法和教學思路,幫助學生逐步培養(yǎng)學習編程的興趣,掌握正確的學習方法,最終真正具備編寫程序的能力。
(4)《C語言程序設計》課程是國家計算機二級考試的重點科目,非計算機專業(yè)的學生可以通過該考試獲得計算機二級證書,對就業(yè)具有一定的幫助。
(1)學時不足?,F(xiàn)有學時無法滿足講授全部知識點的需求,因此只能將結構體、共用體和文件等內(nèi)容列為自學內(nèi)容,而這些內(nèi)容恰恰是二級考試的重點內(nèi)容,因此對學生通過二級考試有一定的影響。
(2)學生的學習熱情不足。首先是學生對課程認識不夠深入,無法將其與高數(shù)、英語等科目同等重視,因此存在不重視、不感興趣等問題;其次C語言是一門難學的課程,需要投入一定的時間和精力,而一部分學生知難而退,不肯付出,也就無法學好[2]。
(3)學生的實際動手編程能力不足。由于實驗課時間有限,無法進行更為系統(tǒng)的編程訓練,因此很多學生都是停留在能進行簡單的程序調(diào)試,完成老師規(guī)定的習題,而對于解決一些實際問題則顯得力不從心。
(4)教師的授課方式和教學方法存在不足。對于編程課程而言,最理想的教學方式就是在課堂上教會學生如何編寫程序,這是采用幻燈片和板書很難做到的,因此建議教師改進教學方式,多演示編程的過程,描述清楚程序的執(zhí)行過程, 進而提高學生的學習興趣和學習效果[3]。
(1)組織C語言授課教師進行討論,針對教學內(nèi)容、教學方法和手段、考核方式等方面集思廣益。適當調(diào)整現(xiàn)有的教學內(nèi)容,如突出函數(shù)、指針等內(nèi)容的講解,幫助學生掌握C語言的精髓,提高學生的編程水平。
(2)改進了教學方法,在教學手段上精心設計,變枯燥為趣味,激發(fā)學生的學習興趣。在教學方法上深入研究,化繁為簡,提高課堂教學的質(zhì)量和效果。加強課堂教學過程中對編寫程序過程的演示,教會學生編程;加強對內(nèi)存的分析講解,幫助學生理解程序的執(zhí)行過程,提高學生的動手實踐能力和邏輯思維能力[4]。為學生設計一套自學程序設計的方法,幫助學生在自學過程中體驗到編程的樂趣,使他們能增強自信心,提高自身的學習能力。
(3)強化實驗教學環(huán)節(jié),在實驗課環(huán)節(jié)精心設計案例和作業(yè),布置趣味作業(yè),提升學生的學習主動性,使學生能有效的將理論和實踐相結合,提高學生對所學知識的整合和綜合運用能力。提高學生動手編程的能力,進一步加強學生利用C語言解決實際問題的能力。
(4)將考試系統(tǒng)引入實驗教學過程中,教會學生熟練使用考試系統(tǒng)軟件進行考試,提高學生熟練使用信息化工具的能力。同時,考試系統(tǒng)也為課程進行過程性考核提供了很好的依據(jù)和手段,自動評分功能也節(jié)省了大量人力和時間。
(5) 將微信、QQ等信息化工具引入到輔助教學環(huán)節(jié),鼓勵教師和學生使用通訊工具進行在線答疑輔導,實現(xiàn)隨時提問,隨時解答,也可以進行資料的上傳共享,可以將課程中一些常用的教學資源上傳到群文件中,如課件、Flash動畫、多媒體視頻、國家計算機級考試復習資料等相關資源,方便學生下載使用。信息化軟件的應用,可以拉近師生的距離,使得學習可以無處不在。
(1)興趣為先。讓學生真正認識到學習C語言對自身能力培養(yǎng)的益處,實現(xiàn)從“厭學”到“愿學”的轉變。
(2)方法至上。設計出符合程序設計教學規(guī)律的教學方法,讓授課教師實現(xiàn)從“難教”到“易教”的轉變。
(3)手段為輔。將信息化教學手段引入到教學過程中,讓教師和學生都能體會到“編程”的樂趣。
通過研究和實踐,改進了目前課程教學中存在的不足,不斷完善教學手段和教學方法,使《C語言程序設計》成為一門教師好教、學生愛學的課程,通過課程的學習和鍛煉,能培養(yǎng)學生的計算思維和邏輯思維能力,吃苦耐勞的品質(zhì),團隊協(xié)作的精神以及“學以致用”的意識,強化學習能力,不“死讀書”和“讀死書”,能夠靈活用知識解決實際問題,全面提升信息素質(zhì)。
[1]何欽銘,陸漢權,馮博琴.計算機基礎教學的核心任務是計算思維能力的培養(yǎng)——《九校聯(lián)盟(C9)計算機基礎教學發(fā)展戰(zhàn)略聯(lián)合聲明》解讀[J].中國大學教學,201O(09).
[2]李坤.高校非計算機專業(yè)《C語言程序設計》課程現(xiàn)狀及研究[J].考試周刊,2010(40):161-162.
[3]常玉杰.非計算機專業(yè)的《C語言程序設計》教學探索[J]中國石油大學勝利學院學報,2010,24(1):66-68.
[4]吳亞峰,于復興.非計算機專業(yè)理工科C語言程序設計教學方法的探索[J].計算機教育,2009(12):46-47.
張鑫(1979—),男,研究生,副教授,主要從事計算機基礎教學和科研。