牛寧寧 曹亮 卓瑪吉
摘 要:針對民族高校C語言程序設計課程在教學中所面臨的問題,介紹了培養學生計算思維能力的手段,并根據學生層次的不同提出了民族高校C語言程序設計課程教學發展改革方法,即層次化及項目案例教學模式,并通過案例的方式來引導教學,以提高教學效果。
關鍵詞:民族高校;計算思維;教學改革;C語言程序設計課程
中圖分類號:TP312 文獻標識碼:A
Abstract:For the problems in teaching C language program design in universities for nationalities,the paper introduces the method to cultivate students computational thinking ability.According to different levels of students,the paper proposes the reform methods of teaching C language program design in universities for nationalities,the hierarchical teaching model and the case teaching model.The teaching effect can be improved via applying cases to guide teaching.
Keywords:universitiesfornationalities;computational thinking;teaching reform;C language program design
1 引言(Introduction)
民族高等院校的特點之一就是面向民族地區和少數民族學生的招生,生源個體差異較大。以青海民族大學為例:生源來自全國各地,入學分數從260分到600分不等,西部地區及少數民族的學生占將近一半,這些學生與河南、山東等地的生源相比理論基礎及實踐動手能力都較差。這種生源的不平衡性和文化的差異性,使我們所肩負的為少數民族地區培養具有創新性應用型人才的任務更為艱巨,教學任務及教學大綱的制定也需要根據生源的特點來進行調整。
2 C語言教學存在的問題(The problems in C
language teaching)
“C語言程序設計”是計算機類各專業入門必修的一門專業基礎核心課程,是其他高級語言學習的基礎,也是數據結構等專業課程的一個入門,但目前流行的C語言教程及教學方式方法在我校并不太實用。另外,凡是講授該課程的教師都知道,這門課程難于教授,尤其在民族高校中由于學生能力的參差不齊,再加上學生認知方式的差異,使得該課程的講授更加困難。在教學中其難于教授的主要原因還有以下幾方面[1]:
(1)教學中理論課時偏重,實踐課時則安排的較少,這對該課程在程序設計實踐能力的培養上遠遠不夠。
(2)程序設計語言知識點多而廣,其語法結構比較零散,對應的例題也多而散、關聯性不大,再加上學生的總結能力有限,故難于對所學知識進行相互關聯、總結,得到一個比較綜合的訓練。
(3)學生的水平參差不齊,思維方式不同,教學中很難面面俱到對每個學生的個性化學習給予足夠的需求關注。
(4)學生精力投入不足或學習方法不當,大部分學生認為進人大學就自由了,沒有必要投入更多的精力放在學習上,應該多鍛煉自己的社會適應能力和交際能力,抱著及格萬歲、考前抱佛腳的心態面對大學課程的學習。
針對這一系列問題,為了改變理論教學與實踐教學脫節的現狀,結合該課程操作性強的特點,教師在知識講解過程中主要采用任務驅動的教學模式[2],即項目案例教學法,該方式能很好地解決傳統教學方法的缺陷,充分調動學生的積極性,發揮教學互動、教學相長的優點,使學生能夠直觀地看到理論知識的具體化,促進知識的融會貫通,潛移默化地推進新型思維的形成,提升學生的問題求解能力、學習興趣和協同創新能力。
3 計算思維教學模式能力培養(Training computational
thinking teaching model ability)
心理學家認為,模仿是孩子學習的第一步。通過模仿,孩子不僅能夠復制行為,而且也能對模仿的行為進行加工,有所創新。在程序設計課程的學習過程中同樣如此,在教學過程中,要改變偏重理論和課堂教學的傳統模式,嘗試以上機實驗為重點的計算思維教學模式,讓學生通過模仿現有示例,逐步掌握C語言中的各種語法要求、控制結構,不斷加強學生對于課程的學習興趣,使學生能夠“在編程過程中學習知識、在學習過程中拓展思維”[3]。具體要從提高上機地位、培養學生的創新思維和學習興趣、增強實驗內容的趣味性和綜合性三個方面著手。
(1)提高上機地位。程序設計語言是一門實踐性較強的課程,多上機編程,能夠提高學生對該課程的認識,同時通過上機獨自完成一些功能模塊,能夠增加學生的成就感和興趣,另外上機實驗也是培養學生計算思維能力的重要手段[4],是程序設計課程教學的核心。
(2)培養學生的創新思維和學習興趣。傳統方式上我們會對知識先講解,然后列舉相應的程序進行說明應用,最后才進行上機操作,這種教學方式學生只是照本宣科的按照別人的方式去執行相應的結果,并不能提高學生的創新思維和計算思維能力,這不是上機實驗的真正目的。上機要能夠開發學生的思維,所以實驗內容的設置尤為重要,要通過對內容的分析激發學生的興趣,在講解的過程中讓學生以自身為主導,學會分析問題、解決問題的能力,同時根據大家的不同的思維模式和認知方式要倡導算法的多樣性,培養、激勵學生的創新意識和學習興趣。
(3)增強實驗內容的趣味性和綜合性。人都是比較好奇的,而常規的、枯燥的問題很難激發學生的探索求知欲,所以我們應該設置一些有趣的跟他們生活息息相關的案例來激發學生的學習興趣,而這些案例還應該具有一定的綜合性,能夠把我們所學的知識進行融會貫通。例如學生成績管理系統的分支程序結構中,安排學生信息查詢進行計算思維訓練。
4 教學方法改革(Teaching method reformation)
4.1 采用層次化及案例引導教學模式
民族高校在計算機課程的培養目標上,應注重不同學生在生源與文化基礎上的差異,教學過程中既要體現整體性,也要考慮差異性,特別是民族學生,他們的計算思維、語言交際、計算機基礎理論能力較差,我們要對這些學生進行一定的照顧。
在實踐環節的安排和組織形式上突出層次化,根據學生特點,設置不同難度的目標,讓學生運用所學知識,逐步去解決問題。在過程當中教師還要注重通過案例引導教學,讓學生自己開動思維、動手操作,通過這種方式來提到學生的興趣及自信度。
4.2 教學項目案例的設置
根據學生的能力,我校計算機專業C語言課程的教授分兩學期展開,其中上學期教授的主要是C語言的基本特點、程序編譯環境、數據類型及運算方法、算法的設計過程、三種基本結構等,下學期教授的主要是數組、函數、指針、構造數據類型和文件的輸入輸出這些剩余內容。
我們采用一個項目貫穿始終,然后根據每學期的教學內容,在該項目下采用模塊化的思想根據知識點設置了相應的程序案例,每個案例都隨教學進度分階段完成,從而貫穿整個理論課程教學[5]。我們以“學生成績管理系統”為例,其中各模塊輔進行各個章節的講授。具體做法如表 1 所示。
4.3 教學過程的實施
為了更好地使項目貫穿教學過程,根據教學經驗制定了項目實施步驟,即明確分工、制訂計劃、教師指導、項目答辯與考核[6]。
(1)明確分工,以點帶面。為了更好的完成教學任務,達到理想的教學效果,根據學生的特長、興趣、愛好、性別對學生進行分組,并盡量做到一個能力強的帶動一個能力弱的進行輔導學習,主要傾向于外省高分生源帶動民族生和本地學生,在小組中每個人還要明確分工以便考核,并以小組為單位進行協作學習。
(2)制訂計劃。為了更好的使教學案例融會到教學過程中,
我們應根據教學進度安排好案例的推進,制定好項目開發計劃,也使學生根據計劃明確開發進度,以便按時完成項目。
(3)經驗交流與教師指導。項目實施的好壞離不開大家的交流討論和教師的精心指導及督促,所以在項目案例實施的工程中,教師要不斷的組織大家進行課題討論,以便開拓思維,擴展思路。教師還要時常對小組進度進行檢查指導,并對檢查結果進行記錄,以便在考核的時候把小組成員的平時表現融入到期末成績當中。
(4)項目答辯與考核。最后教師還要根據要求對項目進行驗收,并根據最初小組成員的分工和答辯考核標準(民族生考核標準相對較低)讓其進行答辯,結合代碼編寫是否規范、文檔是否健全等進行加分。考核評分方式如下:平時考勤占10%,平時作業10%,平時上機操作占30%,答辯50%。
5 結論(Conclusion)
教學改革一直是大家不斷研究探討的問題,而根據民族高校所存在的問題,這就要求我們特別注意教學模式的變化,在教學過程中兼顧不同生源之間的差異性,也要注意培養大家的創新思維和計算思維,通過項目案例來不斷提高大家的學習興趣,只有這樣才能提高教學效果,同時也為后續其他計算機專業課程的學習打下一個良好的基礎。
參考文獻(References)
[1] Ruilian Hou,Aizhang Guo.Research of the Teaching Model Reform of C Language Program[C].Proceedings of 2012 2nd International Conference on Future Computers in Education(ICFCE 2012),2012:5.
[2] LIU Shukun,CHEN Zhen,TANG Jinpeng.The Improved Methods of Teaching Practice Based on C Language Programming[C].2013年教育技術與管理科學國際會議論文集,2013:4.
[3] Ying Li,Shimin Zhang,Meihua Wang.Teaching Study on C Language Program Design Course Based on Computational Thinking[C].Proceedings of 2nd International Conference on Simulation and Modeling Methodologies,Technologiesand Applications(SMTA 2015),2015:4.
[4] 董榮勝.計算機科學導論——思想與方法[M].北京:高等教育出版社,2007.
[5] 王卓.一種基于階段式的數據結構課程教學探索與實踐[J].計算機教育,2016,5:48-51.
[6] 蔣紹林.Android手機開發課程的案例教學法[J].教育與教學研究,2014,14:37-40.
作者簡介:
牛寧寧(1988-),女,碩士,助教.研究領域:人工智能,自然
語言處理.
曹 亮(1986-),男,碩士,上尉.研究領域:人工智能,模式
識別.
卓瑪吉(1988-),女,碩士,助教.研究領域:藏文信息處理.