前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的程序設計實踐主題范文,僅供參考,歡迎閱讀并收藏。
Visual Basic程序設計作為一門程序設計語言,在教學過程中,應用和研發(fā)的特征比較明顯,而初學者總是感覺程序設計比較枯燥無味、難于理解、入門困難,甚至對其產生畏難厭學情緒。教學中筆者利用現代教育技術手段,對傳統(tǒng)的教學方法進行改革,實踐探索出了一套行之有效的教學策略,取得了良好的教學效果。
一、著力培養(yǎng)學生學習興趣,上好VB入門課
1.課前強調程序設計的重要性,充分調動學生的求知欲
在講授該課程之前,結合學生實際所學專業(yè),事先準備幾個VB開發(fā)的應用程序或是信息管理系統(tǒng),第一節(jié)課上課時通過多媒體演示,讓學生明白程序設計的重要性和實用性,樹立明確的學習目標:學習VB不只是達到計算機應用能力的考核要求,更是今后工作、生活中不可或缺的一項基本技能。學生了解了學習目標之后,就會迫切地想自己去嘗試程序設計,這樣學生學習程序設計的積極性就被調動起來了。
2.揭開程序設計的神秘面紗,開始學習之旅
初學者在學完計算機應用基礎后,對計算機的運行原理還是似懂非懂,在這樣的前提下,開設VB程序設計課,學生想到要自己編寫程序代碼來控制計算機完成一項任務更是一頭霧水。通過長期的教學實踐筆者得出的結論是,要解決這一問題,主要是要在學習者腦海中樹立“萬丈高樓平地起”的思想:即無論多復雜的程序都是由基本語句積累起來的,而基本語句是很容易掌握的。例如,借助Windows畫圖程序講解一個簡易調色板程序,改變文本框背景顏色只需要一行語句:Text1.backcolor=VBred即可實現。教師在給出VB顏色描述的關鍵字后,進一步要求學生實現其他顏色的編程。同時,在教學之初,教師還可以通過一些簡單有趣的實例講解來幫助學生正確認識VB程序設計的基本步驟和方法。
3.鼓勵學生克服程序設計的畏難情緒,激發(fā)其學習興趣
學生通過兩周的學習,對VB程序設計會有初步的了解,如VB基礎開發(fā)環(huán)境、對象、方法、事件等概念,但教學之初所形成的學習欲望會逐漸冷卻,再加之VB的每一個對象都有許多個屬性,而且全是英文,晦澀而抽象的概念和英文描述很容易使學生產生畏難情緒,甚至厭學。此時特別需要教師對學生進行鼓勵、指導,引導學生明白雖然每個對象具有自己的屬性,但各對象之間有大部分屬性是相同的,并且這些屬性中常用的只有一小部分,很容易就能掌握;另外程序代碼的書寫雖然看似神秘,但掌握了語法格式后很容易編寫。
二、改革教學方法和教學手段,提高教學質量
1.從生活實際入手,將抽象的理論形象化
人類社會的理論知識都是日常生活中發(fā)現總結出來的,而VB程序設計作為一門課程也是前人在不斷的實踐中完善和發(fā)展起來的,必然和日常生活有著密切的聯系。如果能將VB程序設計的教學過程同生活實際聯系起來,原本枯燥抽象的理論就會變得形象生動、通俗易懂,易于學生接受。例如在講解VB變量的命名時可以聯系實際生活中起名的習慣來類比展開,“變量命名必須以字母打頭”這一原則如同我們的名字必須以姓氏打頭;變量起名時不能用關鍵字如if,for等,如同我們起名時不會用燈管、茶幾等名詞;變量在其有效范圍內必須唯一,如同我們一個家庭的弟兄倆不應重名。只要將理論與生活有機地結合,找出理論在生活中的原型,教師講課也感到輕松,學生聽起來也容易理解,實踐證明這可以取得事半功倍的效果。
2.利用現代教育手段,提高課堂教學質量
VB程序設計學習的特點是實踐性強,所有的理論最終都要以寫好的程序為結果。而傳統(tǒng)的黑板+粉筆的教學手段使教師將程序代碼寫在黑板上講解無異于畫餅充饑,無法向學生展示程序運行的結果,特別是容易出錯的地方不能驗證,因此充分利用多媒體投影等現代教育技術手段是非常實用且必要的。一是利用多媒體授課,恰當的課件不僅可以提高學生的學習興趣,還能把程序結果實時地展示給學生,增大了課堂教學的信息量,使講授內容形象、直觀,這樣的教學過程學生聽得清、看得切、記得牢、印象深,原本在課堂上聽起來非??菰锓ξ兜膬热菥蜁兊贸錆M樂趣。二是采用實踐型授課,在計算機實驗室利用電子教室進行教學,即采用邊講邊練的授課形式,學生對學習的程序進行現場操作,將理論講授和上機實踐融為一體,使講解更直觀、更清晰、更具吸引力,同時教師還可以隨時發(fā)現學生實際操作中的問題,給予及時的指導,從而有效提高教學質量。
三、創(chuàng)新評價方式,鞏固教學成果
課程的教學質量是平時教與學質量的總體體現,課程考核是對學習者知識、技能和能力的綜合評價。VB程序設計由于其特有的實踐性強而有別于其他課程,采用單純筆試的評價方法不能全面、準確地衡量教學質量。通過實踐發(fā)現,VB課程考核方法的改革思路是在現有的考核基礎上,注重對學生過程性評價和實踐操作能力的評價,即采用“理論(40%)+上機(40%)+過程性考核(20%)”的綜合性考核模式。
四、結束語
總之,教學工作是一項艱巨的任務,還需要在長期的教學實踐中不斷改革舊的教學模式,并結合學生實際情況,去探索研究,尋找新的、行之有效的教學方法和手段,綜合評價學生,努力培養(yǎng)學生自主學習的興趣,只有這樣才能提高學生實際應用的能力,VB課程的教學質量才能得到不斷的提高。
參考文獻:
關鍵詞:VFP程序設計;數據庫;教學實踐
1《VFP程序設計》課程特點
VisualFoxPor(簡稱VFP)是一種關系數據庫管理系統(tǒng),具有強大的數據庫管理功能,也是中、小規(guī)模管理信息系統(tǒng)的常用開發(fā)工具;VFP結構簡單、使用方便,對于學生來說,比較容易接受和理解,所以《VFP程序設計》是很多高校非計算機專業(yè)的計算機基礎課程。在高等院校加強文史類、經濟管理類專業(yè)學生的計算機教育是培養(yǎng)能夠滿足信息化社會要求人才的重要舉措。從教學目標以及《VFP程序設計》課程本身的特點可以看出,VFP是一門實踐性很強的課程。
2傳統(tǒng)的程序設計教學存在的問題
《VFP程序設計》課程的課時安排的少,但是教學內容比較多,一學期下來基本上是前邊學后邊忘,比如常量、變量、函數、表達式這部分知識,命令多、格式復雜,并且還必須留出一定的時間進行上機練習。所以說在有限的時間里理論課時多就不能保證實驗課時充足,實驗課時多理論課時就少。這種情況下教師教學的難度以及學生學習的難度較大。(1)只重視理論課,不重視實踐教學。因為總的課時少,教材上大量的內容擺在老師面前,老師只能快講多講,以完成教學計劃,這時可能就忽略了實驗課,比如在講數據庫的操作命令時,命令格式里邊提到過尖括號“<>”和方括號“[]”,老師強調其中的尖方括號中的內容是必須有的,也就是說不能省略,而方括號中的內容是可有可無的,即可以省略。而學生在面對選擇題時,比如,下列哪個不是字符型數據:(A)’89’;(B)”01/10/17”;(C)50;(D)[78]。顯然答案是D,方括號在這里是字符型數據的標記,而學生和“方括號中的內容可以省略”混在一塊了。這就說明平時老師講得比較多,沒有時間復習,沒有給學生時間上機親自操作,也就是說學生沒有消化老師講的全部內容。一旦讓學生上機練習時,學生也只是會簡單模仿老師操作的實例,不去認真思考例題中包含的知識點,更缺乏分析問題的能力。(2)學生對《VFP程序設計》課程認識不夠,不知道該課程有哪方面的功能,學生在學習過程中自己心中沒有明確目標,再加上課時少、內容多,老師只顧快講多講沒留上機操作時間,精力集中的學生還能跟上老師的思路,精力不集中的學生就跟不上了,如果老師再不注意觀察學生的表現,只是一味地講下去,就會有越來越多的學生失去學習興趣。每天學的知識是管理系統(tǒng)的哪一部分,處在《VFP程序設計》課程的哪個位置,學生統(tǒng)統(tǒng)不知,這樣就更談不上調動學生的學習積極性。例如,函數ABS(<數值表達式>)與函數LEN(<字符表達式>),學生只是知道它們是取絕對值函數與求字符串長度函數,對這兩個函數不陌生,計算起來也很熟練,但就是在編寫程序過程中,不會巧妙地利用這兩個函數,也就是說理論很熟練但不會應用于實踐,這也造成了學生學習目的不明確。
3教學方法探討
3.1激發(fā)學生的學習興趣,明確學習目的
課堂上教師上課激發(fā)起學生的學習興趣,才是促進學生勤奮學習的一個很重要的因素。對于許多非計算機專業(yè)的學生來說,在學習專業(yè)知識的同時學習這門課程,在教學課時安排上肯定是要么少講多練,要么多講少練。但是《VFP程序設計》課是理論和實踐聯系非常密切的課程,這就出現了矛盾。再加上非計算機專業(yè)的學生初次接觸《VFP程序設計》課程,對這門課程不夠了解,繁多、抽象、枯燥的常量、變量、函數和表達式,使得學生高漲的學習熱情越來越弱,也使得學習目的變得不明確。分析上述問題產生的原因,主要和教師的教學方法和教學進度的安排有一定關系。因此,為了在有限的課時之內,成功上好這門課,學生成功掌握這門課,老師一定要充分利用好每堂課,首先在第一堂課上一定要備課充足、內容豐富,這個內容不是說的教材內容豐富。第一節(jié)課非常重要,上好第一節(jié)課非常關鍵,它是一門新課程成功的重要環(huán)節(jié)。首先,舉例要密切聯系日常生活,比如“學生期末考試成績管理系統(tǒng)”“老同學通訊錄”“學校琴房的學生使用鋼琴管理”“實驗室儀器設備管理系統(tǒng)”“某招考院招生系統(tǒng)”“超市商品結賬系統(tǒng)”“某街道辦事處社區(qū)居民的信息管理系統(tǒng)”等,老師拿其中一個例子口頭講解或用教師機演示,這樣學生對《VFP程序設計》這門新課程有了初步的整體認識,有了直觀的了解,從而激發(fā)起興趣,課堂氣氛活躍,學生大體了解了這門課程的功能以及學習這門課程將來能做哪方面的工作,即使學不會編程最起碼了解了電腦的工作原理。再比如象棋大師和電腦一塊下象棋,電腦怎么知道該走哪一步、不該走哪一步呢,這是因為電腦硬件里邊裝有解決具體問題的軟件系統(tǒng)。電腦本身只是一個機器,不能進行任何計算,是軟件程序代碼在支配與控制電腦。也可以把某一個的應用管理系統(tǒng)展開講解,共包括多少個小模塊,各個模塊的功能分別是什么。要鼓勵學生只要認真學、有心學,有老師的指導,就能掌握知識。
3.2案例教學法
《VFP程序設計》課程是一門理論和實際聯系緊密的課程,教師在講解該課程的過程當中引入案例進行教學,能夠激發(fā)學生的學習興趣,提高學生解決實際問題的能力。案例教學法,就是把實際工作中的真實情景加以典型化處理,形成供學生思考分析的案例,通過獨立研究和相互討論的方式,來提高學生分析問題和解決問題的能力。是培養(yǎng)學生運用理論知識并形成技能技巧的一種教學方法。那么,如何使用案例教學法?例如在課程剛開始時引入一個實際生活當中有趣的案例,比如“某街道辦事處社區(qū)居民信息管理系統(tǒng)”中姓名、年齡、性別、主要成員、家庭住址各個字段,查找與統(tǒng)計符合條件的人數或住戶,說明完成該案例有兩種方法,用傳統(tǒng)的手工方法完成和用計算機管理系統(tǒng)完成。前種方法會費時費力、出錯率高,后種方法高效和精確,并告訴學生該案例使用到了《VFP程序設計》課程當中的哪些知識點,然后舉一反三運用這些知識點編寫其他程序。在上機實驗課給出幾個簡單實用的小程序,說明該程序功能可以完成什么樣的工作,其中的程序代碼中有三處或者多處的語法錯誤,讓學生根據所學的知識找出這幾處的錯誤并改正過來,使程序順利運行。如果都練習地比較熟練,再進一步增加難度,老師提出程序要求,讓學生自己完成整個程序代碼的編寫,提示學生用到雙分支語句或者多分支語句,或者至少有一個循環(huán)語句,考慮整個循環(huán)成立的條件,什么情況下條件不成立,也就是說什么情況下循環(huán)結束,學生能編寫出簡單的程序代碼也基本上達到這門課程的教學目標了,學生相應獲得極大成就感。教學實踐表明,在《VFP程序設計》課程教學中合理使用案例教學法,可以有效解決傳統(tǒng)教學中遇到的問題,提高教師整體水平,在激發(fā)學生的學習興趣、開發(fā)學習潛能、提高其分析和解決實際問題的能力等方面很有成效[2-3]。
3.3任務驅動教學法
任務驅動教學法可使學生的學習目標明確,了解相關的知識和操作方法。經驗表明教師應改變過去那種照本宣科的教學方法,教師應發(fā)揮主導作用,先提出問題,帶著問題去講授,引導學生積極思考、認真討論,讓學生帶著問題學習、思考,完成一個個任務。例如利用“學生期末考試成績管理系統(tǒng)”,統(tǒng)計考試不及格學生的人數,提醒學生在交互式命令窗口中使用的是哪些命令,在程序代碼中應怎樣使用,使用哪些語句才能完成這個統(tǒng)計不及格人數的任務。再比如怎樣徹底刪除一條學生記錄,因為在命令窗口當中有邏輯刪除命令、物理刪除命令,是先pack命令還是先delete命令,如果大量刪除相鄰的記錄或者大量刪除不相鄰的符合某些條件的記錄,應怎樣編寫語句,用什么方法能準確修改表中大批量的數據,帶著這樣的問題來完成這些任務,就會使學生掌握書中各條命令格式及其功能。整個教學過程始終以任務為驅動,學生是學習的主體,通過教師的提問、講解,學生再通過上機操作,讓理論和實踐充分結合,這樣才可達到預期的效果。
4結語
本文分析了非計算機專業(yè)《VFP程序設計》教學特點,研究了非計算機專業(yè)《VFP程序設計》課程的教學方法,提出了在教學中引入案例教學法。案例教學以其與實際聯系緊密、操作性強的特點被應用于《VFP程序設計》課程教學中,架起了理論與實踐的橋梁。
參考文獻
[1]教育部高等學校文科計算機基礎教學指導委員會.高等學校文科類專業(yè)大學計算機教學基本要求[M].北京高等教育出版社,2008.
[2]王新,陳同俊.案例教學法在VFP教學中的應用[J].福建電腦,2007(8):27-28.
關鍵詞:計算思維;程序設計;教學實踐;算法
中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2017)07-0143-03
《程序設計基礎》是大多數理工科學生及部分文科學生的選修課甚至必修課,而C++語言又是大多數學校教授這門課程的首選語言。開設這門課程的意義,很多學生甚至部分老師認為就只是為了掌握一門編程語言,為語言而學習語言,為編程而學習編程。事實上,大多數學生沒有認識到的是,通過學習一門編程語言,進而學會編程,可以讓他們擁有與聽說讀寫同等重要的認知能力――計算思維??梢哉f計算思維是我們和計算機對話的接口,通過學習這門課程,讓學生具備初步的計算思維能力也是開設《程序設計基礎》這門課程的一個重要目的。
什么是計算思維,卡內基梅隆大學的周以真教授對其進行了系統(tǒng)闡述和推廣。周以真教授認為,計算思維代表著一種普遍的認識和一類普適的技能,每一個人,都應熱心于它的學習和運用。如果一個人具備計算思維能力,則能讓他“像計算機科學家一樣思考”。對于計算思維,她是這樣定義的:“計算思維是運用計算機科學的基礎概念去求解問題、設計系統(tǒng)和理解人類的行為。計算思維包括了涵蓋計算機科學之廣度的一系列思維活動”。那么,什么是像計算機科學家一樣的思考呢?因為計算機科學家具備了豐富的計算機科學理論和知識,總是以自己扎實的學科知識從事計算機相關的研究工作,同時,在日常的生活中,也會自覺或者不自覺地運用計算機學科知識解釋身邊的現象、解決身邊的問題。
計算思維描述的不僅是計算,能計算不等于有計算思維;計算思維是人的思維,不是程序,也不是計算機的思維,大學生學習《C++程序設計》這門課,應該從單純的語言、編程的學習,轉變到計算思維的培養(yǎng)學習上來,使計算思維如同實證思維、邏輯思維一樣,成為每個學生應該具備的基本科學思維能力。
如何把計算思維引入到《C++程序設計》這門課程中來,本人在教學過程中開展了有益的實踐和探索,得到了學生的認可。
1基于經典算法的計算思維教學實踐
將《C++程序設計》課程的重點轉到程序設計的思想和方法上來,而不是僅僅教授一門程序設計語言及其應用。課程以“發(fā)現問題――分析問題一尋求不同解決方法―對比選優(yōu)―解決問題”的“問題求解驅動式”的講授方法,通過實際的案例中的一些經典算法,盡可能地講授清楚計算思維在解決實際問題中的作用。
比如在講授完排序算法后,給出一個背包問題的案例;出去遠足,允許你帶一個規(guī)定大小的背包,裝盡可能多能量(卡路里)的食品。這是經典的背包問題。你可以預先將所有食品的能量按大小排序,然后按順序從高到低裝包。但你的背包是限重的,能量高的食品可能很重,導致你裝的食品很少,從而總能量并不高。一種方法是以卡路里/重量的比率排序,按比率母叩降偷乃承蚪食品裝入背包,從而希望裝入背包的食品總能量最高。這種以每次價值最大為依據解決問題的思想就是貪心策略。
貪心策略的基本思想是把求解問題的任務分解為若干個步驟,但算法在每一步驟的決定可能是短視的,即該步驟所采取的方法是局部最優(yōu)而非全局最優(yōu)解。盡管并不是所有問題的局部最優(yōu)解就是全局最優(yōu)解,但在實際問題求解過程中,仍然可以用貪心策略得到可以接受的問題解。
從計算思維的角度看,貪心策略為我們提供了解決問題的一個方法:以當前和局部最優(yōu)化為出發(fā)點去求解問題簡單易行,具有一定的適用性。
在講授函數的遞歸調用這個知識點時,通過介紹歸并排序這個實例提出分治策略的思想,即把一個較復雜的問題分解為若干個與原問題同結構但規(guī)模較小的子問題,然后以遞歸的方式求解這些子問題,并通過合并子問題的解得到原問題的解。
分治策略也體現了一種計算思維在里面,它是解決工作和生活中很多問題的一種常用方法。分治策略為我們提供了這樣一種思路,當面對復雜問題時,可以把問題轉化為相互之間具有一定聯系的、規(guī)模較小的、解決方法類似的子問題,最后通過合并子問題的解得到原問題的解。
通過這樣的案例,講解若干典型算法在問題求解中的應用,揭示其所體現的計算思維,讓學生在學習算法思想的過程中逐步培養(yǎng)他們的計算思維能力。同時感受具備一定的計算思維能力所帶來的好處。
2強化計算思維能力培養(yǎng)的教學方法
《C++程序設計》作為非計算機專業(yè)的學生的計算機語言的入門課程,要學好它是有難度的,C++的語法規(guī)則繁瑣、枯燥、抽象,對具體語法規(guī)則的學習和記憶會影響學生對語言本身內涵的理解和計算思維的體驗。本人在教學過程中,從訓練學生的計算思維為出發(fā)點,將計算思維的本質――抽象和自動化作為主線,貫穿于整個教學過程中。從問題出發(fā),通過抽象、約簡,轉化成解決問題的算法描述,最后得到算法的C++語言實現。將《C++程序設計》課程從以往偏重講授一個個孤立的語法知識點轉變?yōu)橐杂嬎闼季S為出發(fā)點,把重點放在問題求解和算法的實現上,這樣的教學方法,可以達到對學生的計算思維進行更好的訓練的目的。
在教學過程中,多用生活中的例子解釋計算機課程中的概念,是讓學生盡早建立起計算思維的好方法。比如在講解算法的概念時,從生活中的問題求解(比如做菜)出發(fā),講解其與計算機求解問題的異同點,進而引出算法的概念、特點和描述方法。在講解遞歸這個在計算思維中非常重要的概念時,從生活中的現象出發(fā),比如兩塊面對面放著的鏡子中的影像,去引導學生理解遞歸的概念。通過講解數學中的階乘的遞歸定義,讓學生理解遞歸算法中的兩個重要條件:求解問題的自相似性和遞歸出口。
在教學過程中,多用一題多解來引導學生深入思考,也是培養(yǎng)學生計算思維能力的一個好方法。教學中,一些問題往往不止一種解決方案,通過一題多解讓學生去發(fā)現、尋求更好的解決方法。比如找假幣問題,9個銅幣,其中有一枚假幣比其余的真幣輕,現在有一個天平,請設計一個算法,找出其中的假幣。方法一,每兩個銅幣一組,分為4組,分別放到天平上稱,前面4組任一組有假幣都可以通過天平稱出來,如果4組都一樣,則假幣是沒有被分組的那個銅幣,所以最多稱4次可以找到假幣;方法二,先將其中的8個平分為兩組,如果相等,則剩下的是假幣,否則,假幣一定在較輕的一組里,把這一組的4個平分成兩組,假幣一定在較輕的一組里,再把較輕一組的兩放到天平上稱重找到假幣。這種方法最多需要稱3次可以找到假幣。方法三,將9個銅幣每三個分為一組,將其中的兩組放到天平上稱一次,可以確定假幣在哪一組,再將有假幣的一組分為3組,每組一個幣,將其中的兩組放到天平上稱一次,即可確定假幣。這種方法最多稱兩次即可找到假幣。可以看到,三種方法雖然都能找到假幣,但顯然第三種方法效率最高。在教學中經常采用這樣的一題多解的方式可以更好地提高學生分析問題、解決問題的能力。
在教學過程中,多安排學生上機實踐,它也是培養(yǎng)學生計算思維能力的重要方法之一。在實踐環(huán)節(jié),教師應該盡量設計難度適中、趣味性比較強的實驗題目,提高學生的學習興趣。比如在講授C++的循環(huán)結構時,要求學生上機完成打印輸出一個由“*”構成的菱形圖案,在完成題目的過程中理解循環(huán)嵌套的機制,分析內循環(huán)和外循環(huán)在輸出圖形中所起的作用,總結發(fā)現規(guī)律,最后得出打印輸出一般二維圖形的方法。
3基于計算思維教育的《c++程序設計》課程設計
計算思維不僅僅是編寫程序,而是運用計算機的相關概念、技術去求解題、設計系統(tǒng)和理解人類與自然界的行為和現象。大學應該以培養(yǎng)學生的計算思維能力為核心,使它成為每個學生都具備的基本科學思維能力。
如何在程序設計課程中引入計算思維,是很多高校正在開展的實踐和探索_8_。下面介紹針對全校非計算機專業(yè)學生開設“計算機程序設計基礎(C++)”課程的具體實施方法。
“計算機程序設計基礎(C++)”這門課程的目標是:學生學過這門功課后,能夠系統(tǒng)掌握結構化程序設計和面向對象程序設計的理論、方法與技術,增強學生的動手能力,培養(yǎng)學生的計算思維能力和創(chuàng)新能力,提高學生學習計算機知識的興趣。
表1是這門課的教學安排。除了課程內容的講授,實驗和實踐環(huán)節(jié)也是非常重要的,我們精心準備了與課程內容同步的實驗,并且在理論課程結束后還安排了16學時的實踐環(huán)節(jié),學生集中在一到兩周內完成一個大的完整的課程設計作業(yè),通過這種形式來幫助學生綜合運用課程中所學的知識來解決實際問題,從而達到提高學生分析問題、提高計算思維能力的目的。
在這門課程的教學中,教師時刻注意以講授程序設計的基本思想和方法為綱,在這個過程中潛移默化地將計算思維融入到學生的思維體系中。
關鍵詞:編程思維;計算思維;教學方法;實踐教學
中圖分類號:G434 文獻標識碼:A 文章編號:16727800(2012)011018602
作者簡介:王付山(1974-),男,碩士,德州學院計算機系副教授,研究方向為計算機基礎教育及數據挖掘。
0 引言
《C語言程序設計》是高校理工科專業(yè)教學中一門重要的公共必修課,是學生利用信息技術為本專業(yè)服務的重要基礎課程,在教學計劃中占有非常重要的地位和作用。本課程是一門實踐性的課程,本課程的核心任務是使學生掌握C語言的語法規(guī)則、程序設計的基本方法和編程能力,培養(yǎng)學生應用計算機語言解決和處理實際問題的思維方法和基本能力,為進一步學習和應用計算機及利用現代信息技術為專業(yè)知識服務打下堅實基礎,對培養(yǎng)信息化時代大學生的實踐能力和應用能力意義重大。
C語言程序設計課程為德州學院的校級精品課程(網站:http://211.64.32.29/kc/jsjx_jsjjsjcc/index.php)。本文根據筆者多年的C程序設計教學實踐經驗,從教學內容、教學方法和實踐教學三個方面對C程序設計課程的教學改革進行了探討與實踐。
1 教學中存在的主要問題
根據筆者多年的教學經驗,以及對學生的跟蹤調查分析,C語言程序設計教學中主要存在以下幾個問題:
(1)教學內容的知識點多而繁瑣,教學重點不突出,導致學生學習興趣偏低。C程序設計教學內容中涉及的語法規(guī)則多而枯燥,不易記憶,再加上學生本身對計算機的可計算特點、計算思維的認識不足,因而,學生面對這些多而繁瑣的知識點,感覺無從下手,一時找不到學習的重點。這樣學過的知識點沒有掌握,又跟不上教學的步伐,偏離對學生計算思維和編程思維培養(yǎng)的重點,導致學生學習興趣降低,失去了學習動力。
(2)教學方法與學生的認知過程存在偏差。項目:德州學院教育教學改革研究項目JGLX-B09032。
教師在教學中,往往關注于對學生知識的傳授,雖然知識點也講了,案例也給同學們分析了,也啟發(fā)學生思考了,但是同學們對如何用,在什么情況下用,還是不清楚。說到底,這是教師的教學方法與學生的認知過程存在偏差,對學生認知過程、認知結構和學習狀況不夠了解,沒有真正按照從實踐到理論的認知過程進行組織教學。
(3)實踐教學的層次低、應用性低。目前,多數高校對于教學的安排是課堂理論教學+上機實踐,對于上機實踐環(huán)節(jié)方面,多是驗證例題,設計習題,教師再給予指導。這樣的實踐教學應用性低,導致學生學習C語言感覺沒什么用處,缺乏對學生計算思維、創(chuàng)新思維的培養(yǎng)。
2 因材施教,進行教學內容改革,編寫與教學改革理念相適應的教材 在教學內容方面,通過調查研究,了解社會對C語言基礎知識的需求定位,強調教學內容的“合理性、規(guī)范性、急用先學性、實用性”原則,對教學內容適當取舍,側重對學生編程思維和計算思維的培養(yǎng)。
本課題組在綜合調研國內C語言程序設計大學計算機專業(yè)本科教材、??平滩?、高職教材、中職教材、二級教程等教學內容的基礎上,針對教學對象的實際情況與現實需要,編寫并出版了《C語言程序設計基礎教程》(國防工業(yè)出版社出版)。全書體系完整、重點突出、內容講解深入淺出、圖文并茂、講解透徹、案例豐富新穎、注重理論、突出實踐。該教材已在我院試用了兩年,現已形成了一本較為成熟的、特色鮮明的適用于理工科各專業(yè)的公共課教材。該教材的突出特色是:內容精簡、實例廣泛、突出實踐,設計了從簡單到復雜的階梯性例題,以實踐問題引出解決方法,從解決方法引出知識點,然后從知識點再到實踐案例,形成“實踐——理論——實踐”的系統(tǒng)化教學內容體系。
3 與學生認知過程相適應,實施以“問題驅動+案例”為主的多種教學方法,改善教學效果 C程序設計教學以注重培養(yǎng)學生編程思維、計算思維和實踐創(chuàng)新能力為目標,采用了以問題驅動+案例為主的多種教學方法。
3.1 問題驅動+案例教學法
“問題驅動+案例”的教學方法可以激發(fā)學生學習興趣,引導學生積極探索和主動思考,符合學生的認知過程,是提高課堂教學效率和學生學習效率的重要教學方法。在講授新知識和新方法時,首先選擇一個合適的案例或實際的問題場景,給學生首先展示設計的效果;其次引導學生分析問題,提高學生分析問題的能力;第三是引導學生用以前學過的知識和方法解決問題,培養(yǎng)學生邏輯思維和編程思維;第四是引出新的知識和方法,引導同學們找出解決問題好辦法;最后,再將新知識和方法應用于新的案例,形成了與學生認知過程相適應的“實踐——理論——實踐”的系統(tǒng)化教學方法。另一方面,注重經典案例的積累,使教學案例、實驗案例與學生專業(yè)盡可能相接合,以一個大案例貫穿課程始終,注重將一個問題分解成若干個簡單的問題,實施模塊化教學,每次課設計一個小任務,課程結束后完成一個比較大的案例,使學生將分散的知識點通過案例開發(fā)系統(tǒng)地貫穿起來,使學生在頭腦中形成系統(tǒng)化的知識體系。
3.2 合理運用啟發(fā)式教學法
啟發(fā)式教學方法突出培養(yǎng)學生的分析問題、解決問題的綜合素質,強化學生的動手操作能力,突出“以學生為中心”的原則,達到“在做中學”、“學中做”的目的,引導學生主動學習。啟發(fā)式教學法就是通過教師的啟發(fā)教學充分調動學生的積極性、主動性和創(chuàng)造性,引導學生主動學習。
3.3 倡導學生進行自主性、研究性學習
在教學中,配合“問題驅動+案例”的教學方法,注重培養(yǎng)學生帶著問題學習,學會發(fā)現問題,引導學生學會閱讀隨機幫助文檔和查閱網絡資料,提升學生的計算機應用水平和信息素質,培養(yǎng)學生的自學能力和創(chuàng)新精神。
4 構建以培養(yǎng)學生編程思維和計算思維為核心的實踐教學項目,全面提高學生的實踐創(chuàng)新能力 實踐教學是C語言程序設計課程中非常重要的環(huán)節(jié),是學生進一步鞏固基礎理論知識,培養(yǎng)學生編程思維,提高學生分析問題、解決問題、實踐創(chuàng)新能力的重要環(huán)節(jié)。
(1)構建以實用型設計性實驗、階梯性實驗和課程設計為實戰(zhàn)手段,設計重點培養(yǎng)學生的編程思想和計算思維的實踐教學項目。根據這一理念,實踐教學中遵循從簡單到復雜,再將大的實驗項目模塊化、簡單化,使實驗題目與實踐應用有機結合,培養(yǎng)學生的編程技巧、編程思維、計算思維和創(chuàng)新思維,提高了學生的編程能力和利用計算機語言解決問題的能力。
(2)加強考核,確保實踐教學效果。在C程序設計考核上,采用了以實踐創(chuàng)新能力為核心的“多維認證”考核方式,即由傳統(tǒng)的筆試考試改革為課堂表現成績、實驗成績、課程設計項目考核成績、與C語言程序設計有關的科技競賽、全國計算機二級C考試等社會實踐成績和筆試成績相結合的多維考核模式,突出了對學生編程能力、實踐創(chuàng)新能力的培養(yǎng)。
5 結語
本課程是一門應用實踐性非常強的課程,對學生實踐創(chuàng)新能力的培養(yǎng)具有十分重要的意義。C語言程序設計課程作為德州學院的校級精品課程,并通過在我校理工科專業(yè)的改革實施,教學實踐證明,從教學內容側重培養(yǎng)學生編程思維和計算思維、教學方法與學生認知過程相結合和實踐教學注重培養(yǎng)學生編程技巧和編程能力等三個方面對C程序設計課程的教學改革,增強了學生的編程能力,提高了教學效果。
參考文獻:
[1]謝中科.《C語言程序設計》的教學改革與實踐[J].理工高教研究, 2004(3).
[2][美]H M DEITEL,P J DEITEL.C程序設計教程[M].薛萬鵬,譯.北京:機械工業(yè)出版社,2000.
[3]李學會.C程序設計教學改革與實踐[J].實驗室科學,2010(2).
關鍵詞:《C語言程序設計》;教學改革;案例教學;師生互動;多媒體
中圖分類號:G642文獻標識碼:A文章編號:1009-3044(2009)25-7182-02
Practicing on Teaching of "C Programming"
QIAO Zheng-hong
(Sci. & Tech., Institute of Science, PLA University, Nanjing 211101, China)
Abstract: C Programming is a basic course in public, it is also a practical course with highly experimental demand. Old measure of teaching in C do not adapt the student' s need, the measure of reforming teaching is introducted, such as Case Study, Teacher-student interaction, Rational use of multimedia, which gets rather good response.
Key words: C Programming; reform of teaching; case study; Teacher-student interaction; multimedia
1 引言
我校為非計算機專業(yè)的學生設置了兩門計算機公共基礎課程:一是“大學計算機基礎”,二是“計算機程序設計基礎”,要求所有學生必須選修。其中“計算機程序設計基礎”課程選用目前流行的C語言作為教學語言。
C語言是我校學生學習程序設計的入門語言,學生分析問題、解決問題的能力和程序設計思想的形成都與C語言有著密切的聯系。C語言既具有高級語言的優(yōu)點,又具有低級語言的許多特點,既可以用來編寫系統(tǒng)軟件,又可以用來編寫應用軟件。C語言語法限制不嚴格,程序設計自由度大,在使用時會出現一些“副作用”,再加上現行在教學過程中存在的一些弊端,所以在學習中學生普遍反映“難學”、“不懂”、“沒興趣”,這也是在C語言教學中普遍遇到的問題。
2 現行教學過程中存在的問題
2.1 以書本為中心,忽視學生能力的培養(yǎng)
以書本為中心的教學模式,采用從概念到概念的注入式教學,偏重于C語言語法知識的詳細講解,而對程序設計思想、程序設計方法和程序設計風格的介紹很少,對編程能力的培養(yǎng)不足,導致學生學不深、學不透、學不精,不會編寫和調試程序,不會測試程序的正確性,編寫的程序可讀性很差,遇到稍微復雜的程序就讀不懂,更不用說運用學到的概念去解決實際問題了。
2.2 以教師為主體,忽視學生的能動作用
以教師為主體的教學方法中,由于片面強調和突出教師的主導作用,忽視和壓抑了學生的能動作用;片面地強調知識的傳授和灌輸,忽視了學生創(chuàng)新能力的培養(yǎng);注重“知識型”人才,忽略了“智能型”人才的培養(yǎng)。在教學的過程中,教師只注重講解概念、語法和程序,不注意調動學生的學習熱情,學生被動接受灌輸的知識,學習熱情低,即使掌握了這些內容,也不能靈活運用,達不到舉一反三的目的。
2.3 多媒體教學過分強調表現形式,忽略了內容本身
在現代化的教學過程中,利用投影儀、計算機、網絡等現代設備開展多媒體輔助教學,具有較好的教學效果。但是在課件制作上過分強調表現形式,忽略了內容本身,往往造成喧賓奪主,達不到預期的效果;另外在課堂上,教師過分依賴課件演示,忽視與學生溝通,影響學生參與教學活動的積極性。
針對以上存在的不足,我們在對C 語言教學過程中,開展了一系列的教學改革,在教學中采用案例教學法,強化師生互動,積極培養(yǎng)學生學習興趣,并合理使用現代教育手段,取得了良好的教學效果。
3 教學改革方法
3.1 采用實例教學,突出能力培養(yǎng)
為了改變以書本為中的注入式教學方式,我們探索采用了實例教學法,以程序設計的需要帶動語言知識的學習,在每個知識點上以引例開頭,激發(fā)學生的好奇心和求知欲,從而促進學生成為教學主體,引導學生進行自主學習、合作學習、研究性學習,增強學生的綜合應用能力,從而提高了教學質量,取得了良好的效果。
在實際教學實施過程中,我們采用了項目遞進驅動教學法,改變滿堂灌的做法,將學生的眼手腦全部調動起來。精心設計實例,給學生一個比較實際的切入點,通過教師的演示使學生感覺能夠入手,然后再將此實例不斷修改、擴充,引導學生參與到程序的編寫過程中,并將學生設計的程序展示,讓學生來評判優(yōu)劣、吸收優(yōu)點、修改錯誤,引導學生進行程序優(yōu)化。比如在進行if語句的教學時,針對符號函數的求解,我們給出多種可能實現的程序段,讓學生分析哪些程序段能夠完成計算,哪些不能完成計算,對不能完成計算的程序段如何進行修正等。通過這些程序的分析,使他們加深了對if語句的理解,掌握了if與else的配對關系,并靈活運用去解決其他問題。
3.2 強化師生互動,激發(fā)學習學習熱情,發(fā)揮學生主觀能動性
在C語言教學中,我們大力強化師生互動,充分發(fā)揮學生的主觀能動性,注重培養(yǎng)學生獨立學習、獨立思考、勇于創(chuàng)新的能力。師生互動教學我們采用了“問答式”、“討論式”等多種形式。每一種方式都有其特點和特定的適用范圍,在實際教學中我們根據具體情況加以靈活運用。
“問答式”就是教師事先設計好問題,啟發(fā)學生思考,引導學生在問題解決中構造算法進而掌握相關的概念、語法、功能及應用。例如:要求學生編程實現輸入三角形的三條邊a,b,c,計算以這三個數為邊長的三角形面積。我們可以適當進行提示提問:①輸入的三條邊能否構成三角形?②已知三邊長,三角形面積該如何求呢?這就要結合中學時的數學知識,對于問題①用數學語言來描述為:兩邊之和大于第三邊。那么用程序語言該如何描述呢,應該采用哪一種程序結構?順序、選擇還是循環(huán)?程序結構知道了,下一步就是根據數學公式計算面積。這樣,逐步對學生進行提示和引導,可以使學生的思維一直處于活躍狀態(tài)。
“討論式”就是教師預先設定討論題目和要求,由學生分組討論的一種互動教學方式。它適用于課程中的重點難點問題。如在鏈表的教學中,我們就如何利用鏈表實現棧、隊列,用鏈表實現與用數組實現各有什么優(yōu)劣等問題時就采用“討論式”教學方法。課前教師將問題提出來,讓學生自己去思考。學生自由組合形成若干各小組,每個小組應有一位秘書,負責全程記錄討論過程,最后每個小組要出一份討論報告,然后由每個小組推選一位學生上臺講解本組的實現方案,其他組的同學可自由提問,最后由教師對方案的可行性、是否有創(chuàng)新、須改進之處一一進行分析講評。這種方式有利于培養(yǎng)學生的思維能力和協(xié)作能力,激發(fā)學生學習熱情。
3.3 合理使用多媒體,提高教學效率
在教學中結合形象直觀的事例或圖形講解概念,可以充分發(fā)揮學生的形象思維能力,不但易于理解和掌握,而且印象深刻,能有效地提高學習效率。因此在C語言教學中我們可利用多媒體代替?zhèn)鹘y(tǒng)的板書,將文本、圖像、聲音、動畫結合起來,使抽象的內容變得形象生動,學生通過多種感官來獲取知識,形成相關的概念。但是濫用多媒體教學,不但達不到預期的教學效果,反而會分散學生的注意力,削弱教師在教學過程中的主導作用,甚至影響學生的學習積極性。在C語言多媒體教學實踐中,我們著重解決好以下問題。
3.3.1 課件內容與形式的關系
在制作C語言課件時,我們要根據課程的教學內容的性質和特點選擇恰當的技術手段和表現形式,充分利用了各種媒體信息為教學內容服務。在課件制作上,不需要花時間、花精力對課件進行包裝,刻意追求特技效應。在課堂教學中,過多的畫面切換,容易造成學生在學習過程中應接不暇,對所學內容生吞活剝,能力的培養(yǎng)無從談起。實踐證明,附加信息和無關信息過多,雖然從心里上加深刺激了學生的感知能力,但卻顯得主次部分,容易分散學生的注意力。因此我們要求課件制作要務實,不必特別美觀,也不必有很高的技術含量,涵蓋的知識點也不必很多,只要能使抽象、難懂的內容變得直觀、易懂,有利于學生更好地接受所學的知識就夠了。
3.3.2 注意發(fā)揮教師的主導作用
雖然教學課件事先已經做好,但不是說在課堂上教師只充當“解說員”、“演示員”就可以了,這樣可能會出現學生看了很多,聽了很多,卻不知道要學什么,什么是重點難點,而事與愿違。其實,多媒體輔助教學作為一種現代化的教學手段,是用來提高課堂教學效率、突破重難點、解決一些傳統(tǒng)板書教學不容易理解的問題。作為教師應把握住自己在教學中的主導地位和作用,通過教學過程的設計和靈活多變的操作,使多媒體發(fā)揮最佳教學功能。
4 結束語
采用這些教學方法,有提出問題、解決問題、擴展問題、再解決問題、對解決問題方法的評價、優(yōu)化等幾個環(huán)節(jié),實際上是一個螺旋式滾動向前的過程,在這個螺旋式不斷向前的過程中,能夠非常自然地調動學生參與的積極性,而且通過問題的擴展,通過一個問題的多種解決方法,使學生在課堂上真正地成為“主體”,教師扮演“主導”角色。當然,在改進和探索教學方法的同時,我們還要充分利用機房、網絡和課外環(huán)境,啟發(fā)和調動學生的學習積極性,培養(yǎng)和提高學生的自學能力。
參考文獻:
[1] 中國高等院校計算機基礎教育改革課題研究組.中國高等院校計算機基礎教育課程體系2006[M]. 北京:清華大學出版社,2006.
關鍵詞:程序設計;教學方法;案例教學
作者簡介:陳軍(1975-),男,福建福州人,福建江夏學院電子信息科學系,講師。(福建?福州?350108)
基金項目:本文系福建江夏學院2012年度教育教學改革非資助項目“《計算機程序設計》與《程序設計課程設計》實驗教學整合研究”的研究成果。
中圖分類號:G642.0?????文獻標識碼:A?????文章編號:1007-0079(2012)25-0067-02
全面推進素質教育,培養(yǎng)學生的創(chuàng)新能力、協(xié)作精神和實踐能力是當前我國教育改革和發(fā)展的方向,也是高等學校辦學的根本宗旨。有別于研究型本科教育的精英教育思想,應用型本科教育更加注重學術性教育與職業(yè)性教育之間的平衡,要求從未來的人才市場需求出發(fā),培養(yǎng)學生良好的知識、能力和素質,滿足就業(yè)市場需要。
“計算機程序設計”是目前國內大多數高等院校為本科生開設的計算機基礎課程,是理論與實驗同步開展教學的課程,具有較強的理論性和實踐性。學生不僅要學習一定的語法知識,而且還要通過一系列的編程實踐練習,才能熟練掌握程序設計的技巧。這是一個培養(yǎng)學生思維能力、分析能力、實踐能力和創(chuàng)新能力的過程。
筆者從教學實踐出發(fā),對“計算機程序設計”課程的教學進行分析和探討。
一、“計算機程序設計”教學實踐
1.教學背景
福建江夏學院(以下簡稱“我?!保┦且凰聲x本科院校,“計算機程序設計”課程是我校在本科教學中第一次采用“16+2”的教學模式進行授課的課程?!坝嬎銠C程序設計”安排在教學的第1到第16周;程序設計課程設計是計算機程序設計的補充和延伸,安排在教學的第17到第18周,集中進行設計實踐。電子信息科學系組織教師,成立備課小組,準備各種教學素材;學校督導組全程監(jiān)督和指導。這次實踐可以為后續(xù)采用“16+2”的教學模式的課程及時提供實踐材料和經驗總結。
2.教學過程
“計算機程序設計”課程安排64學時,理論和實驗課比例為3:1。理論課安排在多媒體教室,通過PPT授課,講解語法知識,并結合課堂實例,分析程序運行結果;實驗課安排在機房,安排章節(jié)的上機測試,給出具體題目,要求學生通過閱讀教材及相關資料,編寫程序并通過調試運行。每個章節(jié)都有相應的作業(yè)和課后輔助測試習題;重點章節(jié)還要提交上機實驗報告。教師通過修改作業(yè)和實驗報告,及時掌握學生的學習情況。
另外,教師通過互聯網環(huán)境(學校的VPN網絡、FTP、QQ等),各種學習資源,比如:課件、預習實驗任務、作業(yè)和實驗結果等,并且在線和離線為學生輔導答疑。
3.教學結果
在成績考核中,期中考試成績和平常成績占30%,期末閉卷筆試成績占70%。經過一個學期的學習,絕大多數學生通過課程考核。但是,學生實際編程能力和水平較低,并沒有為后續(xù)課程的學習打下一個良好的基礎。
二、“計算機程序設計”教學存在的問題分析
傳統(tǒng)的教學模式是以教師為中心,常采用“填鴨式”教學方法,學生被動接受,很少主動思維,難以形成自己的知識體系。教師循規(guī)蹈矩,認真教學,履行職責,付出大量精力;學生用心聽課,努力做練習,花費大量時間。但是,雖然教學過程不乏實例,卻難以吸引學生;雖然教師在課后認真批改作業(yè),卻難以避免學生抄襲應付。結果是一代又一代的大學生,畢業(yè)之后還是不會編程。目前“計算機程序設計”課程教學的主要問題表現在五個方面。
第一,教學面面俱到,在有限的課堂授課時間內難以實現突出重點難點,學生感覺聽流水賬一樣,逐漸失去學習興趣。
第二,理論課教學,以教為主,側重語法。雖然有利于系統(tǒng)傳授與掌握編程知識,但是束縛了學生學習的積極性和主動性。
第三,實驗課教學,實驗內容多為驗證型和章節(jié)某個知識點的簡單設計型。學生通過驗證書本程序,編寫簡單代碼,但只是鞏固所學章節(jié)的語法,不利于發(fā)揮學生的創(chuàng)造性,不利于快速、有效地提高應用能力。
第四,考核方式不合理,筆試成績所占比重過大。學生可能采用背書、背題的方法通過考核,拿高分,不能真正地培養(yǎng)和提高學生的編程能力和水平。
第五,課后輔導費時、效果差。學生通過網絡通信工具聯系教師答疑,時間上有一定的滯后性,效果上有一定的個別性,教輔過程缺少一個良好的平臺。
三、“計算機程序設計”課程教學改革措施
為了適應應用型本科“計算機程序設計”課程的教學改革需求,應該融合教師的“主導性”和學生的“主體性”,進行“雙主”的教學設計。教師有效組織學習活動,實施教學目標控制,設置學習情境,提出問題;學生不再被動接受,而是開展自主學習,團隊協(xié)作,提交學生的學習積極性和創(chuàng)造性。下面結合筆者在“計算機程序設計”課程方面的教學體會,探討優(yōu)化教學的具體方法。
1.開編點題,明確目標
關鍵詞:Visual Basic;程序設計;教學改革;實踐
中圖分類號:G64: 文獻標識碼:A文章編號:1007-9599 (2010) 05-0000-02
Reform and Practice of Visual Basic Programming Course
Ma Zongmei,Qi Hui,Zhu Yansong
(Zhongyuan University of Technology,Zhengzhou450007,China)
Abstract:In view of the existing problem of Visual Basic programming course for the non-computer major,reform and exploration has been done on content of courses,teaching method,computer practice and assessment method.Practice has proved that these methods exert positive effects on enhancing the teaching quality.
KeyWords:Visual basic;Programming;Teaching reform;Practice
一、引言
目前,計算機技術已經應用到各個行業(yè),掌握計算機應用基本技能成為新世紀人才不可缺少的基本素質之一?!禫isual Basic程序設計》作為一門高級語言程序設計課程,在培養(yǎng)學生嚴密的邏輯思維、培養(yǎng)非計算機專業(yè)學生利用計算機解決本專業(yè)問題的能力方面有著非常重要的作用。VB(Visual Basic的簡稱)繼承了BASIC語言簡單易學的優(yōu)點,同時又支持面向對象的程序設計思想和提供可視化的編程環(huán)境。因此,《Visual Basic程序設計》是我校面對非計算機專業(yè)類學生開設的一門程序設計基礎課,在大學一年級的第二學期開設。
本課程具有理論性、實踐性強的特點。在此之前,多數學生對程序設計的思維方式還不適應,分析和解決問題的能力還處于一個較低的水平,因此很多學生反應程序設計是一門難學、難懂的課程。
多年來,我們《Visual Basic程序設計》課程組教師根據程序設計語言課程的特點,結合學生的基礎,在教學內容、課堂教學方法、上機實踐和考核方式等方面同時進行了研究,提出了VB課程教學方法的改革措施并進行實踐,取得了較好的成效。
二、教學改革與實踐
(一)培養(yǎng)學習興趣,激發(fā)學習熱情
我國古代教育家程頤先生曾經說過:“教人未見其趣,必不樂學。”很顯然興趣是最好的老師。只有學生對學習的內容感興趣,才能激發(fā)其學習的動力和創(chuàng)造力。
怎樣才能提高學生的學習興趣呢?往往第一節(jié)課對學生認識本門課程起著很重要的作用,因此上好第一堂課對提高學生的學習興趣至關重要。第一堂課首先介紹本課程的特點、教學目標、教學重點、教學安排和考核方式等,以便讓學生對本課程有個初步的了解。教師還可以設計與生活密切相關的一些案例給學生演示,讓學生知道VB到底能做什么,VB與自己的生活到底有多近,以此來激發(fā)學生學習本門課程的積極性。
其次,在教學過程中,要注意保持學生的學習興趣,可根據章節(jié)內容設計相關的實例。如在講授文本框和命令按鈕控件時,可制作一個用戶登錄界面;講授數組時,可制作成“計算器”;講授文件系統(tǒng)控件時,可制作成“圖像瀏覽器”等等。通過這些和日常生活相關的實例,學生從中可見VB的價值和實用性,使其產生自己動手編程的想法,自然就有了學習的自發(fā)主動性。
(二)課堂教學內容和教學方法改革
教學內容和教學方法的設計對教學效果的影響至關重要。教學內容的選取必須按照VB課程教學大綱的要求,適當安排學時。而適宜的方法能夠自然地引導學生從感性認識升華到理性認識,掌握相應的知識點,并提高實際編程能力。
1.教學內容要輕重有分
VB課程為60學時,包括理論教學和上機實踐。教師在授課的過程中,應該強化編程思想和算法設計,淡化語言,做到輕重有分。這樣才能讓學生在有限的學時內掌握VB程序設計的精髓。
例如,要著重強調面對對象的程序設計思想,VB中引入了類、對象、屬性、方法、事件等許多新的概念,這些概念是理解和使用面向對象技術的基礎和關鍵。講解時可以先從現實世界中的對象引入,如桌子、汽車等,然后轉到VB實例里的類和對象[1]。還有結構化程序設計思想也是比較重要內容,要多用一些時間和例子來講解。而對于語言規(guī)則方面,比如相似運算符之間的區(qū)別等知識點可以弱化,知道就行,避免學生鉆牛角尖的問題出現。
學生一旦掌握了VB的編程思想的精髓,對其它程序設計語言的學習會有借鑒作用,也就變得輕松起來。
2.案例教學法
VB提供了可視化的開發(fā)環(huán)境,控件的使用及其屬性和事件過程的設計是本課程的重要組成部分,講解中應注意突出控件的主要屬性、事件、方法。這些理論會讓學生覺得很枯燥,也不容易理解。如果能夠結合相關知識,設計一些恰當例子,就能解決這些問題。因此,VB程序設計語言要以案例為中心來組織教學,才能真正達到激發(fā)興趣、鞏固知識、培養(yǎng)能力、提高全面索質的目的,從而使教學質量得到提升[2]。
例如,在實例中讓學生來理解什么是事件驅動,在實例中讓學生掌握如何設置控件的屬性、如何設計控件的事件過程;通過典型的算法和案例使學生掌握結構化程序設計思想,提高編程能力。
案例教學可以使學生全面了解VB的基本風貌,從而盡快的掌握基本的程序設計技能;可以使學生從案例設計中得到有益的啟示,為應用程序的開發(fā)積累更多的經驗,可以說案例教學法的采用是提高VB教學效果的重要手段。
案例教學可以從以下幾步進行。
(1)問題的提出
根據要講授的內容,事先設計好問題,啟發(fā)學生思考。引出要講解的內容。
(2)程序的分析
和學生一起分析,如何應用所學理論知識來解決問題。分析中應多引導學生積極思考、一題多解,尋求最佳解題方案。
(3)程序的代碼
將解決問題的方法轉換成VB代碼行。書寫程序代碼時必須按照編程規(guī)范來書寫,以提高代碼的可讀性。如代碼行采用縮進格式、變量名的命名規(guī)范和程序的注釋等。
(4)程序的運行
編寫好代碼后,在VB中運行。在驗證程序正確性的同時,及時處理程序中的錯誤,并學會如何選取測試數據等。
3.上機實踐
VB是一門實踐性很強的課程,上機實踐課作為與課堂理論教學的配套,是一個重要的教學環(huán)節(jié)。它要求學生利用所學知識,實際上機編程,解決一些具體的問題。它既鞏固學生所學的理論知識,又提高學生的動手能力。這一部分我們要求學生完成以下三個方面的作業(yè),并對完成情況進行檢查和統(tǒng)計。
(1)上機前作業(yè)。上機前根據章節(jié)內容精心設計相應的題目,包括選擇、填空、編程等題型。為了避免學生上機毫無準備,浪費時間,并要求學生必須在上機前在作業(yè)本上完成。上機過程中教師都要進行檢查,作為平時成績考核的一部分。
(2)上機課內容。我們把每次上機的作業(yè)題做成題庫的形式,學生在上機課上通過考試系統(tǒng)做練習。學生必須在考試系統(tǒng)規(guī)定的時間內容完成上機作業(yè)并通過考試系統(tǒng)提交。上機過程中,學生可以對自己事先編好的程序在VB的環(huán)境中進行調試,發(fā)現錯誤并進行修改,直到正確為止,并在作業(yè)本上進行更正。
(3)上機后反饋。上機結束后,學生通過考試系統(tǒng)提交自己的答卷。教師將在改卷系統(tǒng)中對學生的作業(yè)進行批閱,了解學生對知識的掌握情況,同時記錄每個學生的作業(yè)情況,作為平時成績考核的一部分。對于學生普通出現的問題,在課堂上集中講解并強調。
4.改變現有的考核方式
期末每個學生VB課程的成績由課堂考勤、作業(yè)情況、上機實驗和期末考試四部分決定,其比例分別為:10%、10%、10%和70%。以往期末考試采取的是筆試的方式。為提高學生的興趣和實際動手能力,從08-09-2學期開始,我們將期末考試方式改為機試,并在平時的上機課中使用考試系統(tǒng)進行練習,以避免學生由于對考試系統(tǒng)的不熟練造成的失誤。經過一學期的實踐,通過對比發(fā)現,這種方式既能夠提高學生的積極性和實際動手能力,也使學生的成績中有很大的提高。
三、總結
教學有法,教無定法。教師要根據VB課程的特點,找出學生的興趣所在,按照他們的認知規(guī)律組織教學。這就要求教師,不僅掌握扎實的專業(yè)技術,還應注意教學方法的改進、充分利用現有教學資源,了解學生的特點,堅持不懈地激發(fā)學生自主學習熱情,了解和幫助他們解決在編程中遇到的難題,努力提高他們分析問題和解決問題的能力。這樣才能使他們輕松地學好VB程序設計語言課程,達到預期的教學效果。
參考文獻:
[1]朱國華.Visual Basic程序設計.北京:中國鐵道出版社,2009.4-5
關鍵詞:C++語言;面向對象程序設計;實踐教學
中圖分類號:G642 文獻標識碼:B
文章編號:1672-5913 (2007) 24-0003-02
1引言
“C++程序設計”課程是高校計算機科學與技術專業(yè)的一門重要的專業(yè)基礎課,也是“數據結構”、“數據庫”、“軟件工程”等專業(yè)必修課的先修課程,在整個專業(yè)的教學體系中占有非常重要的地位。但是由于本課程的學習對象一般是大學低年級的學生,他們對計算機語言、計算機編程還很陌生,加之C++語言、面向對象程序設計本身的抽象性和復雜性,使之成為一門比較難教和難學的課程。因此,如何提高本課程的教學效果一直是計算機專業(yè)教師比較關注的研究課題。
“C++程序設計”課程不僅有較強的理論性,更有較強的實踐性,是一門實踐性非常強的課程,其實踐教學環(huán)節(jié)的效果將直接影響著理論教學的效果。因此,本文就教學過程中如何在較短的教學時間內,以簡單易懂的方式,使學生能較快而扎實地掌握“C++程序設計”課程的內容,并具有面向對象程序設計的實踐能力,結合校級教改課題――“計算機專業(yè)程序設計系列課的建設與改革”,主要針對實踐教學的幾個主要方面進行了探討,以期能進一步提高本課程的教學效果,整體提升本課程的教學質量。
2實踐環(huán)境
目前,在本課程的教學實踐中大多選用的是比較流行且較為成熟的Visual C++ 6.0作為程序的集成開發(fā)環(huán)境。需要注意的是,C++語言本身的開發(fā)平臺是DOS的,而不是Windows的。Windows平臺提供了一個很好的程序框架,但是初學者的注意力很容易被吸引到程序框架上去,從而很難學好C++的基礎知識,因此在C++語言的實踐過程中,應該采用Visual C++ 6.0中的控制臺方式,在學習MFC編程的時候,再使用Visual C++ 6.0中的Windows程序框架。
3實踐內容的安排原則
在實踐內容的安排上,要注意把握以下幾個方面:
(1) 應少一些驗證性的實踐內容,多一些設計性、綜合性的實踐內容。
(2) 實踐的內容不僅要有針對性,更要能緊密聯系實際。實踐決不僅僅是為了掌握語法而設計,更重要的是解決實際問題。
(3) 實踐的內容盡可能要求學生能夠獨立設計、編程,教師在實踐中僅起引導和輔導的作用。進一步增強學生獨立分析問題、解決問題的能力。
(4) 通過實踐,不但對于課堂學過的內容進一步鞏固,而且還可以進行一定程度的創(chuàng)新,培養(yǎng)學生的創(chuàng)新能力。
4實踐內容的三個層次
對于本課程的實驗指導書,從以往的驗證性實驗居多的情況下,應逐步改進為將本課程實驗分為三個層次,即驗證性實驗、設計性實驗和綜合性實驗。
驗證性實驗是學生根據實驗指導書的要求,在教師指導下,按照既定的實驗步驟,完成全部實驗過程,以驗證課堂教學的理論,深化理論學習,培養(yǎng)學生基本實驗能力,使學生獲得實驗基礎訓練。如,熟悉C++程序的運行環(huán)境、運行一個C++程序的方法、數據類型與表達式等。
設計性實驗是由教師給定題目和要求,學生根據已掌握的基礎知識、基本理論,選擇相應的數據結構和算法,獨立完成實驗,寫出實驗報告,并進行綜合分析,培養(yǎng)學生動手能力、分析解決問題和創(chuàng)新思維的能力。同時,在實驗過程中,使學生初步了解編程的基本要求和一般程序,培養(yǎng)學生實事求是的科研態(tài)度和嚴謹的治學作風,為將來從事實際工作打下基礎。整個實驗過程中,學生都處于主動學習的狀態(tài),學習的目的非常明確,獨立思考,特別是創(chuàng)造性思維比較活躍,學生主動學習的積極性可以得到充分調動。如,程序的控制結構、函數的使用等。
綜合性實驗是指學生在學習和掌握一定的基礎性實驗原理、編程過程和實驗技能的基礎上,運用本課程的綜合知識或與本課程相關的課程知識,對所學知識進行優(yōu)化組合、綜合應用的實驗。此過程不僅使學生能夠更深刻的理解所學知識,而且在一定程度上也培養(yǎng)了學生運用已學知識解決各種實際問題的綜合能力。這對于培養(yǎng)創(chuàng)新人才、培養(yǎng)學生運用不同的思維方式和不同的編程方法綜合分析問題、解決問題的能力大有裨益。比如將類和對象、封裝、繼承和多態(tài)性的思想集成在一個綜合的與實際緊密結合的實驗中完成。
其中,驗證性的實驗盡量少一些,可以設在開始的1~2個實驗中,每個實驗中給出詳細的操作步驟,讓學生有章可循的進行實驗;設計性的實驗居多,只給出問題的描述和重要知識點的分析,由學生獨立設計并完成相應的任務;綜合性的實驗可以設在最后的1~2個實驗中,將本課程中重要的知識點進行綜合,完成一個綜合性實驗。
另外,在每次實驗結束時,對實驗內容進行驗收,并將實驗的完成情況記入平時成績中,這樣做不僅會提高學生學習的效率,同時也會激發(fā)學生學習的積極性。
4課程設計
在本課程的實踐環(huán)節(jié)中,除了設置20學時的實驗外,還針對Windows應用程序安排了1周的課程設計。對于這1周的課程設計,我們采用的是研究型學習方法,由學生在老師的輔導下,針對老師給定的題目或自選題目,進行相關的調研工作,進而完成相應的系統(tǒng)分析、設計、實現以及測試的相關任務,強調學生參與程序開發(fā)的全過程,并實現對所學知識的系統(tǒng)的總結和真正的融會貫通。
在這個環(huán)節(jié)中一定要注意是不要在整個課程設計完成之后才讓學生提交一份綜合的報告書,這樣一方面同學不注意積累階段性的成果和文檔,最終造成實習報告書的不完整;另一方面,有些同學會在整個設計的過程中沒有計劃性,前松后緊,以致最終敷衍了事,沒有真正達到課程設計的目的。因此,在整個課程設計的過程中要嚴格按照軟件工程的要求,分階段布置任務,并讓學生分階段地提交相應的文檔和實習成果,督促學生保質保量地按時完成課程設計的任務,真正實現課程設計的目的。
5改革的效果
對于本次“C++程序設計”課程的實踐教學的改革,在北京林業(yè)大學計算機科學與技術專業(yè)05級1、2、3、4班中進行了實踐,實踐后達到了以下的效果:
(1) 通過本課程的學習,學生不僅僅是掌握了語法,更重要的是掌握了常見的程序設計的算法,并能通過算法來進一步理解語法。
(2) 進一步激發(fā)了學生學習程序設計的興趣,增強了學生學習的主動參與性,減少了學生對編程的恐懼心理和畏難情緒。
6結束語
本次“C++程序設計”課程實踐環(huán)節(jié)的教學改革只是一個初步的成果,在今后的教學過程中還需要不斷地實踐、不斷地積累。在本課程的教學過程中,一定要注意激發(fā)學生學習的興趣和主觀能動性;加強學生的實踐能力,尤其是主動參與實踐的意識的培養(yǎng);使學生不僅掌握理論知識的學習,還具有較強的獨立的程序設計的能力。
參考文獻
[1] 陳志泊,王春玲. 面向對象的程序設計語言―C++[M]. 北京:人民郵電出版社,2002.
[2] 周立章. C++面向對象程序設計課程教學探索與實踐[J]. 西華大學學報(哲學社會科學版), 2005, 增刊: 257-258.
作者簡介
【關鍵詞】程序設計;教學改革;項目教學;
非計算機專業(yè)目前,絕大多數高等院校已經把計算機程序設計課程作為非計算機專業(yè)的一門公共基礎課,這是與培養(yǎng)學生應用計算機解決實際問題能力的人才培養(yǎng)基本要求相適應的,也是社會人才需求的選擇。但是,從多年計算機程序設計教學經驗發(fā)現,學生對程序設計課程的學習積極性、主動性不強,甚至很多學生對這門課程開設存在質疑。如何高質量的完成非計算機專業(yè)的程序設計課程教學,是筆者一直關注的問題。
1程序設計教學在非計算機專業(yè)中存在的問題
1.1學習目的模糊。學習目的不明確是非計算機專業(yè)學生學習程序設計課程的主要障礙。很多非計算機專業(yè)特別是文科、管理類等專業(yè)學生認為學好本專業(yè)知識就夠了,程序設計課程應該是選修課,對編程有興趣的就選修,沒興趣的就可以不選。這種認識的不足直接導致其在學習過程中缺乏主動性和積極性,對計算機程序產生畏懼甚至厭惡心理。
1.2知識跨度大,學習困難。盡管有計算機文化基礎作為入門,但兩門課程在邏輯思維上有著很大差別。計算機文件基礎屬于應用層面,程序設計課程是以某種程序設計語言為工具,通過分析、設計、編碼、測試等不同階段給出這種語言下的程序以達到解決特定問題的目的。程序設計需要建立程序設計思想,逐步深入到軟件本身的學習內容,進而達到熟練運用這種語言解決實際問題。程序設計課程在學習和理解上難度顯然比計算機文化基礎要大得多。
1.3教學方法陳舊。很多院校的這門課程仍以課堂講授為主,教師在講授過程中過于注重知識的傳授,如語法、語句、結構等概念性內容,算法設計、程序編寫、邏輯思維和抽象思維等能力方面的培養(yǎng)在教學內容中沒有充分體現,課堂教學沒能體現計算機在專業(yè)領域中的應用。
1.4缺乏綜合能力的培養(yǎng)。計算機程序設計是一門綜合性、實踐性很強的課程,由于課時的限制,學生的實踐課程更多的是驗證課堂上學過的知識和程序,而對包括邏輯思維能力、獨立思考能力、動手能力等學生綜合能力培養(yǎng)關注不夠,學生編程思想不能很好的建立起來,程序無從編起,出現“聽得懂,編不出”現象。
2程序設計課程在非計算機專業(yè)改革中的前期準備
2.1適應專業(yè)需求,選擇適合的程序設計語言。
選擇適合的程序設計語言對于非計算機專業(yè)學生而言至關重要。程序設計課程有面向對象程序設計和結構化程序設計。目前,絕大多數高校都會選取一門結構化語言作為程序設計課程,而且基本上是C語言。結構化程序設計語言具有自頂向下、逐步細化、模塊化設計、結構化編碼等特點,是一門實用又好用的程序設計語言。面向對象程序設計語言在概念的理解和編程思想上有很大的不同,相對學習起來也困難些。筆者認為選擇程序設計語言不能跟風,圖一時的省事,不同的學校有不同的特點,同一個學校還有不同專業(yè),所以選擇使用哪種語言作為程序設計課程使用第一要務是適合專業(yè)需要,同時兼顧社會需求。嘗試像Java這樣的面向對象程序設計語言也不失為一個很好的選擇,對于偏文科、管理類的專業(yè)可以選擇Visual Basic程序設計語言。
2.2做好教學設計,編制教學一體化設計方案。
依據對學習者學習需要的分析,采用項目引領教學,使教學效果達到最優(yōu)化,教學設計提出解決問題的最佳方案。在開課之前做好教學設計方案至關重要。
課程教學一體化設計方案編制體現優(yōu)化組合原則、因材施教的原則,按照項目引領教學,通過多種媒體教學資源和多種教學手段、方法的優(yōu)化組合,體現“以學生為主體”的教學思想。課程教學一體化設計方案的基本內容包括:課程性質、地位及課程教學目的等;課程的基本內容、各部分內容之間的關系、課程的主線、各主要知識點在教學上的要求等;課程媒體的數量、內容及在教學中的作用、媒體在自學和教學輔導中的分工、如何使用等;教學過程的組織、監(jiān)督與管理;教學安排建議包括面授輔導的次數、內容、形式及時間,討論、作業(yè)的安排等。
3程序設計課程在非計算機專業(yè)的改革思路
3.1以學生為中心,上好第一堂課。
為消除學習程序設計的為難情緒,激發(fā)學習熱情,提高學習興趣,我們認為第一節(jié)不僅需要給學生一個課程內容的概要介紹,更需要貫穿“以學生為中心”的教學理念,培養(yǎng)學生自主學習能力。
在課程內容安排上,我們會簡單講解程序設計是什么,它能完成什么任務,讓學生有一個基本而清晰的認識。重點結合實例講解對程序設計專業(yè)學習的促進作用,哪些方面要求大家具有使用計算機及編程語言解決問題的能力,還有國家二級計算機等級證書在多數用人單位招聘時會獲優(yōu)先錄用等實用信息內容。由于這些內容和大學學習以及就業(yè)緊密關聯,學生聽起來非常專注。在了解本專業(yè)對計算機能力的需求以及社會對專業(yè)人才計算機能力的要求后,學生往往會產生強烈的學習熱情,最起碼不質疑不排斥了。
3.2以項目為驅動,加強實踐教學。
程序設計是一門實踐性特別強的課程,學生只有在實際編程中不斷總結經驗,不斷理解編程思想,經過長時間的積累才能自由運用語言達到編程程序解決實際問題的能力。在教學過程中增加更多的實踐環(huán)節(jié),根據各階段教學的教學目標,設計合理可行的實踐項目,并對項目開展中出現的問題進行分析,解答主要問題,引導學生按照專業(yè)的開發(fā)流程開展項目。
3.2.1學生分組,確定項目負責人。改變傳統(tǒng)的課堂教學實驗只是為了驗證課本上或教師準備的實例的做法,注重項目的系統(tǒng)性和知識的綜合性。培養(yǎng)學生團隊合作意識,調動學生的主觀能動性出發(fā),采用項目組長負責制的分組方式。每組成員一般在3到5人,組長一人,負責項目設計的總體運行和任務分配。
3.2.2搭建開發(fā)平臺,選擇適合的開發(fā)工具。在搭建開發(fā)平臺時考慮將開發(fā)工具、數據庫、Web服務器等集成在一起的可視化開發(fā)環(huán)境,框架結構部分已由開發(fā)工具自動生成,減少不必要的編碼,又有“所見即所得”的效果。學生有了一定的程序設計基礎后,再使用非可視化的開發(fā)環(huán)境,鍛煉學生的程序設計能力。
3.2.3設計用戶界面,引入評價機制。為了學生容易上手可以先安排界面設計,這種先易后難、循序漸進的方法使學生產生滿足感、成就感,激發(fā)進一步學習的熱情。用戶界面設計出來后,首先各小組選派一人闡述設計思想,然后各小組互評,最后選出優(yōu)勝者,可以設計一些評價機制和鼓勵辦法,使學生不僅學會還要優(yōu)化。
3.2.4編寫程序代碼,建立程序設計思想。根據學生的實際接受能力,教師按照事先劃分好的任務,用實例對每一個知識點進行講解。教學過程中應避免面面俱到,貪多求全,像玩游戲一下盡可能讓枯燥的編碼充滿樂趣。對于學生,充分發(fā)揮項目組的作用,從軟件工程的角度出發(fā),適當使用一些其他的輔助工具,提高綜合運行能力,建立程序設計思想。
3.3 以人才培養(yǎng)為導向,改革考核方式。
以往的考核方式基本采用筆試+機考的方式進行。筆試和機考的內容、題型相對固定,特別是受考試時間的限制,基本沒有綜合項目設計方面的考核,考試成績不能反映學生的綜合能力,這樣就偏離了程序設計課程考核的本質,因此,提出以人才培養(yǎng)為導向的考核方式改革思路。
跟蹤學生的整個學習過程,通過教學過程中項目的完成情況考核學生的學習態(tài)度、知識的掌握程度和解決實際問題的能力。授課教師可以采用形成性考核方式+終結性考核兩種方式,形成性考核主要依據項目的完成情況,每完成一個項目考核一次作為平時成績;終結性考核安排在期末,要求學生選一個綜合類的項目進行演示,并回答由相關學科的教師組成評審組的問題,教師對項目評分形成期末成績,平時成績和期末成績的匯總就是這門課程的總成績。這種考核方式避免了學生平時不學習,期末突擊復習的弊端,達到了人才培養(yǎng)的目的。
參考文獻
[1]羅湛,鄧朝霞.非計算機專業(yè)C 語言教學改革探討[J].裝備制造技術.2013年第12 期:202-204.
[2]陸金鈺,秦慶東.面向土木專業(yè)人才培養(yǎng)的《計算機程序設計》課程改革實踐與探索.教育教學論壇.2014年第四期:213-215.