鄢莉 銀星
摘要:該文針對非計算機專業(yè)計算機基礎(C語言)教學現(xiàn)狀中存在的問題,比如學生認識課程重要性不足,學習方法不正確和教師教學方法單一等,我們采用試點班在我校(攀枝花學院)進行教學改革探索。試點班教學中,首先讓學生明確C語言和學生所修專業(yè)的聯(lián)系,在以后的后續(xù)課程學習中哪些方面還將用到C語言編程知識或通過C語言學習掌握的計算思維,然后傳授學生多思多看多練和“再學習”的學習方法,最后教師在教學中加入“3W+案例式”的教學方法,將零散的命令、語法和規(guī)則貫穿案例,通過編程解決現(xiàn)實生活中的實際案例。通過試點班和普通教學班學生參加國家級等級考試的一次性過級率來看,試點班過級率大大高于普通班,因此本文探索的教學改革方案是有效和值得推廣的。
關鍵詞:大學;非計算機專業(yè);C語言;試點班;教學效果
中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2015)14-0153-03
1 引言
針對高等院校非計算機專業(yè)學生的計算機教育,教育部提出了三層教學課程體系,即:“計算機文化基礎”、“計算機技術基礎”和“計算機應用基礎” [1]。當前,在“計算機技術基礎”這一層次教學中,我校(四川省攀枝花學院)理工類本科學生的計算機基礎課程開設為C語言,即大學計算機基礎II-C語言,(以下簡稱C語言)。根據(jù)我校規(guī)定,該課程的學分由學生參加四川省級或國家級計算機二級等級考試成績折算合格后獲得,目的在于督促學生學習并取得相關證書有利于今后工作就業(yè)。表1是我校近幾年學生一次性通過二級C語言考試成績統(tǒng)計表。
2 C語言教學中存在問題
客觀上,C語言程序設計課程針對非計算機專業(yè)學生的學習存在一定的難度,主要原因是:學生普遍第一次接觸編程語言,知識的專業(yè)性使學生入門困難,而且學生普遍不重視,不理解該課程的重要性,學習中缺乏主動性;另教師的教學方法僵化,方法單一,C語言教學課堂不能吸引學生。教學中還有很多次要原因比如C語言課程學時數(shù)偏少,理論實驗教師不統(tǒng)一,教學內容脫節(jié)等,現(xiàn)具體分析教學中存在的問題:
2.1學生認識不到學習C語言的重要意義
作為非計算機專業(yè)學生常這樣認為:我到大學是學習掌握某某專業(yè)技術而非計算機技術,畢業(yè)后我也不會從事計算機編程工作。因此,學習C語言“無用論”在學生中普遍存在。沒有學習的內在需求,學生很難主動積極學習,更不能克服學習中遇到的重重困難。所以,學生認識不到學習C語言的重要意義是C語言教學中存在的最大的問題。
2.2學生在學習C語言過程中存在重重困難
學生中大多數(shù)是初次接觸計算機編程語言,該課程較強的專業(yè)性使他們在入門時存在很大的困難。同時作為編程語言牽涉到的繁多的計算機和編程相關的概念、規(guī)則、術語,且使用靈活、容易出錯, 因此很多學生感到學習困難。
學生對計算機處理問題的思維和方法不理解,陌生的編程邏輯和數(shù)據(jù)處理過程讓他們在學習上感覺非常困難。雖然學生在之前學習了計算機文化基礎課程,其內容涉及了計算機的組成和信息編碼存儲等基礎的專業(yè)知識,但是由于學時數(shù)有限,且這部分知識不是計算機文化基礎課程的重點,學生對這部分知識掌握的不好。同時學生沒有做好轉變思維的準備,分析事物時還停留在以前一直采用的數(shù)學、物理思維的方式,因此在剛開始學習程序設計時就很難理解計算機的運行模式和處理數(shù)據(jù)方式,從而造成學習C語言的困難。
有限的授課時間讓學生不知所措。很多學生并沒有意識到大學里學習是自主學習為主,教師授課為輔,因此課后學生普遍存在看書思考時間不足,很快部分學生跟不上教學進度,學習中遇到的問題越來越多,出現(xiàn)上課聽不懂、看書看不懂的情況,從而喪失學習興趣。隨著課程進度的逐漸深入,逐漸造成惡性循環(huán),加上學生自主探究意識薄弱,又缺乏主動性,長此以往,喪失了學習下去的信心,產(chǎn)生學習厭倦心理。
2.3教師教學活動中存在問題
目前的現(xiàn)狀是我們所使用的教材(包括國內經(jīng)典教材)大都偏重于對知識的羅列,缺乏趣味性、實用性和引導性,教師在教學中也偏重對C語言各知識點,語法等的闡述,且方法單一死板,缺乏對C語言知識和結構的整體分析和講解,授課中的枯燥乏味致使學生進一步喪失學習的樂趣,增加學習C語言的困惑
2.4理論和實驗教學脫節(jié)嚴重
C語言是全校非計算機專業(yè)理工類專業(yè)學生的必修課程,學生人數(shù)眾多,教師相對缺乏。理論課堂都是大班教學,每班人數(shù)至少在80人以上,有的教學班多達110人,實驗課則是小班教學,每班不超過40人。理論教師平均要上3個理論班,對應的8個左右的實驗班則不可能再由同一個理論教師獨自授課。為了解決此問題,學校安排課程時理論和實驗是分開設置課程供學生選課,對每個學生來說理論和實驗幾乎是不同教師,這必然造成教學內容的脫節(jié)。
2.5課程要求高和課程學時數(shù)越來越少的矛盾
我校作為應用型本科院校,近年來,學校為了提高辦學效果,大力開展“教學質量工程”,各院系各專業(yè)加大專業(yè)課程教學力度,努力提高學生專業(yè)素質和技能,增強學生就業(yè)競爭力,并取得了較好的效果。但由此也帶來消極的一面,計算機基礎II作為公共基礎課,各院系忽略其重要性,對學時數(shù)一再進行壓縮。近幾年C語言公共基礎課開設學時數(shù)統(tǒng)計表見表2。
3 C語言教學改革方案
根據(jù)前面的分析,為達到培養(yǎng)非計算機專業(yè)學生學習C語言的學習興趣并提高教學效果,在試點班教學中我們采取了以下措施:
3.1使學生認識到學習C語言課程的意義和作用
學生認識不到學習C語言的重要意義是C語言教學中存在的最大的問題。人本主義心理學代表人物羅杰斯認為,人類具有天生的學習愿望和潛能,這是一種值得信賴的心理傾向,它們可以在合適的條件下釋放出來;當學生了解到學習內容與自身需要相關時,學習的積極性最容易激發(fā)[2]。因此在教學活動的開始,教師就應該明確地向學生指出C語言作為基礎編程語言對所有專業(yè)學生都有著重要意義和作用。而且將此意義和作用貫穿到課程教學的整個過程。
非計算機專業(yè)學生學習C語言的意義和作用在于以下兩點:
1)通過對C語言的學習,培養(yǎng)學生分析問題、解決問題的能力,并由此提升學生的邏輯思維能力和學習能力。邏輯思維能力是對事物進行觀察、比較、分析、綜合、抽象、概括、判斷、推理的能力,采用科學的邏輯方法,準確而有條理地表達自己思維過程的能力[3]。邏輯思維能力是學生在大學期間應當主要培養(yǎng)和提高的能力之一,也是現(xiàn)代社會中人才應當具備的主要能力之一。
學習C語言就是學習如何通過計算機解決各種實際問題。面對現(xiàn)實中各種問題,要很好地解決,首先就要完整正確地分析問題,并設計出運用計算機解決的方法和步驟,最后設計出相應的程序。此過程就是對學生邏輯思維能力和學習能力最好的訓練和提高。
2)通過對C語言的學習,使非計算機專業(yè)學生更深入了解計算機工作原理,并初步掌握程序設計技能,對各個專業(yè)學生今后的學習和工作更好地奠定良好的基礎。
當今社會,計算機作為重要且高效的工具,各行各業(yè)都無法離開。對學生而言,理工類學生更應當了解掌握編程技術,從而具有一定的計算機思維能力。例如,理工類學生在后續(xù)課程學習中會使用Matlab軟件、數(shù)據(jù)處理軟件、多媒體處理軟件(如Flash)等等,這些軟件都無一例外都需要加入一定的程序代碼。學會了C語言,再學其他語言就輕車熟路了。
3.2指導學生掌握正確的學習方法
非計算機學生學習C語言過程中存在很多困難,究其原因,是沒有掌握正確的學習方法。學生明白了學習C語言的重要意義和作業(yè),有了學習的內在需求,還需要掌握正確學習的方法,這樣才能事半功倍。因此,應當明確地告訴學生,學習C語言的方法應當是:多思、多看、多練。
學生除了在課堂上認真聽講外,課后必須花時間看書、思考。與其他課程學習不同,C語言學習中僅僅掌握好相關的語法并不表示學會了編程方法。編程能力是一個綜合能力的體現(xiàn),需要學生再學習的過程。所謂“再學習”就是對基本的編程規(guī)則和要求了解掌握后,再來學習如何利用所學知識進行編程,這個過程十分重要但是被許多教師和學生忽略了。
“再學習”的過程需要教師和學生共同的努力才能完成。首先,教師在講解例題時一定要把求解的問題分析清楚,找到解決的方法和步驟(即算法),用所學的知識對應地給出語句從而設計出程序。第二,學生在開始階段要學會讀程序。把教材中的每個例題認真閱讀多遍,學會分析其中出現(xiàn)的每條語句的功能和作用,逐步揣摩才能理解例題程序完整的內涵,從而明白編程的方法和思路。第三,學生必然要經(jīng)過一個編程練習的過程才能真正具有編程能力。通過教師的要求和學生的努力,讓學生在學習的不同階段完成一定難度的練習。
3.3教師在教學中應加入3W+案例式教學
針對C語言教學內容繁多,學生難以理解,學時數(shù)少的具體情況,教師教學無疑是極艱巨極富有挑戰(zhàn)性的任務。教師只能精心備課,沉著應戰(zhàn),可在教學中多使用3W+案例式教學方法。
“3W 教學法”即在教學中解決三個方面的問題:What、Why、How。What即明確授課要講解的內容;Why是要說明為什么要學習上述內容;How則是通過何種方法將這以上2W 講清楚[4]。案例式教學可以追溯到古希臘時代。古希臘哲學家和教育家蘇格拉底的“問答教學法”,被認為是現(xiàn)代案例教學法的樸素形式,這種“問答教學法”是教師圍繞教學內容向學生進行提問,由學生做出回答,啟發(fā)學生積極地思考問題,充分發(fā)揮學生學習的主動性,學生通過對所提問題的分析,做出正確的回答[5]。在C語言教學中,教師應始終貫穿對學生思維和方法的啟發(fā)和引導。在每個知識環(huán)節(jié)的教學中,應堅持發(fā)現(xiàn)問題、提出問題、分析問題并解決問題的過程,實時的加入能涵蓋本次課或本章節(jié)理論知識的經(jīng)典案例,啟發(fā)激勵學生自主學習,通過3W+案例式教學使一些零散的命令、語法和規(guī)則不經(jīng)意間被學生掌握理解并能運用。
3.4 C語言中幾個重要知識環(huán)節(jié)教學的把握
在C語言整個教學中有幾個重要的知識環(huán)節(jié)對學生十分關鍵,在這些環(huán)節(jié)上教師授課時應當注意。
1)數(shù)據(jù)類型、運算符和表達式
這部分內容在C語言中地位不言而喻,這個階段學生才開始接觸C語言,面對數(shù)據(jù)復雜的類型劃分、眾多的功能各異的運算符和復雜的C表達式會不知所措,這時教師必須耐心地向學生說明為什么數(shù)據(jù)要分類型;為什么要學會各種各樣的運算符。先讓學生明白其中的道理,再讓學生逐漸掌握相關的知識。否則,學生會因無法理解其中的原因而帶來學習的困難。
2)循環(huán)結構和數(shù)組
在這個階段之前學生已經(jīng)初步學習并掌握了最簡單程序的編寫方法,應當從中獲得了一定的成就感。此時教師應當告訴學生,循環(huán)結構和數(shù)組的引入尤其是使用循環(huán)嵌套、循環(huán)+數(shù)組的結構,使得運用C語言解決實際問題的能力大為提高,但是我們面對的例題和練習的復雜程度也將大為提高,學習的難度也相應地大幅增加。先使得學生明白將面對的困難,讓他們有充分的思想準備。教師在教學中重點應當是幫助學生分析例題中循環(huán)結構和數(shù)組的使用所帶來的便利,讓學生理解到循環(huán)結構和數(shù)組的在編程中的功能和作用。
3)指針
指針是C語言的精華,指針應用靈活、多樣,但難以被理解和掌握,學生常常望而生畏,遇到困難就放棄。這種情況教師可設計只有指針才能實現(xiàn)的一個案例,讓學生知曉指針的重要不可代替性和使用靈巧方便,讓學生有學習掌握指針的主觀愿望,同時又通過案例引申出指針的概念和使用方法和技巧,循序漸進的傳授C語言中的指針知識。
3.5盡量使理論教師和實驗教師一致
C語言教學分為理論和實驗教學,應盡量做到同一教師授課,統(tǒng)一理論實驗課對學生的要求,真正做到實驗課堂是理論課堂的延伸。要做到理論實驗課堂的統(tǒng)一,這需要學校領導層的重視,多派優(yōu)秀教師執(zhí)教,減少理論標準班學生人數(shù),最好不超過80人每班,每個理論教師不超過2個理論班的教學任務,這樣相應的實驗班級由同一個理論教師承擔。
4 教學效果
筆者從10級開始,每級在全校理工類本科學習《計算機基礎II-C語言》的班級中隨機抽2個班作為試點班,試點班基本情況如表3:
5 結束語
我們認為大學非計算機專業(yè)的C語言教學對培養(yǎng)學生邏輯思維能力、提高學生學習能力、奠定計算機思維有著極其重要的意義,對學生以后的學習和工作都有極大地幫助。學校應充分重視C語言教學,推行C語言教學改革,組織教師積極探索適合本校學生特點的行之有效的教學方法和措施。本文中教學試點班的教學探索值得推廣和借鑒。
參考文獻:
[1] 中國高等院校計算機基礎教育改革課題研究組.中國高等院校計算機基礎教育課程體系2008[M].北京:清華大學出版社,2008.
[2] 章建躍.教育心理學概覽.http://www.edu—first.corn/discourse/show.asp?id-426.2003—12—11
[3] 劉澤文.非計算機專業(yè)《C 語言程序設計》教學目標及方法的探究[J].福建電腦,2010(4).
[4] 鄧旭華.案例教學法+3W 教學法在計算機語言教學中的應用研究[J].科技廣場,2007(2).
[5] 沈丹.試論案例教學法在教學中的應用[J].云南財貿學院學報,2005(6).
[6] 劉玉萍.大學計算機基礎教程[M].中國鐵道出版社,2011.