在普及大眾化高等教育的新形勢下,教學對象與教育目標發(fā)生了巨大變化,主要特征是教學對象層次增多,教學目標更加具體,教育與就業(yè)實現(xiàn)無縫接軌,而傳統(tǒng)單一的教學模式根本就滿足不了這種多層次多目標的教學需要,于是在許多課程教學和教學環(huán)節(jié)中出現(xiàn)了“教師難教、學生難學”的被動局面。如何變被動為主動,變“難教難學”為“易教易學”,對廣大的教育教學工作者,特別是一線教師來說,教育觀念和教學方法的改革成為挑戰(zhàn)傳統(tǒng)教學模式的第一要務。經(jīng)過多年計算機專業(yè)課程改革與教學改革的實踐,筆者逐步總結出“學用互動,實踐為先”的教育觀念和“實踐→理論→實驗→實踐→理論→實驗……”的教學方法,將該方法應用于職業(yè)技術院校類大學生時,明顯改善了效果,下面就筆者對教改的認識和“實踐→理論→實驗→實踐→理論→實驗……”的教學方法作一介紹。
一、多層次多目標的教學要求
過去,我國的普通高等教育基本上分為本科生教育與??粕逃齼蓚€層次,對這兩個層次教育部有統(tǒng)一的標準和要求,各大學在貫徹實施過程中相對比較穩(wěn)定。改革開放以來,為盡快適應新經(jīng)濟快速增長對各類高等專門技術人才的需求,從20世紀80年代初期開始教育部先后升格了一批院校并批準新成立了一批大專院校,特別是20世紀90年代各大學普遍擴招后,我國的大專院校事實上已經(jīng)打破了兩個相對穩(wěn)定層次的格局而形成多層次教育的局面,本科院校中新學院新專業(yè)建設及??茖哟蔚穆殬I(yè)技術教育,專科院校中本科層次的教育和職業(yè)技術教育,中等專業(yè)技術學校中的高等職業(yè)技術教育等等,同一專業(yè)的教學起點教學大綱教學計劃相去甚遠,教學目標和要求事實上也很不一致,課程合并,教材改革,雖然確實涌現(xiàn)出許多優(yōu)秀品牌“精品課程”和“規(guī)劃教材”,但眾多的“精品課程”和“規(guī)劃教材”也是千差萬別,更加加劇了培養(yǎng)目標的多樣化。
形成這樣一種多層次多目標的教學形勢對不對,好不好呢?不少人對此頗具微詞。筆者認為這種教學勢態(tài)的形成其實是很正常的,教育永遠是服務于經(jīng)濟建設需要的,這種教學勢態(tài)的形成正好說明了這一點。經(jīng)濟建設需要多層次多能力多類型的人才,教學部門就要培養(yǎng)出各種層次各種類型各種能力的人才,市場細分之后,人才也需要細分,專業(yè)也需要細分,培養(yǎng)的“寬基礎”“萬金油”“什么都能干什么都干不好”的人才漸失市場之后,一定要有新的“專門化”“專業(yè)化”“與企業(yè)零接軌”的人才培養(yǎng)方式。這就是目前多層次多目標教育的現(xiàn)實情況,任何教育觀念和教育方法都不能脫離開這一現(xiàn)實。
二、“學用互動,實踐為先”的教育觀念和教學方法
當我國的普通高等教育從傳統(tǒng)單一的教學模式走向多層次多目標培養(yǎng)方式后,教學對象中出現(xiàn)了一大批以職業(yè)技能訓練為主直接面向企業(yè)一線的高職學生,這些學生的共同特點是基礎理論知識不扎實,在中學沒有養(yǎng)成良好的學習習慣,課堂上自控能力較差,注意力分散,但他們普遍身體素質較好,思維活躍,善于交流,上大學后有一種時間緊迫感,希望將過去失去的補回來,學習熱情與積極性非常高。對于這部分學生,若仍然按照傳統(tǒng)的教學模式先理論后實驗按章就節(jié)地進行教學,筆者發(fā)現(xiàn)很難保證大多數(shù)同學正常完成教學計劃,而且很容易造成班里同學兩極分化。少數(shù)學習較好的同學總感到課程內容不夠學,而大多數(shù)同學則感到較為吃力。首先對理論教學感到仿佛又回到從前一樣,其次對單調的純驗證性質的實驗無論做出或做不出都不是積極主動地想方設法完成,而是像抄作業(yè)一樣敷衍了事,久而久之失去學習興趣,導致人生坐標的盲然,不能有效地利用大學這一段人生經(jīng)歷中最為寶貴的時光。針對這一大類學生的實際情況,什么樣的教學方法才能將他們的學習熱情調動起來?
筆者嘗試過許多方法,如采用案例教學法由淺入深地講解難點重點課,調整授課課序、刪繁就簡講解理論核心課,整合零散實驗為項目實驗提高實驗興趣,增加專用實驗設備提高實驗效率,雖然所有這些方法的應用對課程的改進都有所幫助,但效果平平,與改進付出的代價相比,回報實在是太有限了!難道計算機課程的教學只能如此嗎?有沒有更好的解決這一問題的方法?怎樣才能改變被動教學為主動教學?回到經(jīng)典的教學理論中尋求答案:學習過程中,學生是主體,教師是主導,只有把學生的主動性調動起來,教師才能起到導的作用,因此必須想盡一切辦法調動學生的積極性。筆者分析學生不主動的原因主要是直接看不到課程內容的用途,實驗課程中的成就感不強。如何增強這兩方面的意識呢?筆者想到了產(chǎn)品。并在普遍認為“學生難學,教師難教”的“匯編語言程序設計”課程中進行試驗,結果獲得了意想不到的效果,真有“柳岸花明又一村”的感覺。筆者將這種方法總結為“學用互動,實踐為先”的教育觀念和“實踐→理論→實驗→實踐→理論→實驗……”的教學模式。所謂學用互動,就是邊學邊用,學點用點;所謂實踐為先,就是先進行操作實踐,籍以建立問題,再通過理論課與實驗課理解和解決問題,在整個教學環(huán)節(jié)中,增加了實踐課的教學。那么什么是實踐課呢?實踐課與實驗課有何區(qū)別?實踐課能否代替實驗課?增加實踐課后給教學帶來了哪些新問題?如何處理這些新問題?下面是筆者的一些體會和認識。
在“實踐→理論→實驗→實踐→理論→實驗……”的教學模式中,實踐課開在理論課與實驗課之前,特別是第一節(jié)課,學生在對課程一無所知的情況下實踐什么。這實際上就是如何理解實踐課的問題。在開實踐課之前,教師必須精心策劃實踐課的內容,實踐就是實例操作,就是實際應用,這種操作首先是與待講課程內容緊密相關,其次是操作應該簡單易行,再就是操作確能激發(fā)學生興趣。對于計算機類課程,任何半成品都不能完成正常的操作功能,而太復雜的成品對教學也不合適,選擇合適教學的產(chǎn)品是非常重要的。經(jīng)過一個學期的學習,學生能夠在不斷的實踐課程中反復操作、應用、模仿、制造、創(chuàng)新出一個力所能及的計算機產(chǎn)品,這就是實踐課的主要內容和任務。
實踐課與實驗課的區(qū)別何在?眾所周知,實驗課是“驗證”性質的,通過重復操作事先設計好的一個有序步驟,驗證課堂所講內容的正確性,非常致命的是這種驗證往往是片斷性質的,無論教師還是學生要將所有的片斷有機組成一個整體的概念其實真不是件容易的事。另外,實驗僅需要部分與課程本身相關的知識,而實踐需要的是更加廣泛的知識,實驗的結果是單一的,單一的結果能提高學生的學習興趣嗎?實踐的結果是多變的,夾雜著同學之間與教師之間相同的和不同的理解。實驗課一般不含產(chǎn)品設計、產(chǎn)品制造的概念,因而仍然與實際應用脫離較遠,實踐課通過模仿與創(chuàng)新努力制造一個產(chǎn)品,直接應用于實際。
實踐課能否代替實驗課?不能。實驗課緊密聯(lián)系本課程本單元的教學內容,經(jīng)過精心設計的實驗課程,易于學生在短時間內對所學知識點進行驗證,缺點是知識點孤立,不易與相關知識點發(fā)生聯(lián)系,而孤立的知識點很難完善地與實際情況聯(lián)系起來,造成理論脫離實際的尷尬教學局面,因而“教者難教,空洞無物”,“學者難學,不知用處”。用實踐課的方法來彌補實驗課的這一缺陷,使教者有實例,學者直接看到知識點的用途,就會營造出“教者并非是從書本到書本,而是直接從書本到實際”,“學者并非是簡單的完成作業(yè),而是要聯(lián)系實際解決問題”的生動活潑的教學氣氛。學者主動了,自然就會“教者易教,學者易學”了,而這正好解決了我們目前教學中存在的問題。
增加實踐課后帶來的問題:實踐、講授與實驗課時比例如何分配?教學課時是否需要增加?與本課程相關的前驅課程和后繼課程有何變化?實踐課中輔助知識點怎么提供?課程整個進程中實例怎么安排?諸如此類的問題還有許多,但最關鍵的還是要具體課程具體對象具體分析。一般來說,基礎課不需要安排實踐課,專業(yè)基礎課可少量安排一些實踐課,專業(yè)課則應該有比較多的實踐課。教學課時應該作調整,但總課時不會增加。前驅與后繼課程基本上不需要變動,重復的實踐課程要有深度變化。輔助知識點有些是已經(jīng)學過的,有些是待學的,有些是在校期間不可能在課程中學到的,它們主要由輔導教師提供給學生,同時也鼓勵學生自己通過資料解決。提供的實例不能偏離課程太遠,不能太難太大,實例可以是一個,也可以是多個,可以是從頭到尾完成一個完整的產(chǎn)品,也可以是做某個新產(chǎn)品的某一部分或一個環(huán)節(jié)。
三、在“匯編語言程序設計”課程中的運用
在各門計算機課程中,“匯編語言程序設計”是最令所有的教師和學生頭疼的一門課程,為什么會這樣?我們分析主要有以下幾個原因。
1. 對“匯編語言程序設計”課程的難度認識不足
在學習“匯編語言程序設計”課程之前,學生往往會憑借學習“C/C++高級語言程序設計”課程的經(jīng)驗類比“匯編語言程序設計”,誤以為重點在于掌握匯編指令功能與格式進而用它們組合出典型的程序結構,部分同學甚至會努力尋找和理解匯編“語句”,結果在課程一開始接觸計算機原理的部分內容時總是經(jīng)歷一段由漫不經(jīng)心到盲然無策的過程,之后剛進入狀態(tài)又被外圍接口驅動打得昏昏沉沉,整個的學習過程亦常痛苦。殊不知“匯編語言程序設計”雖然也是“程序設計”,但與“高級語言程序設計”是完全不同的“程序設計”,其不同之處在于“高級語言程序設計”是真正獨立的語言,而“匯編語言程序設計”是非獨立語言,必須結合具體機型才有意義。也就是說,學習“高級語言程序設計”不學習計算機硬件結構也可進行,而學習“匯編語言程序設計”必須首先了解計算機硬件結構,而且不是一般性了解,對這一點認識不足是直接導致“匯編語言程序設計”課程失敗的主要原因。
2. 開課的課序有問題
通常認為學習“軟件”類課程所需的基礎知識來源較為廣泛,而“硬件”類課程所需的基礎知識則較專業(yè),因此大多數(shù)院校都將“匯編語言程序設計”課程作為“計算機原理”課程的前導課程,但事實上業(yè)內人士都十分清楚這兩門課程彼此相依的親密關系,因此筆者在講述“匯編語言程序設計”課程相關計算機原理部分的知識時從不以夠用為度,而是盡力講到位,只有這樣,“匯編語言程序設計”課程才能順利進行。
3. 教學方法需要改變
歷來的“匯編語言程序設計”課程采用“理論→實驗→理論→實驗……”的教學模式,學生被動地接受并片斷性地運用所學知識解決實際問題,綜合運用所掌握知識和技能分析解決問題的能力得不到鍛煉,使課程陷入“就事論事”的尷尬局面,改變這種情況可采用各種辦法,改變現(xiàn)在的教學方法也是非常值得探討的辦法之一。
4. 實驗條件
歷來的“匯編語言程序設計”課程均以80X86系列芯片作為核心硬件模型并以此模型進行各種實驗操作,這種實驗條件存在幾個明顯的不足:實驗項目確定,學生可發(fā)揮性受到制約;需要專門的實驗室環(huán)境,限定了學生的實驗時間;所有實驗項目與實際應用都偏離較遠,不利于培養(yǎng)學生解決實際問題的能力。無疑這種實驗條件是需要改變的,但如何改變呢?
5. 學無所用,學生學習積極性不高
由于“匯編語言程序設計”課程中沒有頗具說服力的實例擺在學生面前,因此“匯編語言是計算機技術的重要知識體系”、“匯編語言是快速、高效的程序設計語言”、“匯編語言是在實際工作中應用極其廣泛的語言”等等說教就成為不被學生認可的空話,從而一開始便抑制了學生學習“匯編語言程序設計”課程的積極性。
面對上述一些問題,筆者在“匯編語言程序設計”課程教學中運用了“實踐→理論→實驗→實踐→理論→實驗……”的教學模式,采用凌陽十六位單片機SPCE061A作為硬件實驗模型,精心組織了一學期的“匯編語言程序設計”實踐課程,結合以往的教學慣例,比較有效地調動了學生學習“匯編”的興趣。筆者在實踐課中的具體做法是:
將一些有代表性的應用匯編語言的產(chǎn)品和往屆生的作品通過參觀、講解、解剖、試玩等方法介紹給學生,如聲控玩具汽車、機器人、報時鐘、復讀機、電梯模型等,然后給學生提出課程的任務和要求,如必須獨立或合作完成一個作品,從開始計劃到中間實施步驟到最后完成調試,之后學生的每一次實踐課都按既定計劃執(zhí)行,實踐課程中與匯編相關的問題由學生通過課堂教學和實驗課解決,輔助知識由任課教師和輔導教師幫助解決。借助于實踐課,解決了“匯編語言程序設計”課程中“軟”“硬”結合、條件不充分、學無興趣等諸多問題,學習實效大大提高。
四、小結
“實踐→理論→實驗→實踐→理論→實驗……”的教學模式雖然經(jīng)過一些課程的實際檢驗證明是一種比較好的教學方法,但是否適用于所有課程、所有專業(yè)、所有院校、所有教師、所有層次的學生呢?筆者認為絕不能一概而論,否則會犯形而上學、形式主義的錯誤。筆者一再強調面向實際,因材施教,有針對性地開展教育教學活動,就是要面對多層次多目標的教育新形勢,采取多層次多目的的教育教學方法?!皩嵺`→理論→實驗→實踐→理論→實驗……”的教學模式對于某些層次(主要是高等職業(yè)教育、軟件學院等)的計算機專業(yè)基礎課教育收到良好效果,這也許與具體的教學對象及教師有關,并不一定是放之四海而皆準的教學模式,筆者也在進一步的探索實踐中。希望與同行更多更新的教學模式交流學習,共同做好教學改革的工作。