陳劍敏 南昌航空大學信息工程學院
在現(xiàn)今的學習和工作中,計算機是必不可少的工具。程序設計是普通高等學校理工科必須開設的計算機技術(shù)基礎課程。在非計算機相關(guān)專業(yè)開設的程序設計課程一般是C語言、C++或java等高級語言程序設計課程,學好程序設計對學生通過全國計算機等級考試會起到關(guān)鍵的作用,更重要的是在讓他們在以后學習和工作中使用計算機工具會有事半功倍的效果。程序設計課程具有較強的實踐性,既要求學生掌握理論基礎知識,也要求學生會實際編寫程序與上機調(diào)試,執(zhí)行程序。由于專業(yè)的不同,非計算機專業(yè)和計算機專業(yè)的學生存在較大的差異,而承擔程序設計課程教學工作的大多數(shù)是計算機相關(guān)專業(yè)的教師。因此,開展程序設計課程教學方法的改進工作時,注意專業(yè)和受教學生之間的差異,在教學工作中對計算機專業(yè)和非計算機專業(yè)學生進行區(qū)別對待,對提高教學質(zhì)量、訓練學生編程思路和培養(yǎng)學生解決問題的能力有著重要的意義。
對非計算機專業(yè)而言,程序設計的目標是教會學生掌握高級程序的基本語法,在此基礎上能結(jié)合算法解決簡單的實際問題,為以后在學習或工作中使用計算機工具解決問題打下堅固的基礎。因此程序設計的教學一般從兩個角度來進行:程序語言本身的語法、結(jié)構(gòu)和規(guī)范;常見問題的算法設計思路。從這兩個角度入手來培養(yǎng)學生利用計算機分析和解決問題的能力。相比計算機專業(yè)而言,非計算機專業(yè)的程序設計課程存在以下主要的問題:
(1)程序設計課程的課時較少,而教學大綱上的課程內(nèi)容又必須完成,因此課程安排相對較緊湊,很多教師為了追求教學進度,對學生的學習狀態(tài)關(guān)注較少,對學生學習情況的了解僅限于有限的一對一上機指導和考試,形成了教和學分離的局面,大量的學生跟不上教學進度,周而復始,形成悲觀厭學的學習態(tài)度。而程序語言設計課程的教師一般都是計算機相關(guān)專業(yè)的教師,和學生不屬于同一專業(yè),除了上課的時間之外,教師對學生時間資源的支配基本上沒有話語權(quán),寄望學生在課余時間進行補充的學習也相對比較困難。
(2)專業(yè)之間的隔閡和學生普遍具有功利性的學習心態(tài),使得大部分非計算機專業(yè)的學生都對程序設計課程缺乏興趣。目前,學生學習具有相當?shù)墓孕膽B(tài)。對于他們感興趣或者認為對今后的學習或工作有用的課程,會投入更多的時間和精力去學習。否則抱著應付老師和考試的心理去學習,這樣一來學習的效果可想而知。對大多數(shù)非計算機專業(yè)的學生而言,他們可能不完全了解計算機程序編程,也不能真正理解學習程序設計的益處,因此學習缺乏主動性,學習的效果也事倍功半。因此,非計算機專業(yè)的程序設計課程的建設和教學改革,在教學活動中激發(fā)學生的主觀能動性是很有必要的。
如上節(jié)所述,非計算機專業(yè)程序編程課程教學改革的關(guān)鍵在于激發(fā)學生的學習興趣和主觀能動性。 教師在教學活動中消除專業(yè)之間的隔閡,使學生真正了解計算機程序設計,理解學習好程序設計可帶來的好處,激發(fā)學生的學習興趣。學生有了學習的興趣,在學習上積極主動,學習效果會事半功倍,也會積極和教師溝通探討,這樣教師在掌握學生學習情況上能得心應手,可以隨時根據(jù)學生的學習情況調(diào)整教學進度和教學內(nèi)容,甚至可以和學生進行教學方式的討論。學生的學習主觀能動性得到大大提高,教師可以鼓勵學生在課余時間積極學習,在一定程度上解決課時不足的問題。
對于非計算機專業(yè)的學生而言,對程序設計課程缺乏興趣的根本原因在于專業(yè)之間的隔閡,學習的功利性使得如果不能讓他們理解學好程序設計的作用則會導致學習動力的缺乏,而課堂的內(nèi)容一般都是模式化,除了基礎的語法結(jié)構(gòu)和規(guī)范之外,用的例子都是解決一些簡單的數(shù)學問題,他們不能體會程序設計解決實際問題的作用,也不能理解程序設計和他們專業(yè)之間的聯(lián)系,也就導致了學習興趣匱乏引發(fā)的一系列后果。因此,在課程上引導學生的學習興趣,有以下幾點措施:
(1)教師盡可能了解所教學生的專業(yè),在教學活動中結(jié)合他們的專業(yè),設計一些專業(yè)學習中的計算問題作為編程實例,通過解決這些問題在講解課程相關(guān)知識的同時來提高學生的學習興趣,使得他們明白計算機工具和程序設計帶來的便利,這要求教師要花費一定的時間和精力去找程序設計和他們專業(yè)之間的契合點,對于開設了程序設計課程的理工科非計算機專業(yè)而言,尋找一些基礎的專業(yè)簡單計算問題并不是一件困難的事情。另一方面,教師也可以通過加強對學生所學專業(yè)的了解,達到對癥下藥,因材施教的效果。
(2)尋求同所教學生所在專業(yè)的教師合作,讓他們選擇所授專業(yè)課程的計算問題或者課外作業(yè)中適合編寫程序的,要求學生以計算機程序的方式完成,相比較單純地計算解答這些問題,采用這種方式能讓學生覺得更有意思,解決問題的成就感更大,對專業(yè)課程的學習也有好處。學生在學習專業(yè)課程和程序設計知識的同時也更能理解計算機和程序設計是切實可以為專業(yè)服務的工具,對計算機程序設計課程會投入更大的學習熱情,也有更多的動力去進行長期的自我學習。
(3)上機實踐讓學生結(jié)合自己的專業(yè)設計計算機程序,把學生分組,讓學習情況較好的學生引領其他學生把自己感興趣的問題(盡可能是其專業(yè)的計算問題)設計成計算機問題,自己編寫算法和程序并實現(xiàn)。在這個過程中,從問題的發(fā)現(xiàn)、學習問題的解決方案到上機實踐都由學生自己完成,解決問題的成就感將極大地增強學生學習興趣。在此過程中,教師在編程知識上指導并引導學生思考,形成良好的教學互動,教師也可以加深對學生所學專業(yè)的了解,對以后的教學工作大有裨益 。
從目前非計算機專業(yè)程序設計課程教學的實際情況來看,教改工作還將持續(xù)進行下去,教師必須改變傳統(tǒng)老套的教學觀念,形成更加先進的、完善的、符合當前需求的教學模式。教師需要隨時關(guān)注學生的學習狀態(tài),通過教學方法、思路的持續(xù)改進,使程序設計課程教學工作能夠始終能夠吸引學生的學習興趣,促進他們的學習主動性,滿足社會對他們對計算機工具掌握的要求。在非計算機專業(yè)程序設計課程的教學活動中,只有不斷地改進加強專業(yè)之間的聯(lián)系,消除學生對程序設計的認知陷阱,讓他們認識到計算機語言程序設計的巨大好處,從而激發(fā)他們的學習主觀能動性,同時不斷的進行教學方法改革,強化教學活動中教與學的相互交流,穩(wěn)步提高學生的程序編寫能力,為他們今后在學習和工作中使用計算機工具打下牢固的基礎。