◆閆會娟
信息管理與信息系統專業(簡稱信管專業)是一個集管理學、經濟學和計算機技術于一體的多學科交叉專業。C語言是一種經典的程序設計語言,C語言程序設計課程是信管專業的基礎課程,作為程序設計的入門課程,為以后的程序設計系列課程打基礎。本課程的主要培養目標為學習C語言的基礎語法,理解并掌握計算機編程思想,能運用C語言解決一些實際問題,培養分析問題、解決問題的能力,為以后的程序設計做好鋪墊。因此,C語言課程的學習效果對學生以后的程序設計有非常重要的影響,而在C語言教學實踐中發現存在諸多問題。
1)課程本身的難度較大。在C語言學習中,有不少學生感覺學習難度較大。C語言涉及的概念、規則繁多,使用靈活,容易出錯,學生在學習時會感到比較困難,不同程度產生畏懼心理[1]。而且上課時,學生如果走神了就很難再跟上教師的思路,由此影響學習主動性和學習效果。
2)C語言基礎差距較大,在授課過程中表現明顯。文海英[2]同樣提到C語言基礎差距較大。基礎差的學生沒有接觸過電腦,甚至不知道上檔鍵是什么,很難理解C語言抽象的概念;基礎好的學生對程序設計已經了解,甚至編寫過程序。
3)學生學習的主動性較差。經了解,相當一部分學生缺乏學習興趣,而愛因斯坦說過:“興趣是最好的老師。”這就要求教師在教學過程中除了教授知識,還要培養和激發學生的學習動機,使學習成為學生的內在需要。
4)學生邏輯思維能力較差。C語言對邏輯思維能力和動手實踐能力的要求非常高。信管專業學生文理科背景都有,而文理科學生的思維差距較大。在教學過程中,教師要顧及所有學生的學習進度,做到因材施教,會給教學增加很大難度。
如何組織C語言課程教學,進一步增強教學效果,成為專業課程建設中的一項重要任務。文海英[2]針對所在學校,從教學內容、教學手段、上機實踐多方面進行探索和實踐。張素芹和吳連生[3]對獨立學院計算機專業C語言課程的教學內容、教學方法和教學手段進行了改革。結合信管專業學生的特點,從教學方式、教學內容、上機實踐三方面進行探索研究和實踐。
教學方法是指為達到預定的教學目標,完成預定的教學內容,在教學原則指導下所采用的師生互動方式和有關措施——既包括教師教的方法,也包括學生學的方法,是教法和學法的統一。C語言程序設計課程分為理論部分和上機實踐部分。C語言知識點繁多,按照目前的課時設置并不能詳細講解每個知識點。為了達到教學目標,教師在教學過程中采用多種教學方式,以激發學生的學習興趣,增強教學效果。
根據人的學習習慣,如果目標明確,會更有動力,更容易吸收新知識。理論授課中,教師采用并總結出基于案例教學的“問題(Question)—理論(Theory)—算法(Algorithm)—實踐(Practice)”(QTAP)的教學方法。
第一步,總是以一個具體問題開始,讓學生有明確目標,引導學生積極動腦思考,去尋找解決問題的方法;
第二步,導入理論知識點;
第三部,為了使邏輯更清晰,考慮的問題更全面,需要建立相應的算法,比如查找算法、排序算法;
第四部,完成程序,學生上機實踐,解決最初的問題。
程序運行帶來的成就感有助于提高學生的學習興趣。
程序設計需要很強的邏輯思維能力,在理論授課中,教師特別注意學生邏輯思維的培養和鍛煉。整個教學過程注重引導學生運用分析問題和解決問題的方法,設置眾多交互環節改善課堂氣氛,以有趣的案例提高學生的學習興趣[4]。
在教學過程中,根據人的認知過程和學生的學習習慣,曾做過多次內容的調整(見表1)。通過調查顯示,有相當一部分學生在初高中時并沒有學習過計算機文化基礎,在剛接觸C語言時有些困難。因此,在講授C語言語法之前,通過增加計算機基本結構、程序生命周期知識并和實際的案例相結合,增加知識的直觀性,提高學習興趣。

表1 C語言程序設計的教學內容探索
在授課過程運用精講多練原則,相應的教學內容要整合和緊湊。如去掉“副作用”的概念,指針部分對于文科學生的學習有較大難度,通過具體案例詳細講解重點內容,通過多次重復應用達到強化的目的。
隨著信息化的發展,微課在基礎教育領域炙手可熱,中國大學視頻公開課、中國大學資源共享課已經遍地開花[5]。C語言是一門經典課程,有必要建成為視頻課程,讓學生通過公開視頻在線學習任選部分的教學內容。
C語言程序設計特別注重培養學生的學習能力和動手實踐能力,上機課時從24學時調整為48學時,并配有一周的綜合實踐學時,與文獻[3]相比更加注重實踐。學生通過上機能夠逐漸學習C語言語法,領悟程序設計思想,感受程序運行結果的成就感。如何有效運用這48學時,教師在實踐中進行了多次嘗試。
第一個方案:上機為二學時一次。在實踐過程發現二學時內,多次不能完成預計的任務量,驗收任務基本只能通過提交程序的方式,在當堂課沒有足夠的時間與學生溝通,對提交的任務指出錯誤并給予修正意見。
第二個方案:上機學時為四學時一次。時間充裕,基本可以滿足在當堂課檢查學生的完成情況并進行溝通。然而對于一年級學生,有部分學生會不太適應連續四節課,可能會影響部分學生的學習情緒和學習效果。
第三個方案:前四次上機為兩學時一次,后10次為四學時一次。這種調整能讓學生在最初接觸C語言時就上機嘗試編寫程序,減少抽象概念帶來的學習困難,也能在學到一定知識點后完成較復雜的程序設計,教師還可以進行更加細致的指導和考核工作。
上機實踐是以任務驅動法組織教學的,每次上機都會有明確的題目,上機內容從基礎語法、輸入輸出的訓練到用循環數組解決一個完整的問題。教材案例為學生提供一個模板,在教材案例的基礎上進一步提出任務,誘發學生積極思考。如數組查找的程序,教材中是在一個數組中查找一個數字是否存在,返回的結果是存在或不存在。進一步要求學生查找某個數字是否存在,并且存在幾個,分別在什么位置,該如何編寫程序。為提升學生的程序設計能力,實踐中會加入一些C語言競賽的題目,進一步增強學生解決問題的能力。
除了與理論配合的上機實踐,還設置一周的C語言綜合實踐,讓學生綜合利用所學理論去解決一個實際問題。在綜合實踐中,采用分組(3~4人/組)的形式,有助于培養學生的團隊合作能力。實踐成果以小組匯報、教師提問的形式進行驗收。
針對信管專業的實際情況,采用基于案例的QTAP教學方法,精講重點內容,設置符合認知習慣的知識順序,加強上機實踐的管理,對C語言程序設計不斷地進行教學探索研究與實踐,有效提高了學生的學習興趣,增強了教學效果。
[1]譚浩強.C語言程序設計[M].3版.北京:清華大學出版社,2005:16.
[2]文海英,粱小芝.《C語言程序設計》課程教學改革探索與實踐[J].現代計算機:專業版,2012(4):50-52.
[3]張素芹,吳連生.獨立學院“C語言程序設計”教學改革實踐[J].計算機教育,2010(14):21-23.
[4]閆會娟,曲翠玉,王舉.程序設計類課程的教學方法探討[J].科技信息,2009(9):106.
[5]焦建利.細數教育信息化的10大關鍵詞[J].中國信息技術教育,2014(1):6-7.