熊中剛,羅素蓮
摘要:《C語言程序設計》課程是電子類專業(yè)的一門基礎必修課,也是電子和電氣類學生應該學習的第一門計算機語言。該課程的學習主要是為結合單片機的應用開發(fā)服務的。如何讓一名《C語言程序設計》的初學者能夠較好地理解并掌握設計中的基本思想和精髓,并且在掌握程序設計方法的同時結合單片機進行硬件和軟件設計的應用開發(fā)是講授這門課的重點所在,故本文結合單片機,以單片機系統(tǒng)為開發(fā)平臺,探討了《C語言程序設計》的教學方法,為學生以后能基于單片機進行硬件和軟件的學習開發(fā)打下堅實的基礎。
關鍵詞:C語言程序設計;教學方法;單片機
中圖分類號:G642.4 文獻標志碼:A 文章編號:1674-9324(2014)10-0066-02
一、引言
隨著微電子技術的不斷發(fā)展和廣泛應用,計算機編程語言也越來越豐富,因而學生也被要求具有應對各種語言的學習應用能力,在掌握好C語言后,對于其它語言的學習則游刃有余。基于單片機進行應用系統(tǒng)開發(fā),C語言作為一種高級的編程語言,無論是現(xiàn)在進行嵌入式系統(tǒng)開發(fā)的相關企業(yè),還是當前的全國電子設計大賽等學生競賽中,都越來越受到大家的關注,并將其作為一個主要語言開發(fā)工具。故本文提出的基于單片機的C語言教學方法,對結合單片機進行符合實際工程需求的硬件和軟件開發(fā)的愛好者或?qū)W習者有很重要的意義。
二、教學對象
本學期本人所教授的主要課程之一是《C語言程序設計》,所面向的教學對象是大一新生,大多數(shù)同學由于在高中階段很少接觸電腦,對于語言的學習更是陌生,而且數(shù)學功底比較薄弱,同時,加上學習過程中大多數(shù)學生往往缺乏積極性和主動性,遇到困難不能刻苦鉆研,往往選擇放棄。因此,針對學生的基礎情況,教學講授的進度不能太快,教學的內(nèi)容不能講的太過深奧,而且教學方法要靈活多變,結合實際事物進行簡單比喻來講解,只有這樣才能較為形象地教好C語言這門課。
三、C語言的應用地位
C語言是一門使用最廣泛的程序開發(fā)工具編程語言,是極具發(fā)展前景的計算機高級語言。其作為一種結構化的程序設計語言,具有相當強的結構性、可移植性和功能性。通過采用C語言進行編程開發(fā)可以使眾多開發(fā)者專心研究所設計程序要實現(xiàn)的功能及相關實現(xiàn)算法,從而有效減少開發(fā)和軟件調(diào)試的時間。C程序設計具有良好的程序結構,對于模塊化的程序設計非常適合,故通常會采用從上至下,追求逐步求精的結構化程序設計方法,來將所要實現(xiàn)的功能模塊化,不同的功能通過不同的模塊去完成。這樣易于進行調(diào)試工作和方便快捷地管理好大型項目,從而最大限度地減少重復勞動。
四、單片機的應用教學現(xiàn)狀
單片機的學習是我院電子類專業(yè)需要掌握的一門實踐性非常強的專業(yè)課程,我院學生通過對其的實踐性學習后,能夠獨立參加全國電子設計大賽,并能較好地完成比賽項目。為使我院的單片機教學效果更好,學生對該門課程掌握的更加牢靠,故需要對單片機的教學進行大膽改革,通過在C語言的課程教學上,結合單片機以及相關的硬件設計知識進行講解。從我院電子專業(yè)開設C程序設計課程以來,通過學生所反映的情況是該門課程比較難學習,而且不知道他們在學完C語言后到底有什么用,能夠應用到哪些地方,更不知道將自己的所學應用于單片機的開發(fā)中能不能實現(xiàn)目標。故根據(jù)以往教師的教學經(jīng)驗,并結合學生反映的情況考慮,本人覺得有必要作出這樣的改進,在C語言的課程上,通過結合單片機及相關硬件設計知識來講解C語言,并從以下幾方面引起重視。
五、《C語言程序設計》的課堂教學
1.教學設計前的思考。《C語言程序設計》不僅是電子類專業(yè)理工科學生的一門計算機公共必修課程,而且C語言也是作為計算機等級考試(二級)的考試內(nèi)容之一。C語言對于大部分剛進入大學的學生來說,也是一門比較難的計算機語言課程。要做好這門課程的教學設計,首先要對學生的具體情況有一定程度的了解。該課程通常的教學法是語法格式的講解、語法要點的逐步講解和通過例題對語法的應用講解。這種機械的教學灌輸思想枯燥無味,會使學生失去對該門課程的學習興趣,所以,本人認為應該先要求學生課前對本堂課所要講解的知識進行預習,并能識記有關知識點,將不理解之處畫上記號,待課堂老師講解時再認真聽并理解所教授內(nèi)容,這樣通過教師為主導、學生為主體的方式學習,教師通過精講相關的硬件設計實例,通過硬件設計所要實現(xiàn)的功能引出相關軟件設計,進而將軟件設計時所涉及到的相關C知識進行講解,然后通過另一簡單例子讓學生自己去通過分析來鞏固知識點。
2.結合多媒體的講解,強化實驗及實踐能力。因為教師授課的主要對象是大學一年級新生,所以需要教師采用通俗易懂,并結合簡單例子進行相關講解,這樣能夠使學生容易理解和消化。教學過程中,采用多媒體,通過編程演示加深學生對運用的語法理解和深刻記憶。并把理論知識和硬軟件的設計內(nèi)容進行整合講解,讓每個學生獨立完成實際應用實驗題。
3.減少和消除學生對程序設計語言的排斥和畏懼感。本人在教學中會引導學生多讀程序,在讀的過程中領悟和提高。對于軟件生存周期的設計、編碼、調(diào)試、運行這幾個階段,本人可以通過C語言設計實例來體現(xiàn),以培養(yǎng)學生編程中的工程思想。講授課程時以提出問題、解決問題、深入拓展問題、再解決問題,對問題進行評價和優(yōu)化設計的螺旋式滾動教學的方法,收到了不錯的教學效果。
教學過程中,對于數(shù)組、指針等重要的知識點,則需要制作更生動的課件,提高學生的學習興趣和主動性。例如,在講解數(shù)組的冒泡法排序時,本人讓7位同學分別拿著一個數(shù)據(jù)牌站到講臺,進行現(xiàn)場模擬氣泡排序過程,通過第一次排序找到了該組中的最大值,經(jīng)過第二次排序找到了次大值,通過現(xiàn)場的模擬以及班上同學的參與,使課堂更加豐富有趣,并且所有同學都能掌握氣泡排序的過程。由于在教學中引入的現(xiàn)場模擬,使同學們更容易理解這些抽象的內(nèi)容,更重要的是碰到類似的問題他們會觸類旁通,從而慢慢培養(yǎng)出編程的興趣。
六、實踐培訓操作
上機實驗是學習程序設計語言的重要環(huán)節(jié),自己編寫的程序上機調(diào)試運行中,可能有很多想不到的錯誤,通過改正這些錯誤,可逐步提高自己對C語言語法的理解力。在課程的教學中,會進行階段性的實訓項目,將每一階段的學習進行小結性的貫穿和提高。將相關的知識點融入到程序的編寫中,從而鞏固知識點并將瑣碎的知識點做一個整合。暑假期間,對于電子愛好的學生進行集中培訓,然后按照全國電子設計大賽的要求給大家?guī)讉€題目做,這幾個題目涵蓋非常廣的知識點,大家如果想編出程序就必須要找到課本的相應知識點進行復習,從而編出程序,學生普遍反映通過集中培訓課的鍛煉,他們的編程能力有了很大的提高,很多以前不懂的內(nèi)容通過自己鉆研也懂了,通過自己的努力以后也體會到了編出程序的喜悅感,可以說收到不錯的成效。
七、結束語
C語言的教學重點是培養(yǎng)學生分析與解決問題的能力,這種能力的培養(yǎng)與學生的刻苦學習分不開,因此,在本人的課堂中會一再強調(diào)C語言不是看會的,也不是聽會的,而是親自動手實踐練會的?;趩纹瑱C的C語言開發(fā)和設計,極大地促進了單片機在生產(chǎn)、生活各個領域的應用,提高了程序開發(fā)效率。因而,C語言學習效果的好壞,對今后單片機課程的學習具有深遠的影響。
參考文獻:
[1]向艷.C程序設計課程教學體系和模式探討[J].計算機教育,2010,(3):112-114.
[2]譚浩強.C語言程序設計教程(第三版)[M].北京:清華大學出版社,2013.
[3]馮運仿.《C語言程序設計》課程教學模式的研究與實踐.福建電腦,2012,(1).
[4]董蘊寶,潘旭軍.淺談C語言在單片機中的程序設計[10].科技信息,2009,(13):59-67.
[5]楊晶,李成楠.淺談高職院校C語言教學課程教學的探索和思考.中國科教創(chuàng)新導刊,2012.endprint