李冬梅
摘 要 程序設計基礎I即C語言是一種介于高級語言和低級語言之間的中間語言,它具有兩者的特點。C語言的用途非常廣泛,即可用于底層系統開發,也可用于軟件開發。所以在國內的各個高校,基本都把C語言作為學生必學的課程之一。本文針對在大一新生中開展C語言教學提出了幾點改進建議,也可作為其它程序設計類課程教學的參考。
關鍵詞 程序設計基礎I 高級語言 C語言
中圖分類號:G642 文獻標識碼:A
0引言
隨機計算機技術的發展,計算機編程語言也發生了翻天覆地的變化。從最初的機器語言,到后來的匯編語言,再到現在的高級語言,如C語言,C++語言,C#語言,JAVA語言等。機器語言由于可讀性差,對編程人員要求過高,可移植差等缺陷,已基本被人們忽略。而C語言作為一種中間語言,可以作為人們學習其他編程類語言的入門語言。它通俗易懂的語法很容易讓學習者接受,深受大家的喜歡。當然要求學習者必須具備一定的計算機硬件知識,如內存,二進制等。所以在很多高校中,安排學生在大一接受大學計算機基礎知識的學習,大二開設C語言程序設計這門課程。但從2016年起我校計算機專業的學生在大一第一學期開設程序設計基礎I這門課程。教材選用劉克成教授主編的《C語言程序設計》,同時根據這門課程實踐性要求很強的特點,還選用了配套的實驗教材。近年來,該門課程學生的學習人數保持在200人/年。作者講授《程序設計基礎I》過程中,不斷總結經驗教訓,針對這門課程的難點和重點,提出了幾點的解決方法。
1在大一新生中普及計算機基礎知識
計算機課程的學習雖然在初高中階段就有接觸,但最初依然是停留在簡單了解階段,并不深入。所以,大一新生對計算機硬件的結構和工作原理并不清楚。由于該原因,在講授C語言程序設計之前,首先要向學生講授計算機的一些基礎知識。如硬件的構成:運算器,控制器,存儲器,輸入設備和輸出設備。讓學生清楚計算機內部的存儲格式是二進制,需要清楚各種數制之間的轉換方法及內存的特點和存儲空間大小的度量單位等。這些預備知識的學習,可以幫助學生很好理解一個程序的運行過程和原理,并為后續指針這一章節的學習奠定基礎。
2生動有趣的案例教學引入課堂
C語言這門課程實踐性很強,所以教材中會給出大量的與相關知識點對應的程序代碼。但這些例子僅僅是為了講清楚所學的命令或函數,比較單調,趣味性也不強,很難調動學生的積極性。大一新生往往會對計算機游戲,趣味項目很感興趣。所以,教師可以針對學生的心理特點,在講授完某一知識點后,引出利用所學知識可以實現一些游戲的開發環節。給出游戲規則,讓同學們分組討論,如何利用所學內容完成對應程序的編寫。通過這種方式極大地激發了學生學習的熱情。
另外,在舉例的時候,很多老師喜歡給出一些邏輯復雜的程序讓學習分析,力爭包含更多的知識點。但實際上這種方法對于剛接觸編程的大一新生并不可取。程序中包含的代碼再復雜也都是由簡單的語句構成,所以學生只要理解了每一個語句的運行過程和原理,就能夠分析出正確的運行結果。所以,在課程講授的過程中,仍然以基礎知識的講授為主。
3教學工作的改革方法
(1)理論教學的改進。C語言程序設計雖然屬于軟件課程的范疇,但具有底層的匯編語言的一些特點。所以計算機硬件知識學習是必須的。不應脫離硬件知識而直接講授這門課程。否則學生會對程序的運行過程一知半解,并不深入。在以后編寫程序的過程中,對遇到的錯誤問題不能透徹的進行分析。
(2)講授過程引導學生思考。在教學中,采用提出問題-分析問題-解決問題的思路講授知識點。讓學生變被動為主動,自覺融入課堂學習,以學生為主體展開教學,而不再是灌輸式的教學。例如,在講解排序算法之前,給出5個卡通人物,讓學生思考如何才能按照個子高低進行排序,學生參與討論,給出結果。這樣學生的積極性被調動起來,就樂意對接下來介紹的排序算法認真聆聽。
(3)考試形式的改革。程序設計類課程的考試可以使用上級考試也可以使用筆試。考慮到這門課程的特點,我校對C語言程序設計這門課程統一采用上機閉卷考試的形式。這種形式,不用讓學生死記一些語法格式,通過上機考試靈活對程序進行編寫及調試。考題可以是選擇題,填空題,改錯題和編程題等。在實踐中加強對理論知識的學習,可以取得事半功倍的效果。
4結束語
C語言屬于高級的程序設計語言,應用很廣。所以除了計算機專業,其他很多專業都會開設這門課程。針對在大一新生中開設這門課程而存在的一些問題,作者根據近兩年的工作經驗,提出了一些改進建議,并取得了較好的教學效果。這種改進方法,同樣適用于其他的程序設計語言類的教學改革。
參考文獻
[1] 盧穎,劉白林,羅鴻雁.“三本”學生C語言課教學質量提高之我見[J].計算機教育,2010(21):84-87.
[2] 段云娜.“C語言程序設計”教學方法探究[J].吉林教育,2013(10):6-7.
[3] 張艷格,越琳.電子商務專業C語言教學改革探索[J].教育改革,2011(10):17.
[4] 薛小鋒,薛向紅.案例教學在非計算機專業“C語言程序設計”教學中的應用[J].江蘇技術師范學院學報,2010(04):85-87+93.