時間:2022-12-05 05:14:05
導(dǎo)言:作為寫作愛好者,不可錯過為您精心挑選的10篇高級語言程序設(shè)計,它們將為您的寫作提供全新的視角,我們衷心期待您的閱讀,并希望這些內(nèi)容能為您提供靈感和參考。
2《高級語言程序設(shè)計》實踐課程的教學(xué)設(shè)計
針對《高級語言程序設(shè)計》實踐課程教學(xué)中存在的諸多問題,教學(xué)時可按專業(yè)研究方向有所側(cè)重地進行教學(xué)設(shè)計,設(shè)計不同的教學(xué)導(dǎo)向、教學(xué)內(nèi)容、教學(xué)方法等。對電子信息類學(xué)生,可有所側(cè)重地加強該實踐課程與后續(xù)信號處理類課程,數(shù)學(xué)實驗與數(shù)學(xué)建模課程的聯(lián)系。
2.1加強該課程與信號處理類課程的聯(lián)系
信號與信息處理的方法和能力是電子信息類學(xué)生在專業(yè)學(xué)習(xí)中必須要求掌握的一個基本技能環(huán)節(jié)之一。其中,比較典型的課程有《算法與數(shù)據(jù)結(jié)構(gòu)》《數(shù)值分析與算法》《數(shù)字圖像處理》《語音信號處理》《信息隱藏技術(shù)》等。在《高級語言程序設(shè)計》實踐教學(xué)的教學(xué)內(nèi)容設(shè)計上,可將學(xué)生引導(dǎo)到信號處理的方向上來,增加相應(yīng)課程中涉及的特征參數(shù)提取,特征識別或判別、求解方程或某一類問題的算法實現(xiàn)等內(nèi)容,一方面增加了練習(xí)題目的針對性,趣味性,同時還提升了題目本身的難度和層次性。例如,《語音信號處理》課程的學(xué)習(xí)過程中,可以設(shè)計一個小型的系統(tǒng)辨識問題[2],讓學(xué)生完成10個孤立數(shù)字的語音識別問題。其中包括了語音特征參數(shù)的提取、特征的判別兩個環(huán)節(jié)。
2.2加強該課程和數(shù)學(xué)建模與數(shù)學(xué)實驗課程的聯(lián)系
數(shù)學(xué)實驗與數(shù)學(xué)建模是計算機和數(shù)學(xué)軟件引進教學(xué)后的新事物,是數(shù)學(xué)教學(xué)體系、內(nèi)容和方法改革的一項嘗試。以往我們對數(shù)學(xué)的學(xué)習(xí)著重在,通過嚴密的邏輯推理完成公式的推導(dǎo)、定理的證明和實現(xiàn)一些簡單快捷的計算,忽略了數(shù)學(xué)的實際應(yīng)用。對于大多數(shù)理工科大學(xué)生來說,將來的工作并不是數(shù)學(xué)領(lǐng)域的研究工作,更多的時候,他們很可能將以數(shù)學(xué)為工具來解決各種實際問題。數(shù)學(xué)實驗與數(shù)學(xué)建模課程正是鍛煉了學(xué)生這一方面的能力。另一方面,一次數(shù)學(xué)建模實驗過程相當(dāng)于進行一次小型科研活動,在一定程度上,培養(yǎng)了學(xué)生初步的科研能力。通過最近幾年的教學(xué)實踐和組織學(xué)生參加全國和國際大學(xué)生數(shù)學(xué)建模競賽活動,發(fā)現(xiàn)數(shù)學(xué)實驗和數(shù)學(xué)建模課程對學(xué)生科研能力的鍛煉有很大的促進作用,我們對該門課程的教學(xué)也著力在數(shù)學(xué)模型的建立和編程求解方面加強更多的聯(lián)系。下面就這方面談?wù)劷虒W(xué)實踐中的一些體會。在全國大學(xué)生數(shù)學(xué)建模競賽中有這樣一道題目[3-4]:2000年6月,人類基因組計劃中DNA全序列草圖完成,此后人類將擁有一本記錄著自身生老病死及遺傳進化的全部信息的“天書”。這本大自然寫成的“天書”是由4個字符A,T,C,G按一定順序排成的長約30億的序列,其中沒有“斷句”也沒有標點符號,除了這4個字符表示4種堿基以外,人們對它包含的“內(nèi)容”知之甚少,難以讀懂。破譯這部世界上最巨量信息的“天書”是21世紀最重要的任務(wù)之一。在這個目標中,研究DNA全序列具有什么結(jié)構(gòu),由這4個字符排成的看似隨機的序列中隱藏著什么規(guī)律,又是解讀這部天書的基礎(chǔ),是生物信息學(xué)(Bioinformatics)最重要的課題之一。雖然人類對這部“天書”知之甚少,但也發(fā)現(xiàn)了DNA序列中的一些規(guī)律性和結(jié)構(gòu)。例如,在全序列中有一些是用于編碼蛋白質(zhì)的序列片段,即由這4個字符組成的64種不同的3字符串,其中大多數(shù)用于編碼構(gòu)成蛋白質(zhì)的20種氨基酸。又例如,在不用于編碼蛋白質(zhì)的序列片段中,A和T的含量特別多些,于是以某些堿基特別豐富作為特征去研究DNA序列的結(jié)構(gòu)也取得了一些結(jié)果。此外,利用統(tǒng)計的方法還發(fā)現(xiàn)序列的某些片段之間具有相關(guān)性等。這些發(fā)現(xiàn)讓人們相信,DNA序列中存在著局部的和全局性的結(jié)構(gòu),充分發(fā)掘序列的結(jié)構(gòu)對理解DNA全序列是十分有意義的。作為研究DNA序列結(jié)構(gòu)的嘗試,提出對序列集合進行分類的問題。圖1就是發(fā)現(xiàn)的兩個DNA序列堿基結(jié)構(gòu),要求從中提取特征,構(gòu)造分類方法,完成特征表達并利用其進行判識。為完成上述任務(wù),一方面,從C語言程序設(shè)計過程來看,學(xué)生需考慮特征數(shù)據(jù)如何表達,采用什么數(shù)據(jù)類型,如何設(shè)計算法完成搜索查詢目標;另一方面,這是一個帶有挑戰(zhàn)性和實際意義的交叉學(xué)科問題,既擴展了學(xué)生的知識面,又增加了趣味性。這對提高高級語言程序設(shè)計實踐教學(xué)環(huán)節(jié)的教學(xué)效果是很有幫助的[5-6]。本文來自于《實驗科學(xué)與技術(shù)》雜志。實驗科學(xué)與技術(shù)雜志簡介詳見
“高級語言程序設(shè)計”是一門實踐性非常強的專業(yè)基礎(chǔ)課程。本課程是向?qū)W生介紹程序設(shè)計的基礎(chǔ)知識,要求學(xué)生掌握程序設(shè)計的基本概念,基本思想和基本技能,訓(xùn)練學(xué)生的實踐能力,培養(yǎng)學(xué)生的自學(xué)能力和創(chuàng)新能力并使之能將計算機技術(shù)應(yīng)用于本專業(yè)領(lǐng)域中。學(xué)習(xí)本門課程還為學(xué)生今后進一步學(xué)習(xí)“軟件技術(shù)基礎(chǔ)”課程打下理論基礎(chǔ),同時也為學(xué)生參加國家教委考試中心主辦的計算機二級等級考試做好準備。本文將對本課程的課堂教學(xué)方法進行總結(jié)和探索。
一、課堂教學(xué)內(nèi)容的調(diào)整和把握
本課程以譚浩強的“C語言程序設(shè)計”第三版作為教材,理論課時為20學(xué)時,上機學(xué)時為12學(xué)時。然而結(jié)合教學(xué)大綱,這門課程的教學(xué)內(nèi)容豐富,課程難度大,理論性和實踐性都很強,教學(xué)任務(wù)很重。尤其該課程面向的是大一的新生,絕大部分學(xué)生的計算機基礎(chǔ)幾乎為零,因此,在進行教學(xué)時,我很注意教學(xué)內(nèi)容的調(diào)整和組織。在課程講授之初,先從基本的語法規(guī)則入手,盡可能避免程序的出現(xiàn),讓學(xué)生先從簡單到復(fù)雜,從語法到算法,從學(xué)會看懂程序到編寫簡單的程序,然后逐步深入,把重點放在解題的思路上,通過大量的例題學(xué)習(xí)怎么設(shè)計一個算法,構(gòu)造一個程序。單純依靠課堂講解理論很單調(diào)枯燥,而且學(xué)生不容易理解和消化,遠遠不能滿足課程的教學(xué)要求,所以,在課程教學(xué)中,我引入了多媒體教學(xué)。多媒體教學(xué)在新課導(dǎo)入上有其獨特的效果,它能使學(xué)生充分利用他們的聽覺和視覺,調(diào)動他們的能動性,激發(fā)他們的興趣,以達到最佳的學(xué)習(xí)效果。同時,我還采用了打比方等方法,將抽象的概念變得形象化、具體化,簡單易懂,學(xué)生容易掌握,促進他們的不斷學(xué)習(xí)。比如,我在引入“程序”這個概念的時候,將程序比喻成要做的一道菜,需要一定的原料還有加工過程:菜=原料+加工,其中所要用的原料就對應(yīng)程序中的數(shù)據(jù)組織形式,即數(shù)據(jù)結(jié)構(gòu),而菜的加工過程就對應(yīng)程序的具體數(shù)據(jù)組織,即算法,也就是:程序=數(shù)據(jù)結(jié)構(gòu)+算法。另外,我還調(diào)整部分教學(xué)內(nèi)容,例如,我把第五章選擇結(jié)構(gòu)程序設(shè)計中的關(guān)系運算符和關(guān)系表達式、邏輯運算符和邏輯表達式以及條件運算符提前到第三章數(shù)據(jù)類型、運算符與表達式來集中介紹,先讓學(xué)生集中學(xué)習(xí),然后到以后章節(jié)遇到的時候再復(fù)習(xí),強化,方便學(xué)生對運算符和表達式的掌握。為了讓學(xué)生更好的理解整型、實型以及字符型等數(shù)據(jù)類型在內(nèi)存中的存放形式,我給學(xué)生首先補充講解了計算機中數(shù)的表示以及進制轉(zhuǎn)換、數(shù)值的原碼、反碼和補碼的表示方法。對于第二章算法的內(nèi)容在學(xué)生剛開始學(xué)習(xí)的時候不好理解和把握,我將其分解開來,貫穿到第四、五、六章順序程序、選擇程序以及循環(huán)程序的設(shè)計的學(xué)習(xí)中,方便學(xué)生更深刻的理解算法以及編程思維的培養(yǎng)。利用這些教學(xué)手段,有利于學(xué)生知識的獲取,從而突破教學(xué)的重點,淡化教學(xué)的難點,提高課堂教學(xué)質(zhì)量。
二、課堂提問在教學(xué)中的巧妙運用
大學(xué)的課堂教學(xué)中,有部分老師會將課堂提問的環(huán)節(jié)省略,課堂上只出現(xiàn)老師在講臺上講,學(xué)生在座位上聽的這種模式,不利于教學(xué)成果的檢測,教學(xué)質(zhì)量的提高也會受到很大的影響。教學(xué)是教與學(xué)的交流,師生雙方應(yīng)相互交流、相互溝通、相互啟發(fā)、相互補充。學(xué)生不應(yīng)處在被動地位,而應(yīng)積極地參與其中,與老師共同完成知識的傳授與接受過程。我在課堂教學(xué)中會專門設(shè)計課堂提問,來調(diào)動學(xué)生參與教學(xué)過程的積極性,活躍課堂氣氛。同時通過課堂提問,對學(xué)生知識水平的檢測,把握學(xué)生對已授知識的掌握程度,可以及時反饋教學(xué)信息,檢測教學(xué)效果好壞。再根據(jù)學(xué)生回答問題的情況,課后對自身的教學(xué)過程進行反思,不斷的改進教學(xué)方法和手段,成功的方面加以總結(jié),不足的地方分析原因,加以改進。例如,我常常會在課堂上書寫一些程序,讓學(xué)生將其讀懂,一方面,激活學(xué)生思維,讓他們能開動腦筋,積極思考,及時點評和總結(jié)學(xué)生的回答,另一方面,根據(jù)學(xué)生的回答情況,判斷學(xué)生對所講授的函數(shù)的理解和對所使用方法的掌握,來調(diào)整我的講授方法。我所授課的班級人數(shù)接近一百人,而且每周有一次課是在上午三四節(jié),通過課堂提問的方式,不僅讓我認識了很多學(xué)生,在很短的時間內(nèi)可以和學(xué)生更好的交流與溝通,而且可以刺激學(xué)生神經(jīng),提高學(xué)生的注意力,克服了學(xué)生在三、四節(jié)容易疲勞,聽課效果容易下降的毛病。學(xué)生回答問題的過程,既是一個開動腦筋、積極思考的過程,又是一個運用語言準確表達思維的過程。剛開始的時候,我發(fā)現(xiàn)班上有一些學(xué)生在課堂上不愿發(fā)言、不善發(fā)言、不敢發(fā)言,通過鼓勵與舉例,讓學(xué)生逐漸有敢于表達的意識,通過課堂提問,培養(yǎng)了學(xué)生的語言表達能力,鍛煉了他們在公眾場合大膽發(fā)言的心理素質(zhì)。學(xué)生每次都很積極,爭取他們的展示自我,鍛煉自我的機會。
三、重視和靈活安排上機實驗
上機實驗環(huán)節(jié)是本課程的重要環(huán)節(jié),上機實驗可以加深學(xué)生對課堂所學(xué)基本原理、典型方面和技術(shù)感性的認識,增強學(xué)生的動手實踐能力。通過上機實驗,使學(xué)生更深入地理解解決問題的基本思想方法,掌握基本的處理技術(shù),使學(xué)生更加認識到課程的重要性,激發(fā)他們刻苦學(xué)習(xí)的熱情,為將來應(yīng)用于實際和進行科學(xué)研究打下良好的基礎(chǔ)。本課程的上機學(xué)時所占比重很大,以前有很多老師在安排上機的時候都采用很集中的方式,只安排兩三次上機,而一次上機至少是四個學(xué)時,這樣的上機效果并不好,學(xué)生感到厭倦,而且不能解決逐漸暴露出來的一些實際問題。針對這種現(xiàn)象,我將上機實驗與課堂授課交替安排,在學(xué)生學(xué)習(xí)了一定的理論知識后就安排相應(yīng)的上機實驗,每次上機兩個學(xué)時,這樣既能有效緩解教學(xué)進度上學(xué)生普遍感覺的講解速度太快,超出他們所能接受的范圍,又能讓學(xué)生理論應(yīng)用于實踐,及時解決相應(yīng)的問題,增強動手能力,強化了所學(xué)習(xí)的知識點。針對學(xué)生上機實驗反映出的問題,再次回到課堂的時候又統(tǒng)一講解和強調(diào),加深學(xué)生的理解。比如,在給學(xué)生介紹常量、變量標示符的定義時,發(fā)現(xiàn)學(xué)生在上機使用的時候是很不規(guī)范的,隨意的使用一些字母就表示了變量,自己都不知道具體代表什么意思,我就多舉例,用PRICE表示價格,用sum表示所求的和,用max表示大等等,規(guī)范學(xué)生的標示符定義意識。在講循環(huán)結(jié)構(gòu)的時候,多舉例引導(dǎo)學(xué)生找尋循環(huán)規(guī)律,再用相應(yīng)的循環(huán)語句編程實現(xiàn),給學(xué)生灌輸規(guī)范的編程理念,上機的時候逐步實踐,積累自己處理實際問題的能力。學(xué)生平時的作業(yè)也能夠通過及時的上機來進行調(diào)試、更正,引導(dǎo)學(xué)生用自己的思維和方法來解決問題,而不是通過抄寫配套的上機指導(dǎo)上面的參考答案來應(yīng)付交差,讓學(xué)生更積極主動的去開動腦筋,同時更多地鍛煉了自己的動手能力。對每次實驗,我要求學(xué)生在用自己的算法處理每個實際問題并得到相應(yīng)的結(jié)果后寫出實驗報告和他們的上機心得以及對實驗的建議和要求,培養(yǎng)學(xué)生解決實際問題的能力和技巧。學(xué)生的積極性和熱情度是非常的高,不僅通過自己的努力得到了正確的實驗結(jié)果,把握了相關(guān)的知識點,還認真思考,給我提供了不少實驗改進的建議,便于我對實驗項目的調(diào)整和改進。同時通過上機實驗,可以使學(xué)生的思維開闊,將所學(xué)習(xí)的知識點融會貫通,可以使用不同的方法解決同一個問題,更好地將所學(xué)習(xí)的知識得以應(yīng)用。剛開始實驗的時候,我為了讓學(xué)生掌握相應(yīng)的知識點,可能就會針對性的設(shè)計一些題目,讓學(xué)生用當(dāng)堂課所學(xué)習(xí)的函數(shù)或方法來解決問題,到了后面學(xué)生接觸的函數(shù)更多了,我設(shè)計的題目就不會僅僅限于用一種函數(shù)或一種方法來解決,而是讓學(xué)生自由地發(fā)揮,只要能解決問題的方法都可以使用,同時讓學(xué)生比較不同方法之間的差異、優(yōu)劣,引導(dǎo)學(xué)生如何用更好的方法去解決問題。如用while語句和for語句來求解1到100的和,用條件運算符和關(guān)系運算符來實現(xiàn)比較兩個數(shù)或者是多個數(shù)的大小等。同時還鼓勵學(xué)生找程序的錯誤,上機時很多同學(xué)在編譯出錯后不會自己主動去找出問題所在,直接找老師,老師忙得不可開交,實際指導(dǎo)的效率并不高,因此我會調(diào)動學(xué)生相互改錯,對表現(xiàn)突出的學(xué)生給予一定的實驗課分數(shù)的獎勵。
四、改變考核方式
結(jié)合本課程的特點,我們采用筆試、上機考試以及平時作業(yè)相結(jié)合的綜合考查方式。筆試部分側(cè)重于基本概念、基本語法以及基本編程思想的理解和掌握。上機部分是讓學(xué)生在規(guī)定的時間內(nèi)解決給定的題目,上機調(diào)試通過。結(jié)合學(xué)生課堂回答問題和平時作業(yè)的完成以及上機調(diào)試改正的情況,構(gòu)成學(xué)生的平時成績??己酥?筆試占到60分,上機占到30分,平時占到10分。通過這樣的考核方式,激勵學(xué)生上課認真聽講,回答老師提出的問題,課后認真完成作業(yè),而不是相互抄襲,使得學(xué)生充分把握上機的寶貴時間,不斷的調(diào)試程序,解決語法錯誤,培養(yǎng)自己處理實際問題的能力,督促學(xué)生認真編寫程序,不再偷偷玩電腦游戲,同時經(jīng)過上機考試,讓學(xué)生積累臨場作戰(zhàn)經(jīng)驗,以適應(yīng)以后的計算機等級考試。
“高級語言程序設(shè)計”課程是實踐性很強的重要先修課程,研究探索有效的課堂教學(xué)設(shè)計實驗方法,可提高教學(xué)效率和質(zhì)量,加深學(xué)生對講課內(nèi)容的理解,激發(fā)學(xué)生學(xué)習(xí)興趣和鉆研精神,規(guī)范學(xué)生的編程思想,提高學(xué)生的應(yīng)用能力,為以后其他相關(guān)課程的學(xué)習(xí)和實踐奠定堅實的基礎(chǔ)。
中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2016)31-0110-02
Abstract:In recent years, all levels of schools in our country are trying to use the flipped classroom teaching mode, advanced language programming is an important compulsory course for students in our university,it aims to cultivate students' computer programming ability and practical application ability. Compared with the traditional teaching mode, the flipped classroom teaching mode has more advantages,it can effectively stimulate the students' thirst for knowledge and learning enthusiasm for program design courses. To this end, it is necessary for college teachers to study the implementation of the flipped classroom actively.
Key words:Teaching mode; Flipped Classroom; Advanced language programming
1 引言
隨著2011年美國可汗學(xué)院的興起及大型開放式網(wǎng)絡(luò)課程MOOC的迅速發(fā)展,翻轉(zhuǎn)課堂教學(xué)開始風(fēng)靡中國,受到教育界的廣泛關(guān)注,大量的大中小學(xué)教師開始利用翻轉(zhuǎn)課堂進行各種課程教學(xué),并不斷地進行更深入細致的探索。
祝智庭對翻轉(zhuǎn)課堂進行了較為準確的界定,翻轉(zhuǎn)課堂實施過程的實質(zhì)就是將傳統(tǒng)教學(xué)模式的“知識傳遞”與“知識內(nèi)化”兩個過程反轉(zhuǎn),知識傳遞過程從課堂上轉(zhuǎn)移至課堂下或家庭中,從時間和空間兩個維度實現(xiàn)學(xué)習(xí)過程的完整翻轉(zhuǎn),是“先學(xué)后教”的教學(xué)新范式。[1]
翻轉(zhuǎn)課堂即課堂內(nèi)外進行翻轉(zhuǎn),教師應(yīng)設(shè)計好教學(xué)過程,制作相關(guān)的學(xué)習(xí)視頻,要求學(xué)生在上課之前自行觀看,讓學(xué)生對新知識進行學(xué)習(xí),也就是課外先完成課程的自學(xué),學(xué)生將學(xué)習(xí)中遇到的問題反饋給教師,在課堂上主要是對這些疑問進行解答等。翻轉(zhuǎn)課堂在理論上是很成功的,但是在不同課程的實施過程中總會存在一些具體問題,尤其在這種模式還不甚成熟的時候。
高級語言程序設(shè)計作為我校學(xué)生的一門公共課,也是一門重要的必修課,旨在培養(yǎng)學(xué)生的計算機編程能力、實際應(yīng)用能力,是實踐性非常強的一門課程。如何更好地進行課程的教學(xué)是一名計算機教師急需研究的問題。筆者認為翻轉(zhuǎn)課堂作為一種目前較為流行的教學(xué)模式在高級語言程序設(shè)計課程的教學(xué)中應(yīng)用極具研究意義。
2 翻轉(zhuǎn)課堂相對傳統(tǒng)教學(xué)方式的優(yōu)勢
教師、學(xué)生、教學(xué)內(nèi)容是課堂教學(xué)不可缺失的三個基本元素。除此之外,教學(xué)方法、教學(xué)手段、教學(xué)技術(shù)等也是課堂教學(xué)的構(gòu)成因素。這些都直接影響到教學(xué)質(zhì)量。教育普遍面臨著教學(xué)對象的個體性,也就是說我們所面對的學(xué)生水平的不一致。翻轉(zhuǎn)課堂作為一種新的教學(xué)模式,尊重學(xué)生的個體差異,體現(xiàn)了以學(xué)生為中心的人性化教育。
對于高級語言程序設(shè)計課程來說,學(xué)生的學(xué)習(xí)基礎(chǔ)不盡相同,有些同學(xué)在開課之前可能對課程有了一定的基礎(chǔ),有些同學(xué)可能從未接觸過。此外,學(xué)生接受知識的速度能力也不可能同步。傳統(tǒng)的教學(xué)方式是教師在課堂上完成知識的講授,在有限的時間內(nèi)學(xué)生獲得的知識有所差別,可能有些同學(xué)已經(jīng)完全理解了所有知識點,有些同學(xué)卻一知半解,甚至不知所云。這種點對面的傳授方式主要以教師為中心,沒有也不可能實現(xiàn)教學(xué)以學(xué)生為中心。而翻轉(zhuǎn)課堂可以很好地解決這個問題,教學(xué)內(nèi)容的自學(xué)是在課外完成的,學(xué)生可以根據(jù)自己的學(xué)習(xí)基礎(chǔ)、個人能力合理地安排學(xué)習(xí)的時間、空間,此時教師對學(xué)生的知識講授其實已經(jīng)從點對面轉(zhuǎn)變成點對點。
傳統(tǒng)的教學(xué)方式中除了教師的講授,為了更好的教學(xué)效果,一般會加強師生之間的互動,但是往往教師關(guān)注的是那些在課堂上較為活躍的學(xué)生或者是一些較為優(yōu)秀的學(xué)生,或者說這些學(xué)生會主動引起教師的關(guān)注,而大多數(shù)有較多疑問的同學(xué)可能因為不好意思提出問題,或者因為有太多疑問無從提問,并不會主動提出問題。這樣明顯不利于課程后續(xù)的學(xué)習(xí)。翻轉(zhuǎn)課堂卻能更好地避免這類問題的出現(xiàn),學(xué)生向教師提出問題,這個過程不再局限在課堂上,也可以是在課外以其他方式實現(xiàn)。這樣教師在課堂上解決問題時,其實關(guān)注的對象已經(jīng)變成學(xué)習(xí)上有困難的學(xué)生。
3 翻轉(zhuǎn)課堂實施方案研究
以高級語言程序設(shè)計課程來講,翻轉(zhuǎn)課堂教學(xué)模式非常適合這類計算機課程。翻轉(zhuǎn)課堂的基本步驟是教師先制作學(xué)習(xí)視頻,然后學(xué)生在課后自選時間完成課程知識點的自學(xué),最后在課堂上教師解答問題。實際實施過程中當(dāng)然也會遇到很多細節(jié)問題。
首先,教師視頻的設(shè)計和錄制是課前必需的準備工作,教師制作的視頻質(zhì)量直接關(guān)系學(xué)生的學(xué)習(xí)效果。教師制作的視頻可以分為知識點視頻和綜合知識視頻。知識點視頻也就是將各知識點分別制作成小視頻,學(xué)生依次先觀看這些小視頻,視頻最后是教師提出的一個小問題,學(xué)生可以通過完成這些問題來檢驗自己對知識點是否基本掌握。完成這部分學(xué)習(xí)后,再進行綜合知識視頻學(xué)習(xí)。綜合知識視頻的主要內(nèi)容是根據(jù)某個章節(jié)的多個知識點綜合而成的例題的演示。學(xué)生觀看視頻后再完成一個相似例題以檢學(xué)習(xí)成果。這種模式可以促進學(xué)生根據(jù)自己的能力合理地安排自己的學(xué)習(xí)時間,可以利用課后的各種碎片時間。此外,碰到較復(fù)雜的知識,學(xué)生可以通過多次反復(fù)播放視頻來加深理解。由于視頻是課前準備,這就意味著不需要像傳統(tǒng)課堂上課一樣必須是教師本人在指定時間空間進行,也就是說我們完全可以群策群力,集合整個課程組的所有教師,集思廣益,尤其是充分聽取有經(jīng)驗的高職稱教師的建議,設(shè)計制作出高水平的視頻,這樣相當(dāng)于學(xué)生在接受最高水平教師的教學(xué),教學(xué)質(zhì)量也不再簡單依賴于某個任課教師的教學(xué)水平。
第二,學(xué)生的積極性會直接影響翻轉(zhuǎn)課堂的教學(xué)效果。翻轉(zhuǎn)課堂要求學(xué)生具有較高的學(xué)習(xí)自覺性。課前學(xué)生需要自行選擇時間去觀看學(xué)習(xí)視頻,如果學(xué)生本身自覺性不高,課前并沒有按照要求去觀看學(xué)習(xí)視頻,那么將造成嚴重的后果,在接下來的課堂學(xué)習(xí)將無事可做,o話可說。對于一些知識較為連貫的章節(jié),一次學(xué)習(xí)的缺失將會導(dǎo)致后續(xù)更多問題出現(xiàn)。所以筆者認為任課教師在不了解授課班級學(xué)生學(xué)習(xí)態(tài)度的情況下,可以先試行翻轉(zhuǎn)課堂模式,通過前幾次課的情況首先摸清學(xué)生情況。考慮到當(dāng)前學(xué)生中存在學(xué)習(xí)主動性不高的問題,不一定要每節(jié)課都采用翻轉(zhuǎn)課堂的教學(xué)模式,而是根據(jù)學(xué)生情況、教學(xué)內(nèi)容等采取多種教學(xué)模式結(jié)合靈活應(yīng)用,比如任務(wù)驅(qū)動法等。在教學(xué)中應(yīng)該充分考慮如何提高學(xué)生的學(xué)習(xí)興趣,可以采用案例式的教學(xué)方式,給出一個結(jié)合教學(xué)要求和能引起大家興趣的案例,引導(dǎo)大家一步步地完成,這樣學(xué)生不僅能獲得成就感,而且會覺得自己學(xué)習(xí)的知識是有用的、有趣的。這樣良性的循環(huán),在學(xué)生培養(yǎng)出一定的學(xué)習(xí)積極性后,翻轉(zhuǎn)課堂取得的效果才能真正提高。
第三,課堂設(shè)計是翻轉(zhuǎn)課堂效果提升的關(guān)鍵。課前的自學(xué)當(dāng)然和學(xué)生本身的自覺性、理解力等息息相關(guān),但是在同等情況下,課堂上教師對學(xué)生學(xué)習(xí)的指導(dǎo)是學(xué)生對知識理解層次提高的重要因素。如何進行課堂的設(shè)計成為教師必須認真考慮的問題。課堂不僅僅是對學(xué)生提出問題的簡單解答,這要求教師有較高的課堂教學(xué)設(shè)計水平以及對課程內(nèi)容的把控。在課前教師對學(xué)生在課前自學(xué)過程中的疑問要有比較清楚的認知,這些認知可能是來自教師在多年教學(xué)過程中的經(jīng)驗,也來自當(dāng)前班級學(xué)生的各種渠道的反饋。教師應(yīng)合理安排課堂時間,不僅僅是簡單地對學(xué)生提出的問題簡單羅列和解答,應(yīng)該從這些問題中分析學(xué)生學(xué)習(xí)不足的實質(zhì),同樣知識點合并,同一知識點由淺入深、不同知識點的先后次序都是必須考慮的問題。對于非常重要、核心的知識,就算學(xué)生沒有提出疑問,還是需要通過課堂練習(xí)的方式加深學(xué)生印象或加以檢驗考核。
4 結(jié)論
將翻轉(zhuǎn)課堂應(yīng)用于高級語言程序設(shè)計課程,學(xué)生課前自行觀看教學(xué)視頻完成小練習(xí),課堂上教師解決疑問及檢驗學(xué)生的學(xué)習(xí)效果,此種教學(xué)模式相比傳統(tǒng)教學(xué)模式來說,更加有利于提高學(xué)生學(xué)習(xí)興趣,促進學(xué)生學(xué)習(xí)積極性,進一步提升學(xué)生學(xué)習(xí)效果,有利于培養(yǎng)學(xué)生的自學(xué)能力和應(yīng)用能力。
參考文獻:
[1] 祝智庭,賀斌,沈德梅.信息化教育中的逆序創(chuàng)新[J].電化教育研究,2014,35(3):5-12.
[2] 張文文.“翻轉(zhuǎn)課堂”對我國教育改革的啟示[J].湖北第二師范學(xué)院學(xué)報,2016,33(5):113-115.
[3] 唐君.“翻轉(zhuǎn)課堂”三問我國高校教學(xué)[J].天中學(xué)刊,2015,30(5):136-138.
[4] 戴寧,曹輝.“互聯(lián)網(wǎng)+教育”:顛覆、應(yīng)對與重構(gòu)[J].教育與教學(xué)研究,2016,30(7):16-20.
[5] 彭娟,夏飛.“慕課”對地方應(yīng)用型高校教學(xué)的沖擊與應(yīng)對策略[J].湖南第一師范學(xué)院學(xué)報,2016,16(3):60-63.
中圖分類號:G642 文獻標識碼:B
1引言
“高級語言程序設(shè)計”是各類學(xué)校計算機相關(guān)專業(yè)的一門重要的專業(yè)基礎(chǔ)課,許多學(xué)校都將其安排在新生入學(xué)后的第一學(xué)期開設(shè)。
對剛接觸這門課程的學(xué)生而言,“高級語言程序設(shè)計”課程的中心內(nèi)容包括兩個部分:高級語言和程序設(shè)計。從高級語言和程序設(shè)計的關(guān)系來說,程序設(shè)計應(yīng)該是這門課程的核心內(nèi)容。
對于如何搞好“高級語言程序設(shè)計“的教學(xué),不同的人有不同的看法。筆者在多年的教學(xué)實踐中,多次嘗試采用“功能意念教學(xué)法”,取得了教好的效果。本文就是這一教學(xué)法的簡單總結(jié)。
2功能意念教學(xué)法
“高級語言程序設(shè)計”的功能意念教學(xué)法就是從程序的一般功能、程序的一般結(jié)構(gòu)以及程序設(shè)計的一般過程出發(fā),按照功能+意念+機制的方式組織教學(xué)。簡單地說,就是為了設(shè)計一個程序,先解決我們需要做些什么,然后解決程序需要做些什么,最后解決高級語言怎么做到等一序列問題,也就是從問題和任務(wù)出發(fā)進行教學(xué)。
以上所述主要圍繞程序最基本的功能展開,至于其它功能部分,比如C語言的編譯預(yù)處理、宏、模塊化、混合語言編程、指針、文件、鏈表等,也可以從功能意念的角度展開教學(xué)。
在具體實施教學(xué)的過程中,可以根據(jù)教學(xué)要求按照自頂向下的原則制定出所教授的高級語言的基本功能意念表,以方便教學(xué)。
3算法的意念作用
筆者認為,程序設(shè)計其實就是為了解決某個問題而從我們所熟悉的程序設(shè)計語言中挑選合適的語句做一個適當(dāng)?shù)呐帕薪M合。
在上面的這段話中,明顯地有兩個值得我們進一步探討的關(guān)鍵詞:合適的語句和適當(dāng)?shù)呐帕薪M合?,F(xiàn)在我們的問題是,如何挑選合適的語句?又怎樣做適當(dāng)?shù)呐帕薪M合?
這兩個問題的解決有賴于所謂算法的概念。因此,為了解決這兩個問題,我們必須針對面臨的具體問題設(shè)計出有效的算法。
算法是解決特定問題的一序列操作的集合,代表的就是一種意念,換言之,就是設(shè)計者所希望的對數(shù)據(jù)進行加工處理的有序的步驟。這種操作步驟的有序性就決定了如何對所挑選的語句做適當(dāng)?shù)呐帕薪M合。
由粗到細是我們解決問題的一種典型的思維過程。按照這一思維特點,算法設(shè)計也有一個由粗到細的過程,即算法細化。
算法細化要適可而止,即有一個度的問題,那么我們又該如何把握這個度呢?一般而言,算法細化只要細化到其中的每一操作步在準備采用的語言中都能找到對應(yīng)的語句直接加以實現(xiàn)即可,而且也必須細化到這種程度!算法細化好了,如何挑選合適的語句也就解決了。
總之,算法決定了如何挑選合適的語句以及怎樣對所挑選的語句做適當(dāng)?shù)呐帕薪M合!因此有了算法,我們只需要通過很簡單的翻譯轉(zhuǎn)換就可以很容易地得到程序。
4高級語言的相關(guān)功能成分
高級語言是書寫和記錄程序的工具。為了適應(yīng)程序的功能需要,高級語言自然應(yīng)該提供相應(yīng)的手段或機制讓程序設(shè)計人員借以實現(xiàn)所需要的程序功能,高級語言的相關(guān)功能成分指的就是這些手段和機制。
4.1數(shù)據(jù)安排機制
高級程序設(shè)計語言中的數(shù)據(jù)安排機制主要體現(xiàn)為用于定義常量、變量、數(shù)組和記錄(或結(jié)構(gòu)體)等的功能成分。單純從語言成分的角度來看,這些功能的實現(xiàn)主要是由一組和數(shù)據(jù)類型有關(guān)的關(guān)鍵字來體現(xiàn)的。換言之,高級語言為我們提供了一組與數(shù)據(jù)類型有關(guān)的關(guān)鍵字以便程序設(shè)計人員根據(jù)自己的意愿對數(shù)據(jù)空間進行組織和安排。以C語言為例,這些關(guān)鍵字主要有:char、int、float、double、struct以及signed、unsigned、short、long,等等。在源程序中來看,數(shù)據(jù)空間的組織和安排都是通過基于上述關(guān)鍵字的數(shù)據(jù)定義語句來實現(xiàn)的,比如:
1)int abc;
2)char abc[12] ;
3)*float abc;
4)struct abc{x char;y int;z float;}
struct abc xyz;
作為程序設(shè)計的工具,為了盡可能給程序設(shè)計人員帶來方便,高級語言除了支持基本數(shù)據(jù)類型外,還支持用戶自定義類型,如上面的例4)。
4.2數(shù)據(jù)I/O機制
高級語言中的數(shù)據(jù)I/O機制主要體現(xiàn)為各種用于數(shù)據(jù)輸入/輸出的語句或函數(shù)(庫函數(shù))等。在C語言中,這些函數(shù)常用的有:
fprintf、printf、sprintf、vprintf、vfprintf、vsprintf、
fscanf、scanf、sscanf、fgetc、fputc、getc、putc、getchar、putchar、fgets、fputs、pus、gets等。
以上列出的是所謂系統(tǒng)預(yù)定義函數(shù),即標準函數(shù)或庫函數(shù)。此外,用戶還可以根據(jù)自己的需要以上述標準函數(shù)為基礎(chǔ)自行定義一些可以得到某些特殊I/O效果的函數(shù)。
4.3數(shù)據(jù)處理機制
前面已經(jīng)提到,數(shù)據(jù)的內(nèi)部加工處理主要包括數(shù)據(jù)在主機內(nèi)部的傳送和各種運算,高級語言的數(shù)據(jù)處理機制就
是指為此目的而提供的各種運算符。在C語言中,這些運算符包括為數(shù)據(jù)傳送提供的賦值運算符“=”和為數(shù)據(jù)運算提供的算術(shù)運算符“+、-、*、/、%、++、--”、關(guān)系運算符“>、>=、
4.4流程控制機制
高級語言中的流程控制機制主要體現(xiàn)為用來實現(xiàn)分支程序結(jié)構(gòu)、循環(huán)程序結(jié)構(gòu)以及子程序結(jié)構(gòu)的功能成分,換言之,就是分支語句、循環(huán)語句以及子程序的定義和調(diào)用機制等。在C語言中,這些語句包括:if語句、switch語句、goto語句、break語句、continue語句、for語句、while語句、do…while語句以及return語句等。
5結(jié)束語
歷史上高級程序設(shè)計語言有好多種,目前仍然流行的也有好幾種,而且還在不斷的推陳出新。從“功能意念”的角度,不難看出,所有的高級語言都應(yīng)該有相類似的功能成分,以解決程序設(shè)計所面臨的共同問題。因此,只要我們認真地學(xué)好一種語言,重點掌握好程序設(shè)計的一般思想方法,就可以很容易地掌握另外一種。從一種語言過渡到另一種語言,從語言的角度來說,只不過是一種形式上的轉(zhuǎn)換而已,它們的內(nèi)容(程序的功能)和程序設(shè)計的思想和方法卻總是相通的。
參考文獻:
[1] 譚浩強. C程序設(shè)計(第三版)[M]. 北京:清華大學(xué)出版社,2005.
[2] Brian W.Kernighan, Dennis M. Ritchie. C程序設(shè)計語言(第二版)[M]. 北京:清華大學(xué)出版社,2002.
[3] Bruce Eckel著. 劉宗田等譯. C++編程思想第1卷:標準C++導(dǎo)引[M]. 北京:機械工業(yè)出版社,2002.
高級語言程序設(shè)計是大部分高校計算機專業(yè)本科生接觸的第一門計算機語言課程,是計算機專業(yè)的核心課程,也是數(shù)據(jù)結(jié)構(gòu)、軟件工程等后續(xù)專業(yè)課的基礎(chǔ),其教學(xué)效果的好壞直接影響到學(xué)生對計算機軟件開發(fā)的認識和后續(xù)課程的學(xué)習(xí)。傳統(tǒng)的教學(xué)側(cè)重于知識的傳授,對學(xué)生的學(xué)習(xí)興趣等因素重視不夠。筆者在多年的高級語言程序設(shè)計課程教學(xué)實踐和研究中深深體會到,培養(yǎng)、激發(fā)和提高學(xué)生對課程的興趣對提高教學(xué)質(zhì)量具有至關(guān)重要的意義,濃厚的學(xué)習(xí)興趣是搞好課程教學(xué)、提高學(xué)生學(xué)習(xí)效果的關(guān)鍵。如何培養(yǎng)、激發(fā)和提高學(xué)生的學(xué)習(xí)興趣,是一個值得廣大計算機教育工作者深入研究和探索的問題,本文將結(jié)合筆者多年的教學(xué)經(jīng)驗和對本科計算機教學(xué)改革的嘗試,從6個方面來探究這個問題,并給出相應(yīng)的方法。
1融洽師生感情,創(chuàng)造良好學(xué)習(xí)氛圍
興趣是一種巨大的激勵學(xué)習(xí)的潛在力量,也是人們認識某種事物或愛好某種活動的傾向,這種傾向總是和一定的情感相聯(lián)系。美國心理學(xué)家布魯納提出:“學(xué)習(xí)的最好刺激是對所學(xué)材料本身發(fā)生興趣,興趣可以孕育愿望,可以滋生動力[1]”。當(dāng)一個學(xué)生對自己所學(xué)的知識產(chǎn)生興趣時,他就會積極主動地去學(xué)習(xí)探索,而不會把學(xué)習(xí)看成是負擔(dān)。濃厚的學(xué)習(xí)興趣會
使學(xué)生對知識的世界進行積極地、不懈的追求和探索,充滿激情,會主動克服所遇到的一切困難。正如孔子所說:“知之者不如好之者,好之者不如樂之者?!?學(xué)生具有明確的學(xué)習(xí)目的、高昂的學(xué)習(xí)情緒、濃厚的學(xué)習(xí)興趣、強烈的學(xué)習(xí)愿望,是學(xué)好課程的最重要的內(nèi)部動力。據(jù)國外學(xué)者研究發(fā)現(xiàn),獲得成功的諸因素中,興趣占25%,而失敗的諸因素中,缺乏興趣占35%,足見興趣在取得成功中所起的重要作用。
培養(yǎng)學(xué)生的學(xué)習(xí)興趣,首先要搞好師生之間的關(guān)系。古語云:“親其師、信其道?!睅熒g感情上的融洽程度,會直接影響到學(xué)生對課程的喜好程度,以至影響最終的教學(xué)效果。要想使學(xué)生喜歡老師,教師必須從自身做起。良好的道德修養(yǎng)和高尚的人格魅力,認真的工作態(tài)度及扎實、豐富的知識,是愛學(xué)生和被學(xué)生愛的教師的內(nèi)在需求。教師首先要自修,自身素質(zhì)好的教師,才能對學(xué)生產(chǎn)生吸引力,有了這個吸引力,學(xué)生才會悅納老師。其次要尊重學(xué)生,關(guān)愛學(xué)生,公平對待每一個學(xué)生。只有這樣,學(xué)生才會真正喜歡上老師,進而可能喜歡這個老師上的課程。
2讓學(xué)生一開始就認識到課程的重要性
要想培養(yǎng)學(xué)生的學(xué)習(xí)興趣,就要讓學(xué)生一開始就認識到課程的重要性。任何人對事物的認識都是由淺入深,學(xué)生對一門課程的認識也是如此,剛開始還沒有意識到該課程的重要性或者認識不深,隨著教學(xué)的深入,學(xué)生逐漸認識到課程的重要性,等到認識全面的時候已經(jīng)到了學(xué)期的期末,想要好好學(xué)習(xí)卻已經(jīng)有些晚了。為此,作為教師有必要在剛開始的教學(xué)活動中,讓學(xué)生充分認識到課程的重要性,認識到該課程無論是在專業(yè)體系中還是在日常生活中都是至關(guān)重要的,讓學(xué)生在主觀上重視起來,進而有動力去學(xué),并在學(xué)習(xí)中逐漸體會到學(xué)習(xí)的樂趣,從而對課程建立起濃厚的學(xué)習(xí)興趣。
在講授高級語言程序設(shè)計時,教師除了在第一次課上向?qū)W生介紹課程在計算機專業(yè)體系中所處的地位及作用外,還需結(jié)合課堂內(nèi)容給學(xué)生列舉高級語言在生產(chǎn)實踐中的應(yīng)用及其發(fā)展前景,使學(xué)生意識到學(xué)習(xí)高級語言確實學(xué)有所用,無論是對社會發(fā)展還是對自身就業(yè)都有所幫助,這樣學(xué)生就會對這門課程更感興趣,也更有動力去學(xué)。
3精心選擇例題
由于沒有編程經(jīng)驗,大部分學(xué)生接觸到這門課程時,對編程會感到非常新奇、好玩,但隨著課程中大量的語法規(guī)則、概念的不斷引入,問題難度的逐漸加大,其中一部分甚至是大部分學(xué)生會感覺枯燥無味。為了使學(xué)生保持最初的好奇心乃至轉(zhuǎn)化為學(xué)習(xí)興趣,需要教師在教學(xué)過程中精心地選擇例題。
1) 選擇趣味性的例題。
在課堂和實踐教學(xué)過程中可選擇一些趣味性的例題,如“撲克牌洗牌”、“百錢買百雞”、“愛因斯坦階梯”等。這些充滿樂趣的問題有利于學(xué)生輕松愉快地學(xué)習(xí)、積極主動地思考,而且印象深刻。
2) 選擇能夠解決實際問題的例題。
傳統(tǒng)的高級語言程序設(shè)計教學(xué)主要以語法規(guī)則的逐步深入為線索來進行教學(xué),這種方法有利于學(xué)生對語法知識循序漸進地學(xué)習(xí),但往往是學(xué)生學(xué)了大半學(xué)期,學(xué)會了語法規(guī)則,卻不知道這些語法規(guī)則有什么用,最終的后果是所學(xué)和所用嚴重脫節(jié)。因此在教學(xué)過程中,筆者所在教學(xué)梯隊精心設(shè)計了一些能解決實際應(yīng)用問題的案例,每一章安排一個比較完整而且有實際應(yīng)用價值的實例,例如:求玉米地產(chǎn)量、求綠化帶面積、學(xué)生成績管理、圖書卡管理等日常生活中能遇到的實際應(yīng)用問題。在教學(xué)過程中引導(dǎo)學(xué)生首先把實際問題轉(zhuǎn)換成為數(shù)學(xué)問題,再為數(shù)學(xué)問題的求解尋找合適的方法,然后為實現(xiàn)計算方法給出具體的算法,最后利用高級語言編寫程序、調(diào)試、測試。針對每一個問題,都引導(dǎo)學(xué)生學(xué)會如何分析問題、解決問題,而不是只去學(xué)語法規(guī)則。這樣學(xué)生就能了解如何利用計算機解決現(xiàn)實世界中的問題,從而增加他們學(xué)習(xí)的動力和積極性。當(dāng)然,在案例的編排上,要注意結(jié)合語法規(guī)則的循序漸進。
3) 在游戲中快樂學(xué)習(xí)。
游戲是絕大部分學(xué)生都喜歡做的一件事情,如果能把知識的學(xué)習(xí)融入到游戲中去,就能寓教于樂[2]。高級語言程序設(shè)計的目的是讓學(xué)生熟練掌握一門計算機高級語言,熟悉利用該語言開發(fā)軟件的過程,進而解決實際問題。高級語言本身的基礎(chǔ)知識和基本操作的學(xué)習(xí)相對來說比較枯燥乏味,但是我們不能把枯燥乏味帶給學(xué)生,使學(xué)生對學(xué)習(xí)失去興趣,要使學(xué)生在快樂中學(xué)習(xí)。正因為這些,在計算機教學(xué)設(shè)計中要充分利用游戲的作用,利用游戲的精彩,提高學(xué)生學(xué)習(xí)計算機的興趣。
計算機游戲非常多,從掃雷、五子棋到三國等,教師可以引導(dǎo)學(xué)生利用所學(xué)的計算機高級語言來編寫一些簡單的游戲,不僅可以鍛煉學(xué)生的邏輯思維能力,而且可以讓學(xué)生在快樂中掌握該種語言的基礎(chǔ)知識、熟悉開發(fā)項目的過程,更能激發(fā)學(xué)生的學(xué)習(xí)興趣。學(xué)生在游戲過程中生動地學(xué)習(xí),在學(xué)習(xí)過程中快樂地游戲,從而達到預(yù)期的教學(xué)目的。
0引言
醫(yī)藥院校計算機專業(yè)的教學(xué)目標是培養(yǎng)出能夠服務(wù)于中醫(yī)藥行業(yè)的計算機專業(yè)技術(shù)人才[1]。為使學(xué)生能夠?qū)⒂嬎銠C和中醫(yī)藥知識進行有機的結(jié)合,更好的發(fā)揮專業(yè)優(yōu)勢和特長,本文探索了與中醫(yī)藥特色相適宜的“高級語言程序設(shè)計實驗”教學(xué)模式,進行了實驗課程教學(xué)創(chuàng)新模式的改革。
在實驗教學(xué)過程中,我們設(shè)計一些由易到難的以中醫(yī)藥作為背景的實驗案例,有意的對學(xué)生進行引導(dǎo),促進學(xué)生對中醫(yī)藥院校計算機專業(yè)課程體系全面而又深入的理解,逐步找到計算機和醫(yī)學(xué)的契合點,為學(xué)生將來在計算機學(xué)科和醫(yī)學(xué)兩個學(xué)科領(lǐng)域進行交叉學(xué)科的科學(xué)研究工作打下良好的基礎(chǔ),成為真正有特長、有特色的計算機專業(yè)人才。
1實驗教學(xué)存在的問題
1.1學(xué)生缺乏學(xué)習(xí)的主動性
以往的實驗教學(xué)大體上實行的是“課前預(yù)習(xí)——課堂實驗——課后學(xué)生完成實驗報告——教師評閱并評定成績”的串行模式,在本質(zhì)上還是應(yīng)試教育。因為相當(dāng)比例的學(xué)生的實驗?zāi)康氖峭ㄟ^考核或者得到好的分數(shù),所以常會出現(xiàn)學(xué)生不重視預(yù)習(xí),實驗時感到內(nèi)容枯燥,缺乏主觀能動性,課后不認真總結(jié)思考,甚至出現(xiàn)缺課、抄襲報告等現(xiàn)象,學(xué)生提交的實驗報告無法全面反映取得的實驗效果,教師只憑實驗報告評定成績有失真實,也無法真正了解學(xué)生的學(xué)習(xí)情況。
1.2 缺乏與中醫(yī)藥知識的結(jié)合
由于中醫(yī)藥院校的計算機專業(yè)在課程設(shè)置上具有中醫(yī)藥特色,有一部分醫(yī)學(xué)課程,而學(xué)生在學(xué)習(xí)過程中體會不到計算機和醫(yī)學(xué)的結(jié)合點在什么地方,甚至認為學(xué)習(xí)醫(yī)學(xué)課程沒用,這和我們的初衷是相違背的,需要加強對學(xué)生的引導(dǎo)。在實驗教學(xué)過程中引入一些以中醫(yī)藥作為背景的實驗案例,進行醫(yī)學(xué)類相關(guān)題目的訓(xùn)練,使學(xué)生實現(xiàn)對計算機和中醫(yī)藥知識的有機結(jié)合。
2 教學(xué)模式研究與改革
2.1課程改革
傳統(tǒng)的高級語言程序設(shè)計實驗是附屬在理論課中的,實驗學(xué)時比較少,只有24個學(xué)時,這對于實踐性較強的課程來說,實驗學(xué)時是很欠缺的,遠遠不能滿足提高學(xué)生編程能力的目的。學(xué)生也反映單靠24個學(xué)時,實驗是做不完的,甚至體現(xiàn)不出實驗效果。基于此,我們以新的專業(yè)培養(yǎng)方案為指導(dǎo),設(shè)置獨立于理論課的實驗課程,《高級語言程序設(shè)計實驗》在教學(xué)大綱中獨立設(shè)置,獨立學(xué)時學(xué)分,學(xué)時增至36學(xué)時,在此基礎(chǔ)上增加24個學(xué)時作為機動時間,加強實踐訓(xùn)練。
2.2 教學(xué)改革
2.2.1設(shè)置目標,激發(fā)學(xué)習(xí)熱情
在每個實驗開始前明確列出學(xué)生完成該實驗應(yīng)該具備的知識點,讓學(xué)生有目的地進行資料的查找和學(xué)習(xí)。在實驗課上給出實驗任務(wù),使學(xué)生明確所要達到的目標。通過驗證性實驗強化基礎(chǔ)實驗技能,幫助學(xué)生樹立自信心;通過綜合性實驗提高學(xué)生的綜合應(yīng)用能力;通過設(shè)計性實驗提高學(xué)生創(chuàng)新能力,不斷激發(fā)學(xué)生的求知欲和學(xué)習(xí)激情,使學(xué)生學(xué)而有趣,達到教學(xué)目標。
實驗過程中發(fā)揮學(xué)生的主觀能動性,重視教師的主導(dǎo)作用,遵循“教師是主導(dǎo)、學(xué)生是主體”的“雙主”原則[2],突出學(xué)生的主體地位,增強學(xué)生的自學(xué)能力。
2.2.2 設(shè)計合理的案例
我們把實驗教學(xué)內(nèi)容的優(yōu)化放在改革的首要位置。學(xué)生盡管學(xué)習(xí)了多門醫(yī)藥類課程,但體會不到其用處所在,為使學(xué)生能將計算機和中醫(yī)藥的知識進行有機結(jié)合,老師在教學(xué)過程中必須進行有意的引導(dǎo),要求學(xué)生在完成本課程教學(xué)計劃規(guī)定必須完成的題目之后,編制一部分以中醫(yī)藥作為背景的設(shè)計性與創(chuàng)新性實驗。這些實驗題目一部分是由老師精心設(shè)置的與中醫(yī)藥相關(guān)的題目,比如中藥復(fù)方配伍的藥效檢測程序設(shè)計;一部分由學(xué)生根據(jù)自己所學(xué)知識選取感興趣的題目進行設(shè)計。教師設(shè)計的題目要遵循由淺入深、由易到難的原則,避免一開始設(shè)計的題目就太難而使學(xué)生感覺無法入手,從而產(chǎn)生厭煩心理,這就要求授課教師設(shè)計出學(xué)生感興趣、符合專業(yè)特色的案例,以達到良好的教學(xué)效果。
2.2.3 因材施教,針對性地培養(yǎng)學(xué)生的實驗技能
整齊劃一的教學(xué)要求不能適應(yīng)學(xué)生的個體差異[3]。同樣的實驗任務(wù)后進生吃不消,失去學(xué)習(xí)信心,尖子生吃不飽,缺乏興趣,所以教師既要考慮學(xué)生的總體基礎(chǔ),又要考慮學(xué)生的個體差異,針對性地培養(yǎng)學(xué)生的實驗技能。在學(xué)生初步具備分析和解決問題能力的基礎(chǔ)上,加強知識的深廣度,與實際接軌,因材施教。對基礎(chǔ)差的學(xué)生主要通過針對性較強的習(xí)題使學(xué)生樹立自信心,培養(yǎng)學(xué)習(xí)興趣;為那些學(xué)有余力的學(xué)生增加一些創(chuàng)新設(shè)計性實驗,創(chuàng)新設(shè)計性實驗以課題形式進行,學(xué)生自由組合,自己選題,自己設(shè)計實驗方案;讓少數(shù)優(yōu)秀學(xué)生設(shè)計一些中醫(yī)藥類實用軟件,通過參與大學(xué)生研究訓(xùn)練(SRT)項目或參加科研項目,提高他們綜合應(yīng)用知識的能力。
2.2.4 多方位的考核方式
《高級語言程序設(shè)計實驗》獨立設(shè)課后需要單獨考核,為了促進學(xué)生編程能力的提高,采用上機考試、單元考核、大作業(yè)與平時成績相結(jié)合的方式進行考查。上機考試試題主要側(cè)重于基礎(chǔ)知識、基本能力的考查;單元考核側(cè)重于學(xué)生按時按量規(guī)范編程的訓(xùn)練;大作業(yè)側(cè)重于編程語言與中醫(yī)藥知識的綜合應(yīng)用;平時成績主要是對學(xué)生平時的學(xué)習(xí)態(tài)度、學(xué)習(xí)的自覺性和課堂作業(yè)完成情況的考核檢查。多方位的考核方式可以較好地培養(yǎng)學(xué)生學(xué)習(xí)的綜合能力。
2.2.5 不斷更新教學(xué)資料和教學(xué)案例
教材一般滯后于實際教學(xué),而教學(xué)是活的,教師應(yīng)準備大量的不斷更新的教學(xué)資料以及教學(xué)案例。在教學(xué)過程中,教師不斷根據(jù)學(xué)生對教學(xué)案例的反應(yīng),找出不足之處,通過反復(fù)比較研究,得出最佳教學(xué)案例,隨時補充新的案例。選編經(jīng)典、切實可行的案例需要教師有很深的專業(yè)知識和廣博的案例積累,所以對于教師而言需要做大量的工作來提高自己的專業(yè)素質(zhì)。
3 結(jié)束語
本文探索了與中醫(yī)藥特色相適宜的“高級語言程序設(shè)計實驗”教學(xué)模式,在實驗課程中因材施教;通過有意的引導(dǎo),合理的案例,多方位的考核方式促進學(xué)生將計算機和中醫(yī)藥的知識進行有機的結(jié)合,使學(xué)生在學(xué)習(xí)程序設(shè)計語言的同時把中醫(yī)藥知識鞏固并掌握。通過針對性地培養(yǎng)學(xué)生的實驗技能,提高了學(xué)生的綜合應(yīng)用知識的能力和創(chuàng)新能力,獲得較好的教學(xué)效果。
參考文獻:
[1] 竇彥玲.醫(yī)藥院校計算機專業(yè)建設(shè)的研究與實踐[J].中國教育技術(shù)裝備, 2012,3:36-37
[2] 傅胤榮.C++程序設(shè)計課程改革探索[J].高等教育研究,2008, 2: 47-48.
[中圖分類號] G642 [文獻標識碼] A [文章編號] 2095-3437(2015)08-0125-02
一、引言
在信息技術(shù)高速發(fā)展,全面建設(shè)智慧城市、智慧校園的大背景下,傳統(tǒng)的課堂教學(xué)也面臨著變與不變的外部挑戰(zhàn)。[1]新興技術(shù)的不斷沖擊,使得課堂教學(xué)不再是師生間單一的教與學(xué)關(guān)系,更多的是師生間平等的對話與互動,傳統(tǒng)課堂已無法滿足教育需要。將信息技術(shù)與教育深度融合,優(yōu)化教育模式,已經(jīng)成為一種必然的趨勢, 由此智慧課堂這一新的教學(xué)模式便應(yīng)運而生了。智慧課堂是指充分利用信息化技術(shù),以引導(dǎo)學(xué)生的高度參與以及主動性的充分發(fā)揮,以自主地發(fā)現(xiàn)問題、研究問題和解決問題為主要學(xué)習(xí)形式,是以培養(yǎng)多樣化、高素質(zhì)、創(chuàng)新型人才為目標的教學(xué)方式。[2]相對以教師為中心的傳統(tǒng)課堂,智慧課堂強調(diào)以學(xué)生為中心,注重學(xué)生的主動學(xué)習(xí)、合作學(xué)習(xí)和快樂學(xué)習(xí)。[3]
作為高校理工科電子、計算機等相關(guān)專業(yè)的一門重要基礎(chǔ)課程,高級語言程序設(shè)計的目標是培養(yǎng)學(xué)生的程序設(shè)計理念、掌握程序設(shè)計的基本方法,培養(yǎng)學(xué)生熟練使用C語言編程解決實際問題的能力,為后續(xù)程序設(shè)計課程的學(xué)習(xí)和應(yīng)用打下扎實的理論和實踐基礎(chǔ)。[4]學(xué)生是否具有較高的編程能力和良好的編輯習(xí)慣是衡量其對該課程掌握程度的一個重要指標,而編程能力的提高和編程習(xí)慣的養(yǎng)成離不開上機實踐,因此上機實踐是高級語言程序設(shè)計教學(xué)中的一個至關(guān)重要的環(huán)節(jié)。[5]
本文針對高級語言上機教學(xué)的課程特點和存在問題,充分利用上機實驗室的信息設(shè)備優(yōu)勢,將信息技術(shù)與教育深度融合,實現(xiàn)上機教學(xué)的智慧課堂。
二、教學(xué)現(xiàn)狀和問題
一般院校的高級語言程序設(shè)計理論課和上機課的比例為1∶1,由32學(xué)時理論課和32學(xué)時上機課組成。上機課目前多采用傳統(tǒng)的“教師講授―教師演示―學(xué)生上機練習(xí)”的教學(xué)模式,主要存在以下問題:
(1)學(xué)生編程的信心和積極性有待提高。高級語言程序設(shè)計的開課時間設(shè)在大一的第二個學(xué)期,此時絕大部分學(xué)生對計算機軟硬件知識缺乏全面了解,再加上C語言本身學(xué)習(xí)起來有難度,使學(xué)生不能很快掌握算法的思維特點,編程能力、調(diào)試能力普遍較差,增加了C語言上機學(xué)習(xí)的難度。很多學(xué)生在上機的過程中非但沒有對編程產(chǎn)生興趣,反而還產(chǎn)生懼怕心理,進而放棄學(xué)習(xí)。
(2)學(xué)生自主分析問題、解決問題的能力有待提高。目前上機教學(xué)模式以教師“教”為中心,學(xué)生過多依賴于實驗指導(dǎo)書和教師,基本處于被動接受狀態(tài)。在上機課中常出現(xiàn)“寫程序就抄書,出現(xiàn)問題等老師”的現(xiàn)象,分析錯誤、動手調(diào)試本是最能發(fā)揮學(xué)生能動作用的環(huán)節(jié),現(xiàn)在卻由教師來承擔(dān),往往導(dǎo)致學(xué)生離開指導(dǎo)書和教師就寫不出程序、調(diào)試不了程序的局面,很難培養(yǎng)學(xué)生在程序設(shè)計上的創(chuàng)新能力和邏輯思維能力。
(3)機房得天獨厚的信息技術(shù)環(huán)境沒有得到充分的利用。一般機房都配備有計算機、高速局域網(wǎng)和多媒體教學(xué)管理軟件,具備開展智慧課堂的條件。以我院機房為例,采用的是海光多媒體軟件,海光多媒體軟件是一款實現(xiàn)在電子教室、多媒體網(wǎng)絡(luò)教室或者電腦教室中進行多媒體網(wǎng)絡(luò)教學(xué)的非常好的軟件,集電腦教室的同步教學(xué)、控制、管理、音視頻廣播、網(wǎng)絡(luò)考試等功能于一體,并能同時實現(xiàn)屏幕監(jiān)視和遠程控制等網(wǎng)絡(luò)管理的目的,其核心功能包括教師演示、學(xué)生示范、語音教學(xué)、遙控輔導(dǎo)、屏幕錄制、屏幕回放、提交作業(yè)、電子搶答和文件傳輸?shù)?。但目前該軟件主要用于教師演示和收發(fā)文件,現(xiàn)有的信息技術(shù)設(shè)備沒有得到充分的利用,信息技術(shù)改變教育方式?jīng)]有得到充分的體現(xiàn)。
三、智慧課堂開展內(nèi)容
針對以上情況,本文將充分利用機房的信息技術(shù)環(huán)境優(yōu)勢,將信息技術(shù)與教學(xué)深度融合,通過分組合作學(xué)習(xí)、任務(wù)驅(qū)動教學(xué)、網(wǎng)絡(luò)學(xué)習(xí)和多元化考核等教學(xué)手段,創(chuàng)建高級語言程序設(shè)計上機教學(xué)的智慧課堂,實現(xiàn)學(xué)生主動學(xué)習(xí)、合作學(xué)習(xí)和快樂學(xué)習(xí)。
(一)小組合作學(xué)習(xí)
針對部分學(xué)生不能單獨完成編程及缺少興趣的問題,采用分組學(xué)習(xí)的教學(xué)模式,每次上機課將學(xué)生分為4人一組,每組學(xué)生通過合作學(xué)習(xí)共同完成一個實驗任務(wù)。小組合作學(xué)習(xí)一方面更能突出學(xué)生的主體地位,培養(yǎng)學(xué)生主動參與的意識,激發(fā)學(xué)生的學(xué)習(xí)興趣;另一方面學(xué)得好的學(xué)生可以帶動其他學(xué)生,在達到學(xué)習(xí)均衡的同時,也培養(yǎng)了學(xué)生的合作能力和團隊精神。
分組合作學(xué)習(xí)的關(guān)鍵是有效地組織學(xué)生學(xué)習(xí),沒有組織的學(xué)習(xí)會使課堂變得嘈雜、分散,所以合理劃分小組是分組合作學(xué)習(xí)的首要前提。主要考慮兩種分組方式,第一種是學(xué)生自愿組合,第二種是教師按學(xué)生的基礎(chǔ)分組。第一種分組方式有利于調(diào)動學(xué)生合作學(xué)習(xí)的積極性,激起學(xué)生學(xué)習(xí)的興趣,但是自由式的小組組合很可能出現(xiàn)分組不均衡的現(xiàn)象,即學(xué)習(xí)基礎(chǔ)好的學(xué)生分在一組,學(xué)習(xí)基礎(chǔ)薄弱的學(xué)生分在一組;第二種分組方式需要教師在全面了解學(xué)生的前提下,根據(jù)班級內(nèi)的情況,有意識地將不同基礎(chǔ)、不同類別的學(xué)生分到一組,使班級小組間基本上是相似的、均衡的。綜合考慮兩種分組方式的優(yōu)缺點,可交替采用兩種方式進行分組。
小組劃分后需進行合理分工,每一組選擇一個組長,組長協(xié)助教師組織任務(wù)攻關(guān)工作,同時監(jiān)督組員,避免出現(xiàn)“蹭組”現(xiàn)象。組長的選擇要考慮學(xué)生的成績、與同學(xué)間的關(guān)系等因素,可采用自由推選的方式,給每個學(xué)生改變角色和鍛煉的機會,進而提高其學(xué)習(xí)興趣。
(二)任務(wù)驅(qū)動教學(xué)
在上機實驗過程中,以完成一個具體的任務(wù)為線索,把教學(xué)內(nèi)容隱含在每個任務(wù)之中,要求學(xué)生在具體的任務(wù)驅(qū)動下,在討論和對話的氛圍中,進行自主學(xué)習(xí)和協(xié)作學(xué)習(xí)。這樣學(xué)生在完成任務(wù)的過程中始終處于主體地位,不僅提高了學(xué)生的積極性,也培養(yǎng)了學(xué)生的探索與創(chuàng)新精神。任務(wù)完成后,隨機挑選或通過海光多媒體軟件的“電子搶答”功能選出若干小組,通過軟件的“學(xué)生演示”功能進行演示,并引導(dǎo)學(xué)生進行總結(jié)和改進。
在任務(wù)驅(qū)動教學(xué)中,任務(wù)設(shè)計的質(zhì)量直接關(guān)系到教學(xué)效果。在設(shè)計任務(wù)時,要以學(xué)生為中心,根據(jù)學(xué)生的實際情況和學(xué)生感興趣的方向來設(shè)置任務(wù),同時要注意高級語言知識點的系統(tǒng)性和連貫性,將理論課的知識點融入上機任務(wù)中,使學(xué)生在完成任務(wù)的過程中,既鞏固已學(xué)過的內(nèi)容,又探索新知識,實現(xiàn)總體的教學(xué)目標。
例如,在練習(xí)C語言控制結(jié)構(gòu)中的選擇結(jié)構(gòu)時,任務(wù)設(shè)計為:設(shè)計一個程序,輸入某年某月某日,要求計算出這一天是該年的第幾天。學(xué)生拿到任務(wù)后,分組討論程序思路,教師通過管理軟件隨機選擇若干小組聽取他們的設(shè)計思路,根據(jù)回答情況進行引導(dǎo),學(xué)生得到以下正確思路并編程實現(xiàn):
1.從鍵盤上讀入3個整數(shù),分別作為年、月、日。練習(xí)輸入函數(shù)。
2.要計算出某天是當(dāng)年的第幾天,應(yīng)該將當(dāng)年中本月之前所有月份的天數(shù)相加,再加上本月的天數(shù)。根據(jù)所輸?shù)脑路菥毩?xí)switch選擇結(jié)構(gòu)。
3.考慮閏年問題,二月是一個特殊月,如該年是閏年,則二月有29天,否則,便是28天。根據(jù)所輸?shù)哪攴菥毩?xí)if選擇結(jié)構(gòu)。
4.輸出答案。練習(xí)輸出函數(shù)。
這個有趣的任務(wù)讓學(xué)生在討論中學(xué)會了選擇結(jié)構(gòu)的使用方法,并了解了switch和if這兩種常用的選擇結(jié)構(gòu)的區(qū)別,且鞏固了前面學(xué)習(xí)的輸入輸出函數(shù)知識點。
(三)網(wǎng)絡(luò)學(xué)習(xí)
為學(xué)生提供豐富的網(wǎng)絡(luò)學(xué)習(xí)資源。利用海光多媒體軟件的錄制和回放功能,可以在執(zhí)行“教師演示”播放教師機上的屏幕畫面的同時,將播放的圖像畫面以動畫影像的形式錄制下來,跟不上教學(xué)進度的學(xué)生可通過“回放”學(xué)習(xí)。將錄制的視頻、課件、參考資料和課外拓展練習(xí)資料等上傳到課程群,提供豐富的網(wǎng)絡(luò)學(xué)習(xí)資源,讓學(xué)生學(xué)習(xí)不受時間、地點的限制,實現(xiàn)全方位學(xué)習(xí)。
(四)多元化考核方式
考核方式對學(xué)生有重要的學(xué)習(xí)方向引導(dǎo)作用,在智慧課堂的教學(xué)模式中,采用多元化考核方式,進一步調(diào)動學(xué)生的學(xué)習(xí)主動性和積極性。學(xué)生的上機成績由三部分組成:課堂表現(xiàn)考核,由教師根據(jù)學(xué)生的分組表現(xiàn)、課堂展示和任務(wù)完成情況給出成績,占總成績的30%;組內(nèi)考核,每次實驗由小組長根據(jù)組員的表現(xiàn)打分,最后取平均分,占總成績的20%;期末上機考試,占總成績的50%,對學(xué)生的總體掌握情況進行測評。
四、結(jié)語
本文充分利用了機房得天獨厚的信息技術(shù)環(huán)境,采用小組合作學(xué)習(xí)、任務(wù)驅(qū)動教學(xué)、網(wǎng)絡(luò)學(xué)習(xí)和多元化考核等教學(xué)手段,創(chuàng)建了高級語言程序設(shè)計上機教學(xué)的智慧課堂。實踐證明,該教學(xué)方法深受學(xué)生的歡迎,有效提高了學(xué)生的積極性,取得了良好的教學(xué)效果。
[ 注 釋 ]
[1] 黃榮懷,張進寶,胡永斌,等.智慧校園:數(shù)字校園發(fā)展的必然趨勢[J].開放教育研究,2012(4):12-17.
[2] 吳曉靜,傅巖.智慧課堂教學(xué)的基本理念[J].教育探索,2009(9):6.
培養(yǎng)創(chuàng)新人才是我國發(fā)展戰(zhàn)略的內(nèi)在需要,高等學(xué)校擔(dān)負著培養(yǎng)具有創(chuàng)新精神和實踐能力的高級專門人才的神圣使命,應(yīng)該責(zé)無旁貸地開展創(chuàng)新教育,為社會不斷輸送具有創(chuàng)造性思維和創(chuàng)新能力的各種專業(yè)人才[1]。
在高等學(xué)校高級語言程序設(shè)計課程教學(xué)中,學(xué)生通常一開始就接觸具體的語法。隨著所學(xué)知識的增多,學(xué)生原有的想法都沒有了,變成了學(xué)習(xí)某種高級語言的機器。這種形而上學(xué)的教學(xué)方法往往讓學(xué)生忽視了解決問題的過程,而將注意力都集中在語言細節(jié)上。最后學(xué)生掌握了大量的語言細節(jié),卻不會編程解決實際問題。有的學(xué)生開始學(xué)習(xí)某門課程想做許多事情,可學(xué)期結(jié)束后發(fā)現(xiàn)離自己的興趣越來越遠,所擁有的只是大量的知識,而學(xué)生一旦失去興趣,學(xué)習(xí)的勁頭也就少了很多。
好的人才應(yīng)該能夠駕馭知識和創(chuàng)新知識,而不應(yīng)是知識的擁有者和附從者。因此,我們要積極探索培養(yǎng)創(chuàng)新型學(xué)生的學(xué)習(xí)模型,以適應(yīng)國家培養(yǎng)創(chuàng)新型人才的戰(zhàn)略需要。
1高級語言程序設(shè)計新學(xué)習(xí)模型
高級編程語言是為解決問題產(chǎn)生的,好的高級編程語言應(yīng)該容易讓人理解,因此,對問題的理解有助于對編程語言的理解。學(xué)生對生活和以前所學(xué)知識有大量的體驗,也有許多新奇的想法,這些都是創(chuàng)新的源泉。學(xué)習(xí)高級語言程序設(shè)計不是讓學(xué)生丟掉這些想法,而是讓學(xué)生把已有的體驗和所學(xué)的高級語言建立關(guān)聯(lián)。這樣,學(xué)生既可以通過自己以前解決問題的體驗理解高級語言,又可以通過自己的體驗進行有新意的編程實踐,不僅不會扼殺已有的創(chuàng)造性,還會豐富自己的創(chuàng)造思維,掌握如何用編程實現(xiàn)自己的新奇想法。好奇心和興趣是學(xué)生創(chuàng)新的源泉[2],課程學(xué)習(xí)應(yīng)時刻圍繞個學(xué)生的興趣推進。激發(fā)學(xué)生的創(chuàng)新意識,調(diào)動其創(chuàng)新的勇氣,最根本的是要尊重學(xué)生的個性和想象力[3]。
根據(jù)這種思路,在高級編程語言――C語言課程教學(xué)中,我們沒有讓學(xué)生一開始就學(xué)習(xí)數(shù)據(jù)類型、表達式等具體知識,而是在課程簡介后安排了許多有趣的程序演示,如求兩數(shù)之最大數(shù)、猜數(shù)游戲、估時游戲、輸入重現(xiàn)、輸入鏡像、迷宮游戲、積分計算等,這些有趣的例子使學(xué)生可以將高級編程語言和自己以前的體驗建立關(guān)聯(lián)。
學(xué)生找到自己感興趣的例子后,老師直接讓學(xué)生讀這些程序的源代碼,其中就包含著許多學(xué)生沒有學(xué)到的語句,如類型聲明、表達式、條件語句、循環(huán)語句等。由于學(xué)生對例子的功能已經(jīng)非常了解,所以會根據(jù)自己的經(jīng)驗和想法作出猜測,結(jié)果表明,經(jīng)過努
力,學(xué)生還是基本看懂了代碼。對于復(fù)雜一些的例子,老師可以在關(guān)鍵的地方稍加講解。
學(xué)生基本理解演示例子的代碼后,老師就C語言的特點、程序基本結(jié)構(gòu)和一些注意事項作出提示和補充,學(xué)生很快就能掌握基本的編程。這一過程的學(xué)習(xí)學(xué)生不是強制記憶,因此不會輕易忘掉。
對于編程語言的細節(jié),老師只告訴學(xué)生有哪些地方值得注意,讓學(xué)生一一了解,至于具體的規(guī)定,學(xué)生可以自學(xué),有疑問時和老師一起探討。如果學(xué)生畢業(yè)以后遇到相關(guān)問題,可以通過查閱書籍,就能夠解決問題。
2知識互動的學(xué)習(xí)模型
知識互動學(xué)習(xí)模型和傳統(tǒng)學(xué)習(xí)模型的不同之處在于,在知識互動學(xué)習(xí)模型中,不是直接學(xué)習(xí)新知識,而是在和舊知識的互動中學(xué)習(xí)。正因為如此,它具有以下特點:
(1) 新知識和已有知識互動,學(xué)習(xí)新知識的同時激活舊知識,舊知識和新知識相互促進,交替增長。
(2) 新知識的學(xué)習(xí)沒有壓制已有的想法,相反能保持和發(fā)揚已有的創(chuàng)新性。
(3) 新舊知識交叉創(chuàng)新。
(4) 乘積式效果,新舊知識互動產(chǎn)生乘積放大效應(yīng),充分調(diào)動知識張力。
(5) 學(xué)生已有的興趣獲得繼承和提升。
知識互動學(xué)習(xí)模型如圖1所示。
知識互動學(xué)習(xí)模型和傳統(tǒng)學(xué)習(xí)模型的不同如下:
(1) 舊的學(xué)習(xí)模型中,新學(xué)的知識壓制了學(xué)生已有的創(chuàng)造性。因為新知識的學(xué)習(xí)往往只注重自身的知識結(jié)構(gòu),而忽視學(xué)生已有的知識結(jié)構(gòu)和體驗,雖然學(xué)生掌握了大量的新知識,卻失去了原有的創(chuàng)造性。而在知識互動學(xué)習(xí)模型中,新學(xué)的知識和學(xué)生已有的知識結(jié)構(gòu)和體驗是一種平等的關(guān)系,新知識的學(xué)習(xí)在二者的互動中進行。
(2) 學(xué)生在新舊知識的互動中激發(fā)新想法,衍生新知識,不僅學(xué)到了要學(xué)的知識,而且舊知識也被激活。
(3) 新的學(xué)習(xí)模型更尊重學(xué)生內(nèi)在的創(chuàng)造性,更能保持和發(fā)揚學(xué)生的創(chuàng)新能力,有利于培育既有知識又有創(chuàng)新能力的人才。
3知識互動學(xué)習(xí)模型實施方法
知識互動學(xué)習(xí)模型的實施方法如下:
(1) 在學(xué)習(xí)新知識的過程中,通過新知識喚醒舊知識,通過舊知識吸納新知識。每學(xué)習(xí)一些新知識,就及時和舊知識充分互動。
(2) 避免一次大量學(xué)習(xí)與舊知識無關(guān)的新知識,正如給草添土一樣,要慢慢添,邊添邊長,而不要一次添大量的土,把草壓住。新知識的學(xué)習(xí)不要一味追求量,即新知識的細節(jié)讓學(xué)生有選擇地接受,而不要讓學(xué)生一攬子全部接受。可以通過例子演示等方式,讓學(xué)生將新知識與已有知識建立關(guān)聯(lián),而不要急于灌輸新知識。這樣做的另一個好處是給學(xué)生新舊知識發(fā)酵的時間,讓新舊知識產(chǎn)生張力。
(3) 教師就新知識的關(guān)鍵點和注意事項及時做出講解和補充。由于教學(xué)是圍繞學(xué)生的興趣進行,而不是按照新知識的體系面面俱到地講解,因此教師應(yīng)在學(xué)生學(xué)習(xí)過程中就新知識的關(guān)鍵點和注意事項及時做出講解和補充。
(4) 注重學(xué)生自學(xué)與創(chuàng)新能力的發(fā)揮。在充分調(diào)動學(xué)生的興趣后,以學(xué)生的興趣為引導(dǎo),把重點放在新知識的關(guān)鍵點和注意事項上,而讓學(xué)生在實踐中有選擇地自學(xué)細節(jié)。老師應(yīng)關(guān)注新舊知識的互動,并注重學(xué)生自學(xué)與創(chuàng)新能力的發(fā)揮,把課堂舉例趣味化、實用化,讓學(xué)生在自己感興趣的實踐中得到提高。
(5) 計算機知識與人文知識互動。人文教育不一定必須開辟相關(guān)課程,計算機廣泛服務(wù)于社會的方方面面,尤其是非數(shù)字計算,這其中自然包含很多的文化發(fā)展教育。例如:算法是程序設(shè)計的核心,但至今為止,不是全部的算法都可以在現(xiàn)代計算機上實現(xiàn),其原因就在于計算機空間的有限性和人類生命時間的有限性。在多重循環(huán)語句嵌套的教學(xué)中,如“百錢買百雞”案例,教師不僅教學(xué)生循環(huán)知識點的使用,而且分析算法的時間復(fù)雜度,促進學(xué)生關(guān)注程序優(yōu)化的重要性。教師更可以提出“人類基因圖譜”繪制研究為什么出現(xiàn)在今天、禽流感基因為什么難于被繪制、感冒病毒為什么不可以提前預(yù)測等一系列問題。
4結(jié)語
高等學(xué)校擔(dān)負著培養(yǎng)創(chuàng)新型人才的重要使命,而學(xué)習(xí)模型直接影響到能否保持和發(fā)揚學(xué)生的創(chuàng)新性。在這方面,知識互動的學(xué)習(xí)模型具有重要的價值和意義,值得進一步深入研究。
參考文獻:
[1] 于衡,張竟洋.高素質(zhì)創(chuàng)新人才培養(yǎng)之我見[J].遼寧行政學(xué)院學(xué)報,2008,10(07):143.
[2] 林崇德.培養(yǎng)和造就高素質(zhì)的創(chuàng)造性人才[J].北京師范大學(xué)學(xué)報:社會科學(xué)版,1999(1):5-13.
[3] 岳曉東,龔放.創(chuàng)新思維的形成與創(chuàng)新人才的培養(yǎng)[J].教育研究,1999(10):9-16.
Exploration of Learning Model for Innovation Capability in High-level Language Programming Teaching
LI Xiao-dong, ZHANG Xiao-li
1.前言
匯編語言是我們理解整個計算機系統(tǒng)的最佳起點。人們往往認為匯編語言的應(yīng)用范圍很小,因而忽視了它的重要性。其實匯編語言對學(xué)習(xí)計算機科學(xué)與技術(shù)的人是非常重要的。所有程序,不論用何種語言進行編制,只有轉(zhuǎn)成機器指令,運用機器的邏輯功能,功能才得以實現(xiàn)。
匯編語言直接a描述機器指令,比機器指令更容易記憶和理解。通過學(xué)習(xí)和使用匯編語言,我們才能夠感知、體會、理解機器的邏輯功能,這樣不僅可以為理解各種軟件系統(tǒng)的原理打下技術(shù)理論基礎(chǔ),而且可以為掌握硬件系統(tǒng)的原理打下實踐應(yīng)用基礎(chǔ)。
2.教學(xué)中存在的問題
當(dāng)前高級語言的發(fā)展非常迅速,各種開發(fā)工具層出不窮,其功能也越來越強大。高級語言進行程序設(shè)計的可操作性越來越強,許多非計算機專業(yè)人員在不了解計算機的結(jié)構(gòu)、沒掌握計算機相關(guān)的專業(yè)理論和各種計算機語言具體編程等情況下,同樣能很好地使用高級語言。所以,高級語言的發(fā)展弱化了匯編語言的地位,這使部分高職學(xué)生覺得匯編語言已不重要了,學(xué)不好沒有多大的關(guān)系。所以,思想認識上的不重視,導(dǎo)致了部分學(xué)生學(xué)不好這門課程。
《匯編語言程序設(shè)計》的學(xué)習(xí)需要一定的英語知識。高職學(xué)生的英語基礎(chǔ)普遍差,據(jù)有關(guān)職業(yè)教育方面的統(tǒng)計資料顯示:在高職高專院校中60%的學(xué)生英語基礎(chǔ)差;30%的學(xué)生有一定的基礎(chǔ),但對英語學(xué)習(xí)不感興趣;10%的學(xué)生英語基礎(chǔ)較好。實際上,普通高職高專院校學(xué)生英語的基礎(chǔ)情況比統(tǒng)計的更嚴峻。這就為他們學(xué)習(xí)這一課程帶來了一定的障礙。
針對這一系列的情況,筆者根據(jù)教學(xué)經(jīng)驗,總結(jié)了在高職院校教《匯編語言程序設(shè)計》的一些心得,希望對大家有所幫助。
3.注重課堂教學(xué)
3.1優(yōu)化教學(xué)內(nèi)容。
本課程涉及內(nèi)容較多,教師應(yīng)在講課之前先對課本內(nèi)容進行優(yōu)化。并不是課本上所羅列的內(nèi)容都需要講,教師要有選擇性講解:對學(xué)生有用的而課本上講得不全面的要補充講解,而對學(xué)生用處不大的可以不講或一帶而過,爭取做到“少而精”。
3.2讓學(xué)生充分認識到該課程的重要性,提高學(xué)生的學(xué)習(xí)的興趣。
“興趣是最好的老師”,如何讓學(xué)生對本課程感興趣?筆者認為關(guān)鍵是把握好開學(xué)第一堂課。在學(xué)生剛接觸本課程時,教師不要急于介紹理論知識,而是要強調(diào)該課程的實際應(yīng)用,通過介紹匯編語言的特點和匯編語言在一些典型系統(tǒng)開發(fā)中的具體應(yīng)用來激發(fā)學(xué)生的學(xué)習(xí)興趣。
目前對單片機的靈活編程已經(jīng)應(yīng)用到各個領(lǐng)域,無論是尖端科技,如軍事、通信、能源、機器人、交通、IT,還是現(xiàn)代工業(yè)、農(nóng)業(yè),如儀器儀表、汽車電子系統(tǒng)、家用電器、玩具、個人信息終端等諸多領(lǐng)域,都離不開單片機。而單片機的編程里大部分都使用了匯編語言,匯編語言的易用和靈活的特性,使得匯編語言將繼續(xù)占有獨特的地位,其適用的領(lǐng)域要求執(zhí)行效率高、反應(yīng)快,如操作系統(tǒng)內(nèi)核、工業(yè)控制、實時系統(tǒng)、家用電器的計算機控制功能等。在講述其重要性和應(yīng)用領(lǐng)域時,教師應(yīng)結(jié)合一些身邊的、具體的實例,如電梯升降的控制程序和廣場的大型噴泉的控制程序均是由匯編語言編寫的,學(xué)生的興趣會被這些實例極大地調(diào)動起來。
3.3注重實踐環(huán)節(jié)。
在計算機相關(guān)專業(yè)的教學(xué)領(lǐng)域,實驗教學(xué)是培養(yǎng)學(xué)生學(xué)習(xí)能力、實踐能力、思考能力、創(chuàng)新能力的重要環(huán)節(jié)和有效途徑。學(xué)生在學(xué)習(xí)匯編語言這門課程中產(chǎn)生的困難,來自于他們對所學(xué)知識缺乏必要的感性認識,沒有得到充分的實踐。
計算機在很多方面不同于其他學(xué)科,尤其是與硬件有密切關(guān)系的課程。由于匯編語言課程與硬件操作有著密切關(guān)系,因此實驗環(huán)節(jié)在整個教學(xué)活動中占據(jù)了舉足輕重的地位。匯編語言的實驗對培養(yǎng)學(xué)生的動手能力和學(xué)習(xí)興趣,提高學(xué)生閱讀、編輯和調(diào)試程序的能力,有著不可替代的重要作用。學(xué)生通過實驗?zāi)苌钊肓私釩PU、存儲器、接口及外部設(shè)備的工作特性,對數(shù)據(jù)在計算機中的表達和傳送產(chǎn)生感性認識,在實驗中學(xué)生能對匯編語言有更好的理解、掌握,從感性認識上升到理論認識。
4.改進教學(xué)方法
4.1對照教學(xué)法。
在講匯編語言時,教師可以和其它語言對照講解,比如C語言。C語言作為一門基礎(chǔ)和先驅(qū)課程,在此時起到了很好的借鑒作用,由于大部分學(xué)生對C語言掌握得較好,基于語言的相通性,在匯編語言的相關(guān)教學(xué)中教師若以C語言作為對照展開講解,將會收到很好的教學(xué)效果,也能增進各科之間的知識和方法上的聯(lián)系。下面筆者結(jié)合教學(xué)實踐,列舉一些應(yīng)用對照教學(xué)法的實例。
MOV指令是8088指令系統(tǒng)中首要講解的一個指令,也是匯編程序設(shè)計中使用最頻繁的指令,教師應(yīng)強調(diào)對操作數(shù)的要求。有幾點我們可以用C語言來對比解釋:
傳送過程。其傳送過程類似于C語言中的賦值,只是在這里是給寄存器或存儲單元賦值,其實C語言中的變量名本身就是一個符號地址,匯編程度的賦值最終應(yīng)對應(yīng)到存儲器的某些存儲單元。
兩操作數(shù)的類型匹配問題。該內(nèi)容在C語言中已作了強調(diào),匯編中類型匹配問題也是一個重點。與C語言類似,匯編語言操作數(shù)的位數(shù)要保持一致,只是在8088中常用的類型為字節(jié)和字。
強制類型轉(zhuǎn)換。C語言中用到了該知識,學(xué)生也已掌握,那么匯編語言中又如何實現(xiàn)呢?很自然地我們就可以引出“BYTE PTR”和“WORD PTR”這兩個操作符。
4.2互動式和啟發(fā)式教學(xué)。
高職學(xué)生的課堂氣氛一般比較活躍,他們非常喜歡教師引導(dǎo)、提問,喜歡回答問題。所以教師應(yīng)利用這一特點在上課過程中設(shè)計一些有意義的提問,利用提問將要講的知識點引出來,避免平鋪直敘地講解知識點,這樣讓學(xué)生帶著問題來學(xué)習(xí)知識點,會起到事半功倍的作用。例如,在講解編程部分的循環(huán)結(jié)構(gòu)時,筆者先舉了這樣一個例子:求1+2+3+……+100的和。學(xué)生立刻就說出結(jié)果為5050。筆者接著問:加到1000呢?這樣很多學(xué)生饒有興趣地聽講。可見,教師所選的題目要由淺入深,要能激發(fā)學(xué)生的學(xué)習(xí)興趣,要想辦法讓學(xué)生變被動學(xué)習(xí)為主動學(xué)習(xí)。
課堂練習(xí)也是互動式教學(xué)一個非常重要的方法。在講解完某一個例題后,教師可以出一道類似的習(xí)題讓學(xué)生在課上完成,請學(xué)生上講臺在黑板上寫出解題步驟并進行講解。例如剛學(xué)習(xí)了用循環(huán)的方法求1+2+3+……+100的和,教師可以讓學(xué)生練習(xí)一道2+4+6+……+100的和。這樣可以檢驗學(xué)生的掌握情況,找到學(xué)生理解錯誤的地方,從而對癥下藥。就學(xué)生理解錯誤的知識點再進行講解,這樣除了可以讓學(xué)生當(dāng)堂能夠掌握所學(xué)的知識點,還能讓其做到舉一反三。
4.3實例教學(xué)法。
由于本課程是一門比較抽象的課程,因此教師在課堂講授中應(yīng)該盡量用一些通俗易懂的例子進行教學(xué)。
例如在講解匯編中存儲器地址分段的概念時,為了便于學(xué)生理解,教師可以借助平時生活的居民樓,進行舉例。一個小區(qū)有多個居民樓,如一號樓、二號樓等,每個樓里有多個室,如101室、102室等。我們可將樓號比作段基值,每個樓里的房間比作偏移地址,很顯然一號樓的101和二號樓的101是不一樣的。這個例子可以使學(xué)生易于理解分段的概念。
再如在講解中斷的概念時有很多例子可舉。把教師上課比作CPU正在處理的事,門外有學(xué)生打報告,教師就暫停正在處理的事情讓學(xué)生進來,等學(xué)生進來后接著講課。這樣學(xué)生很容易就能掌握中斷的概念。
教師可以將難理解的知識點與日常生活中的小事相聯(lián)系,這樣既可以使學(xué)生學(xué)到扎實的理論知識,又不會使學(xué)生學(xué)得吃力。
5.充分發(fā)揮多媒體教學(xué)的作用
匯編語言指令多、變化多,相對其他可編程語言來說源程序長而復(fù)雜,一個簡單的問題解決至少要幾十行,多則上百行,教師講解例題時如果板書,就要花去大部分時間。如何解決這個問題呢?多媒體能夠提高教學(xué)效果,擴大教學(xué)范圍,延伸教師的教育功能。教師應(yīng)在課前準備講解的程序,上課時直接操作計算機,一邊講解指令的格式及算法,一邊將指令使用前后的情況、程序的效果等通過投影儀展示給學(xué)生。計算機教學(xué)還可借助網(wǎng)上豐富的資源、圖文并茂的生動界面、多姿多彩的影像資料,這些可使教學(xué)具有感受性、新穎性、可組合性、可擴充性,使學(xué)生的思維更加具有發(fā)散性,更容易培養(yǎng)學(xué)生的創(chuàng)新思維。
6.結(jié)語
筆者對匯編語言課程的教學(xué)內(nèi)容和教學(xué)方法進行了探討,這些教學(xué)方法促進了課程的建設(shè)與發(fā)展,為學(xué)生學(xué)好后續(xù)課程打下了一個良好的基礎(chǔ)。摸索一條適合高職學(xué)生需要的、有效的教學(xué)方法,使高職學(xué)生能更好地、更快地掌握匯編語言程序設(shè)計,培養(yǎng)學(xué)生的分析問題、解決問題和實際操作能力,我們在匯編語言課程教學(xué)中需要繼續(xù)探索研究的目標。
二、目前程序設(shè)計類課程教學(xué)在主語言選擇中面臨的問題
作為高校目前開設(shè)的程序設(shè)計類課程主語言,C語言和VB語言具有相對悠久的歷史,也有很多自身特有的優(yōu)勢,在程序設(shè)計教學(xué)中起到過非常重要的作用,但同時也因為時間較久,很多功能和編程思想稍顯陳舊,逐漸變得難以適應(yīng)計算機教學(xué)發(fā)展的新形勢。一般計算機類專業(yè)開設(shè)C語言程序設(shè)計課程,可以培養(yǎng)學(xué)生嚴謹認真的編程素養(yǎng),使學(xué)生基本掌握一門高級語言進行程序開發(fā)的基本技能。同時,因為C語言更貼近底層,因此用C語言作為程序設(shè)計的主語言可以讓學(xué)生更深切的了解計算機最基本的運作原理,開發(fā)出高效、優(yōu)化的程序。C語言雖然具有上述很多優(yōu)點,而且目前應(yīng)用仍然較廣,但是它本身是上一代的面向過程的語言,語法晦澀嚴苛,應(yīng)用時特別容易出錯。從語言本身的角度來說,基本數(shù)據(jù)類型不夠完善,缺乏布爾型、日期時間型、對象型等數(shù)據(jù)類型;構(gòu)造型的數(shù)據(jù)類型中,僅支持數(shù)組類型,對集合類的類型缺乏支持[1],很多基本的功能都有賴于用戶自己設(shè)計,進行程序開發(fā)時工作量很大,難度也較高,對非計算機專業(yè)學(xué)生來說不適合作為程序設(shè)計基礎(chǔ)語言。VB語言一般作為文科類專業(yè)的程序設(shè)計類課程主語言,具有可視化、面向?qū)ο?、便于操作?shù)據(jù)庫、難度較低、容易上手等特點[2]。目前國內(nèi)高校大多仍然選擇VB6.0的程序開發(fā)環(huán)境。但是VB6.0是一種非純粹的面向?qū)ο笳Z言,僅適用于Windows系統(tǒng),沒有跨平臺的特性,在非Windows系統(tǒng)下無法使用。而且由于VB6.0已經(jīng)長期沒有更新,很多新的編程思想也難以體現(xiàn),在新操作系統(tǒng)下支持不好。同時,目前的主流移動計算平臺大多不支持VB語言作為開發(fā)語言,在移動計算發(fā)展迅猛的形勢下,VB6.0難以因應(yīng)時展,從長遠的角度來看,不利于學(xué)生的學(xué)習(xí),因此選用更科學(xué)合理的語言作為程序設(shè)計基礎(chǔ)語言是必要的。
三、Python語言作為程序設(shè)計課程主語言的優(yōu)勢
選用什么語言來進行程序設(shè)計教學(xué)不僅關(guān)系學(xué)生的學(xué)習(xí)效果,還對學(xué)生以后的發(fā)展有著一定影響。計算機編程語言的發(fā)展非常迅速,基本上每過幾年就會有新的形勢出現(xiàn)。近年來,Python已經(jīng)成為最受歡迎的程序設(shè)計語言之一,它逐漸被廣泛應(yīng)用于處理系統(tǒng)管理任務(wù)、圖形處理、網(wǎng)絡(luò)編程和Web編程等領(lǐng)域。Python語言是一種簡潔、易讀的解釋性語言,具有優(yōu)良的可擴展性和平臺可移植性,同時Python是開源的語言,擁有豐富的第三方庫和插件,為使用Python進行開發(fā)提供了極大的便利[3]。在國外用Python做科學(xué)計算的研究機構(gòu)日益增多,諸多的國外高校已經(jīng)開始采用Python語言來作為程序設(shè)計課程的主語言。從教學(xué)的角度來說,使用Python語言作為程序設(shè)計課程的主語言有以下幾種優(yōu)勢。1.簡單易學(xué)。Python是一種解釋性語言,具有類似腳本語言一樣的簡單易學(xué)的特點,無須像C語言一樣強制定義變量,程序的執(zhí)行也無須經(jīng)過編譯、鏈接等中間步驟,可以直接執(zhí)行,給用戶良好的交互式編程體驗,也便于學(xué)生的記憶和學(xué)習(xí)。2.開源小巧的多平臺開發(fā)環(huán)境。Python在多種操作系統(tǒng)下都具有良好的支持,有些操作系統(tǒng)甚至自帶Python的開發(fā)環(huán)境。在常用的Windows平臺下,只需一個很小的開源安裝包就可以安裝Python開發(fā)環(huán)境,便于學(xué)生的自學(xué)和交流。如果需要,也有很方便的圖像化開發(fā)界面可以下載安裝。3.豐富的數(shù)據(jù)類型和高層的編程體驗。Python提供豐富的數(shù)據(jù)類型,內(nèi)置像元組、集合、列表、字典等方便使用的集合數(shù)據(jù)類型,過濾了底層內(nèi)存管理、垃圾回收等細節(jié),可以讓用戶把更多的精力放到程序開發(fā)本身上來。在教學(xué)上可以節(jié)省很多時間和精力,便于學(xué)生把重點放在解決問題的真正邏輯上。4.可擴展性和持續(xù)更新。Python具有良好的可擴展性,可以把其他語言開發(fā)的程序“粘合”到Python程序中,發(fā)揮不同語言各自的優(yōu)勢。同時,Python語言仍在不斷的更新,具有良好的發(fā)展前景,便于調(diào)動學(xué)生學(xué)習(xí)的主動性??偠灾M管Python語言也有運行速度較慢、縮進格式要求嚴格等缺點,但是其簡單易學(xué)等特點使得在目前學(xué)時普遍較少的程序設(shè)計類課程教學(xué)中具有較好的優(yōu)勢,把語言的部分語法和內(nèi)容進行篩選后作為程序設(shè)計課程的主語言進行教學(xué)是可行的。