時間:2022-06-16 16:33:02
序論:好文章的創作是一個不斷探索和完善的過程,我們為您推薦十篇高級語言程序設計范例,希望它們能助您一臂之力,提升您的閱讀品質,帶來更深刻的閱讀感受。
二、現有教學方法存在的問題
目前,講授《高級語言程序設計》課程采用的教學方法,主要是以講授理論知識為主,學生被動接受的教學模式,使得教學效果較差,并存在以下問題。
(1)學習盲目,沒目標。教師在關于《高級語言程序設計》課程的導課時,一般通過課程的性質、課程的用途、課程的特點等方面進行介紹。學生在學習本門課程中,只知道這是一門編程的計算機語言。但這門語言具體應用、怎么應用,學生并不了解。甚至有的學生認為這門課程并不重要,沒有必要學習。
(2)學習興趣由高到低。學生在學習本門課程初期,學習興趣比較大。但隨著教學內容逐漸加大,教學難度也逐漸加深,讓學生感到授課內容枯燥無味,一些學生出現上課不集中、學習興趣下降的現象。有少數學生在本門課程的考試結果,成績十分低。
(3)自主編寫程序的能力差。學生學習比較死板,掌握的理論知識不能解決實際的問題。學生不能利用現有的解決問題方法,去解決類似的新問題。學生沒有真正掌握編程的邏輯思維能力,不具備自主編寫程序的能力。
(4)缺乏團隊意識。在大學校園里,提倡的是自主學習與協作相結合的學習方式。即學生有一定的自主學習能力,并能解決學習中遇到的一些問題;同時,學生還應具備團隊協作意識,大家取長補短,共同解決學習和工作中遇到的疑難問題。而很多學生仍采用初高中的學習方式,即大多數是自己學自己的,有的學生甚至是“偷學”。
三、項目驅動教學法的研究
“項目驅動”這個概念出現的比較早,應用的領域也比較多。以項目驅動的教學方法是建立在建構主義學習理論基礎上的一種學習方法。這種教學方法是以項目為主線,學生為主體,教師為主導的教學模式。
(1)項目驅動教學法的教學過程。項目驅動教學法是以項目為主的教學過程。首先,教師根據課程的教學大綱中的教學內容來確定教學項目;其次,教師根據教學的學時來安排項目的小組人員;然后,教師將項目中的任務下達給各個小組,小組成員通過團隊協作完成項目中各項要求;最后,小組之間要互相點評,教師對其各個小組出現的問題給予解決。
(2)項目驅動教學法的特點。一是教學以學生為主,教師為輔的理念;二是學生通過完成任務獲取相關知識;三是學生采用自主學習和小組協作相結合的學習方式,提高學習的效率。四是教師采用多種評價方式來評價各個小組完成項目的情況。
四、項目驅動教學法的實踐
《高級語言程序設計》這門課程是以C語言為主學習的。C語言是一門知識與技能相結合的操作性極強的課程,它的語法規定較嚴格,知識體系結構相對較連貫,所以,這門課程十分適合采用項目驅動教學法來實現教學。采用項目驅動教學法應該掌握以下原則:
(1)選取項目。項目驅動教學法的第一個元素是項目,項目是整個教學方法的先決條件。項目的來源可以是教師根據教學內容設計相應的項目;也可以和企業合作,挑選適合的項目作為教學素材。選取項目的原則:一是大小適中,難易適宜。項目如果過大,所涵蓋的知識點和復雜度相對會很大,學生完成會很困難,會使大部分學生喪失信心,無法完成任務;項目如果過小,所涵蓋的知識點較少,操作較簡單,學生完成很容易,會使大部分學生驕傲自滿。一般是教學過程初期,項目應較小,難度較低。隨著教學進度的延伸,項目逐漸變大,難度加大。二是項目與所講授的知識點的相關度要高。通過完成項目,學習相關的理論知識,是項目驅動教學法的核心,所以,每個項目中盡量涵蓋每個階段的學習內容。這樣,才能達到知識與實踐應用相結合的目的。三是項目的實際應用性要高。選取的項目最好來源于企業正在開發或已經開發完成的項目,這樣,學生真正接觸到當前所學技術的實際應用。
(2)選定小組成員。項目的分配是以小組為單位的。合理的劃分小組是項目良好實施的重要組成部分。劃分小組的原則:組長帶頭,優劣搭配。組長必須具備很強的責任感和濃厚的學習興趣,能起到積極帶頭作用,協調各個組員的分工任務,是學生與老師溝通的橋梁。優劣之分,主要是指學生自身的學習基礎,學習興趣等進行劃分,但小組的劃分過程中,要與學生進行適當的溝通,不要傷及學生的自尊心。
(3)教師認真指導。教師認真和正確的指導是順利完成項目的必要條件。指導教師除了具備教學能力以外,還應具備實際項目的開發能力。這樣,學生在完成項目的過程中,遇到很多技術性問題,教師便能及時的給學生進行指導,并對常出現的問題,可以在課堂上統一給學生進行講解。
(4)采用項目驅動教學法與傳統教學方法相結合。雖然,傳統的教學方法存在很多的不足之處,但對于重要的理論知識,采用傳統的教學方法能使知識點講解的更加深透,學生掌握知識相對牢固。所以,項目驅動教學法不能完全替代傳統教學方法,傳統的教學方法注重理論知識,項目驅動教學法注重編程的應用能力,教學過程中應將二者相結合,達到理論與實際應用相結合的目的。
中圖分類號:TP311.12-4
《高級語言程序設計》是計算機相關專業必修的一門專業課[1],在這門課程中,掌握順序、選擇、循環三大結構是學好程序設計的基礎,在大多數程序中都會包含選擇結構,C語言主要有if和switch兩種選擇語句[2],其中,if語句的應用更為常見一些,它分為簡單分支、雙分支和復雜分支。if語句的用法對于有程序設計經驗的學生來講輕而易舉,但是對于那些沒有編程經驗的新生來講,卻很難掌握,因此,在學習語法的同時更要注重學生編程能力的培養。筆者從初學者角度,用案例分析法對if語句進行教學探討,以便提高教學質量。
1 案例分析法
案例分析法是通過一個具體的教育情景描述,引導學生對這些特殊情景進行討論的一種教學方法,用于提高學生解決和分析實際問題的能力。
2 案例分析法在教學中的應用舉例
2.1 案例選擇
用if語句評定和輸出某個或多個學生的成績等級,是選擇結構的典型應用之一。對于這一類型的題目,解題的關鍵在于讓學生用一個嵌套的if語句來表示一個分段函數。
若用Xi表示凱里學院信12計專班中第i個學生ai的數據結構考試成績,用Y表示其等級,第i個學生ai的成績Xi與等級Y之間存在下面的數學關系[3]:
3 結束語
針對上面案例中出現的情況,筆者運用事前分析估算的方法來提高程序的執行效率,這是編程者需要考慮的問題,也是程序設計的基本要求,教學時教師可提醒學生檢驗一下是否依據最好的策略進行編程,使學生更加透徹地理解和掌握程序設計中的基本思想,領會程序設計的精髓,教師在授課過程中要注意向學生灌輸這種思想,為后續課程的進一步學習和高級編程打基礎。
參考文獻:
[1]蔣然.高職院校《C語言程序設計》教學改革探討[J].福建電腦,2010(10):206.
[2]譚浩強.C語言程序設計(第四版)[M].北京:清華大學出版社,2010.
[3]宋蘭霞.《數據結構》教學方法探討[J].電腦知識與技術,2013(14).
中圖分類號: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年美國可汗學院的興起及大型開放式網絡課程MOOC的迅速發展,翻轉課堂教學開始風靡中國,受到教育界的廣泛關注,大量的大中小學教師開始利用翻轉課堂進行各種課程教學,并不斷地進行更深入細致的探索。
祝智庭對翻轉課堂進行了較為準確的界定,翻轉課堂實施過程的實質就是將傳統教學模式的“知識傳遞”與“知識內化”兩個過程反轉,知識傳遞過程從課堂上轉移至課堂下或家庭中,從時間和空間兩個維度實現學習過程的完整翻轉,是“先學后教”的教學新范式。[1]
翻轉課堂即課堂內外進行翻轉,教師應設計好教學過程,制作相關的學習視頻,要求學生在上課之前自行觀看,讓學生對新知識進行學習,也就是課外先完成課程的自學,學生將學習中遇到的問題反饋給教師,在課堂上主要是對這些疑問進行解答等。翻轉課堂在理論上是很成功的,但是在不同課程的實施過程中總會存在一些具體問題,尤其在這種模式還不甚成熟的時候。
高級語言程序設計作為我校學生的一門公共課,也是一門重要的必修課,旨在培養學生的計算機編程能力、實際應用能力,是實踐性非常強的一門課程。如何更好地進行課程的教學是一名計算機教師急需研究的問題。筆者認為翻轉課堂作為一種目前較為流行的教學模式在高級語言程序設計課程的教學中應用極具研究意義。
2 翻轉課堂相對傳統教學方式的優勢
教師、學生、教學內容是課堂教學不可缺失的三個基本元素。除此之外,教學方法、教學手段、教學技術等也是課堂教學的構成因素。這些都直接影響到教學質量。教育普遍面臨著教學對象的個體性,也就是說我們所面對的學生水平的不一致。翻轉課堂作為一種新的教學模式,尊重學生的個體差異,體現了以學生為中心的人性化教育。
對于高級語言程序設計課程來說,學生的學習基礎不盡相同,有些同學在開課之前可能對課程有了一定的基礎,有些同學可能從未接觸過。此外,學生接受知識的速度能力也不可能同步。傳統的教學方式是教師在課堂上完成知識的講授,在有限的時間內學生獲得的知識有所差別,可能有些同學已經完全理解了所有知識點,有些同學卻一知半解,甚至不知所云。這種點對面的傳授方式主要以教師為中心,沒有也不可能實現教學以學生為中心。而翻轉課堂可以很好地解決這個問題,教學內容的自學是在課外完成的,學生可以根據自己的學習基礎、個人能力合理地安排學習的時間、空間,此時教師對學生的知識講授其實已經從點對面轉變成點對點。
傳統的教學方式中除了教師的講授,為了更好的教學效果,一般會加強師生之間的互動,但是往往教師關注的是那些在課堂上較為活躍的學生或者是一些較為優秀的學生,或者說這些學生會主動引起教師的關注,而大多數有較多疑問的同學可能因為不好意思提出問題,或者因為有太多疑問無從提問,并不會主動提出問題。這樣明顯不利于課程后續的學習。翻轉課堂卻能更好地避免這類問題的出現,學生向教師提出問題,這個過程不再局限在課堂上,也可以是在課外以其他方式實現。這樣教師在課堂上解決問題時,其實關注的對象已經變成學習上有困難的學生。
3 翻轉課堂實施方案研究
以高級語言程序設計課程來講,翻轉課堂教學模式非常適合這類計算機課程。翻轉課堂的基本步驟是教師先制作學習視頻,然后學生在課后自選時間完成課程知識點的自學,最后在課堂上教師解答問題。實際實施過程中當然也會遇到很多細節問題。
首先,教師視頻的設計和錄制是課前必需的準備工作,教師制作的視頻質量直接關系學生的學習效果。教師制作的視頻可以分為知識點視頻和綜合知識視頻。知識點視頻也就是將各知識點分別制作成小視頻,學生依次先觀看這些小視頻,視頻最后是教師提出的一個小問題,學生可以通過完成這些問題來檢驗自己對知識點是否基本掌握。完成這部分學習后,再進行綜合知識視頻學習。綜合知識視頻的主要內容是根據某個章節的多個知識點綜合而成的例題的演示。學生觀看視頻后再完成一個相似例題以檢學習成果。這種模式可以促進學生根據自己的能力合理地安排自己的學習時間,可以利用課后的各種碎片時間。此外,碰到較復雜的知識,學生可以通過多次反復播放視頻來加深理解。由于視頻是課前準備,這就意味著不需要像傳統課堂上課一樣必須是教師本人在指定時間空間進行,也就是說我們完全可以群策群力,集合整個課程組的所有教師,集思廣益,尤其是充分聽取有經驗的高職稱教師的建議,設計制作出高水平的視頻,這樣相當于學生在接受最高水平教師的教學,教學質量也不再簡單依賴于某個任課教師的教學水平。
第二,學生的積極性會直接影響翻轉課堂的教學效果。翻轉課堂要求學生具有較高的學習自覺性。課前學生需要自行選擇時間去觀看學習視頻,如果學生本身自覺性不高,課前并沒有按照要求去觀看學習視頻,那么將造成嚴重的后果,在接下來的課堂學習將無事可做,o話可說。對于一些知識較為連貫的章節,一次學習的缺失將會導致后續更多問題出現。所以筆者認為任課教師在不了解授課班級學生學習態度的情況下,可以先試行翻轉課堂模式,通過前幾次課的情況首先摸清學生情況。考慮到當前學生中存在學習主動性不高的問題,不一定要每節課都采用翻轉課堂的教學模式,而是根據學生情況、教學內容等采取多種教學模式結合靈活應用,比如任務驅動法等。在教學中應該充分考慮如何提高學生的學習興趣,可以采用案例式的教學方式,給出一個結合教學要求和能引起大家興趣的案例,引導大家一步步地完成,這樣學生不僅能獲得成就感,而且會覺得自己學習的知識是有用的、有趣的。這樣良性的循環,在學生培養出一定的學習積極性后,翻轉課堂取得的效果才能真正提高。
第三,課堂設計是翻轉課堂效果提升的關鍵。課前的自學當然和學生本身的自覺性、理解力等息息相關,但是在同等情況下,課堂上教師對學生學習的指導是學生對知識理解層次提高的重要因素。如何進行課堂的設計成為教師必須認真考慮的問題。課堂不僅僅是對學生提出問題的簡單解答,這要求教師有較高的課堂教學設計水平以及對課程內容的把控。在課前教師對學生在課前自學過程中的疑問要有比較清楚的認知,這些認知可能是來自教師在多年教學過程中的經驗,也來自當前班級學生的各種渠道的反饋。教師應合理安排課堂時間,不僅僅是簡單地對學生提出的問題簡單羅列和解答,應該從這些問題中分析學生學習不足的實質,同樣知識點合并,同一知識點由淺入深、不同知識點的先后次序都是必須考慮的問題。對于非常重要、核心的知識,就算學生沒有提出疑問,還是需要通過課堂練習的方式加深學生印象或加以檢驗考核。
4 結論
將翻轉課堂應用于高級語言程序設計課程,學生課前自行觀看教學視頻完成小練習,課堂上教師解決疑問及檢驗學生的學習效果,此種教學模式相比傳統教學模式來說,更加有利于提高學生學習興趣,促進學生學習積極性,進一步提升學生學習效果,有利于培養學生的自學能力和應用能力。
參考文獻:
[1] 祝智庭,賀斌,沈德梅.信息化教育中的逆序創新[J].電化教育研究,2014,35(3):5-12.
[2] 張文文.“翻轉課堂”對我國教育改革的啟示[J].湖北第二師范學院學報,2016,33(5):113-115.
[3] 唐君.“翻轉課堂”三問我國高校教學[J].天中學刊,2015,30(5):136-138.
[4] 戴寧,曹輝.“互聯網+教育”:顛覆、應對與重構[J].教育與教學研究,2016,30(7):16-20.
[5] 彭娟,夏飛.“慕課”對地方應用型高校教學的沖擊與應對策略[J].湖南第一師范學院學報,2016,16(3):60-63.
隨著計算機技術、網絡技術和多媒體技術的發展與深化,教學手段不斷改進,經歷了從板書、教具、多媒體課件到網絡課程的發展階段。網絡課程是建立在網絡技術、多媒體技術等現代信息平臺上的一種新型教學模式,與普通的多媒體課件不同,網絡課程是通過計算機網絡來表現教學內容和實施教學活動的教學模式。通過網絡課程的構建可以整合豐富的教育資源,突破了學習的時空限制,實現了自主化學習、個性化學習和遠程交互途徑,學習模式由傳統的基于課堂的教師講授轉變為立體化、多元化學習,因此網絡課程是實現教育信息化的重要體現和手段。
1“高級語言程序設計”網絡課程的意義
高級語言程序設計是計算機專業的一門核心基礎課程,是學生從事軟件開發的必備技能。這門課程概念繁多、抽象難懂,邏輯性和實踐性極強,學習容易枯燥,如何利用開放式網絡教學環境,創建生動的、個性化、研究型教育模式,是現代教育在觀念、內容、方法、手段和結構上的一次全方位變革,“高級語言程序設計”網絡課程的構建與實施,變靜態的、形式單一的教學模式為動態的、多元化的網絡多媒體教學模式[1],是高校教育改革的重要舉措和內容。其意義體現在以下幾方面:
1) 轉變學生的學習方式。網絡多媒體課程的自主學習方式使學生變被動接受為主動構建者,有利于培養學生的主動性和創造性思維。學生從課程中不僅學到了專業知識,更重要的是通過檢索和利用各種信息資源,獲得了信息素養能力的訓練,為工作和科研培養了良好的信息能力[2]。
2) 學習資源突破了時間和空間的限制、使得課程資源的交流和共享成為可能,使學習更加便利,有利于培養學習的自主性和積極性。
3) 提供了豐富的教學資源,突破了課堂教學內容的狹隘性,擴展了學習范圍,開闊了思維,使學生科研能力和創新能力得以提高。
4) 強大的多媒體功能可以提供實驗和實踐的模擬和仿真,化抽象概念為生動具體的情景,使得學習更加輕松和容易。
5) 網絡的及時性、開放性和交互性也是普通課堂教學無法比擬的,留言簿、論壇、電子郵件、及時通信等方式使學生之間、師生之間的交流更加輕松。
6) 在線考試為學生檢查學習效果,減輕教師閱卷負擔提供了可能。
2 “高級語言程序設計”網絡課程的目標
基于傳統多媒體課件的“課堂演示型”教學方式給學生帶來了圖文并茂的生動效果,但這遠遠沒有發揮多媒體的交互性特點,課件只不過成為了電子版的板書,學生只能夠被動地接受知識而不能主動參與教學活動。要實現教學的開放性、交互性和自主性,就需要把網絡技術和多媒體技術結合起來,構建網絡課程正是實現這一目標的途徑。
因此,“高級語言程序設計”網絡課程的總體目標是:構建一個導航清晰、界面生動友好、教學內容充實、教學主線設計合理,具有教學、個性化學習、網上答疑及討論、自測等功能的教學系統平臺。具體表現在:
1) 教師可以整合豐富的教學資源,各類教學資源、提供教學大綱、周歷、課后作業、實驗作業、電子教材、軟件下載、試題下載、源程序下載、相關論文等。
2) 學生通過留言本、論壇、郵件等方式與教師或同學之間進行交流,輕松實現互動和遠程交流。
3) 課程的實踐性要求課后要加強編程練習,網絡課程要圍繞課后習題這一重要教學環節,使學生最大限度地參與練習與實習,達到理想的教學目標。
4) 采用以章節為單元的折疊式樹型目錄導航結構,循序漸進,合理的信息分類與鏈接使自主學習得以順利進行。
5) 整合大量教學資源和素材,彌補教材內容的不足和課堂講授時間的不足,創造并提供自主學習環境,提供全國計算機等級考試介紹、全國軟件水平考試介紹、二級C語言考試大綱和試題、二級C語言模擬考試軟件等。提供C語言的論文和相關科研訓練,提高理論水平和擴展思維。
3網絡課程特色欄目設計
網絡課程建設就是要按照學科知識體系以及網絡教學要求,對各種教學資源進行集成和綜合[3]。教學內容是網絡課程設計的主體,在網絡課程中教師是組織者、設計者、指導者,在教學內容的設計上應按照網絡環境的需要和教學目標進行合理分解與重組,并根據不同內容的知識特點選擇不同的媒體表征形式。以便使教學內容適于以網絡化形式和手段表現出來。
以“高級語言程序設計”網絡課程的需求為例,為了讓學生了解課程內容、方便學生選課需要進行課程介紹,為了實施教學內容需要對每一章節進行講解,為學生提供課件、源代碼、論文等大量學習資源,為了實現教學的互動還要實現在線的師生交流和答疑,為了配合國家計算機等級考試、加強練習還需要提供二級考試大綱、模擬軟件和試題等。
根據以上需求分析,本網絡課程采用以章節為教學單元的模塊化結構,采用縱向樹型目錄導航結構組織知識點和章節,根據具體的知識要求采用文本、圖片、音頻、動畫、視頻等多種形式。共分為5個欄目。
1) 課程簡介:包括課程介紹、理論課和實驗課教學大綱、周歷、考試方式、教師信息等方面的內容。
2) 教學內容:共分10章,是網絡課程的核心模塊,按照C語言知識體系的結構循序漸進行詳細講解,分別介紹預備知識,C語言基礎,順序結構,選擇結構,循環結構,數組、函數和編譯預處理,結構體與共用體和文件。課件采用PDF格式,單擊每一章的標題鏈接,即可打開相應的PDF文件。
3) 學習資源:提供上機習題、教材源程序、課件下載、C語言運行軟件下載、參考論文和電子書等。
4) 交流平臺:有留言本和論壇兩種方式,留言本針對師生之間,學生提問留言,教師作為管理員可以回復和刪除某個學生的留言。而用戶在論壇中注冊后就可以發貼,并且無論是學生還是教師都可以回復貼子,輕松實現開放式答疑和交流。教師還可以定期地創建不同主題的討論組,引導學生進行討論、分析和思考問題,開擴編程思路。
5) 計算機二級考試:提供全國計算機C語言二級考試大綱、C語言二級考試模擬軟件下載和歷年真題。網絡課程的整體結構框圖如圖1所示。
4網絡課程開發流程
4.1教學素材收集
教學素材是網絡課程的基礎,是需要規范的重點和核心。教學資源主要分8類:試題庫、試卷素材、媒體素材、文獻素材、課件素材、案例素材、常見問題素材和教育資源索引[3]。學習資源包含了大量支持學習的材料,除了課程本身的專業知識點以外,還可以鏈接到互聯網上的其他參考資料,如視頻、軟件、國內外優秀教學網站、全國計算機等級考試、計算機水平考試等。教師是學習資源的組織者和設計者,通常要經過搜集、篩選、分類、整理、組織與數字化等工作過程,同時還要考慮方便學習者的使用[4]。因此我們按照教學大綱將每一章的知識點制作成圖文并茂的多媒體課件或PDF文件。課后習題和上機實驗習題制作成網頁文件,試卷和二級考試真題制作成網頁或Word文檔。教材源程序制作成壓縮文件以供下載。C語言論文和電子教材使用PDF格式。搜集相關軟件,包括C語言集成開發軟件,如TurboC、Visual C++、WinTC、C語言二級考試模擬軟件等。
4.2動畫制作
為使頁面生動友好,迅速引起學生的注意力并激發其學習興趣,在首頁應用Flash MX制作了動畫和標題滾動字幕;為使學生能夠更好地理解和掌握C語言中比較抽象難懂的概念,如函數的遞歸調用、冒泡排序、選擇排序等,制作了遞歸曲線的生成動畫,遞歸調用的漢諾塔動畫、顯示回溯搜索過程的八皇后動畫、顯示廣度優先搜索過程華容道動畫等,這些動畫形象地展示了算法實現的過程,化靜態的思維過程為動態的實現,有利于學生更好地掌握這些知識點。漢諾塔動畫如圖2所示。
4.3開發實現
網絡課程的開發技術分為前臺開發技術和后臺開發技術兩部分[2]。前臺開發技術是指網頁的設計與制作技術,利用DreamweavMX、Flash、Fireworks等軟件來實現,教學網站導航清晰是關鍵,因此首頁采用嵌套框架布局,上面是標題,左邊是按模塊組織的樹型目錄,每個鏈接單擊后目標文件顯示在右邊,下面是版權、制作者信息和日期時間。在頁面中使用了文本、圖像、表格、超鏈接,Flash 動畫和視頻動畫等。后臺開發技術使用了Web服務器編程技術ASP(Active Server Pages)。本網絡課程的論壇模塊、留言本模塊通過ASP編程實現與網絡數據庫的連接和動態交互訪問,能夠對各種數據資源不斷地更新和維護。
4.4編寫腳本程序
為了實現生動的動畫效果,腳本的編寫是網絡課程制作過程中重要的一環,運用JavaScript腳本程序和HTML代碼可以實現以下特效:1)折疊式樹型目錄,可以展開和折疊每個欄目。2)滾動字幕,顯示在首頁標題上,用C語言程序設計代碼實現。3)當前的日期和時間,以下腳本代碼僅在網頁底部輸出年月日和時分秒(其余代碼略)。
document.write( year + "年" + month + myweekday + "日" + day);
document.write( myhours + myminutes);
4.5引用層疊樣式表
層疊樣式表(CSS)是一系列格式設置規則,CSS樣式是對HTML語言的一種擴展,主要用于控制Web頁面內容的外觀和頁面風格設計,在網頁制作過程中起著非常重要的作用,掌握CSS能夠有效地提高制作網頁效率。CSS擴充了HTML各標記的屬性設置,豐富了網頁視覺效果,而且CSS樣式可通過腳本程序來控制,這樣便可以有效地對網頁的外觀和布局進行精確的控制,從而使網頁的表現方式更加靈活和美觀[5]。為了統一網站頁面的風格,在頁面中定義了大量的樣式來統一的頁面背景圖片、字體大小等,部分樣式定義如下所示。
.STYLE1 {font-size: 18px}
.STYLE2 {font-size: 18px; font-weight: bold; }
body {background-image: url(../image/ back1.JPG);}
5結語
隨著計算機網絡技術的迅猛發展和信息化的逐步深入,網絡課程在高校的應用也日趨廣泛,為了更好地配合課堂教學,筆者將先進的信息技術與教學內容相結合,創建了“高級語言程序設計”網絡課程,獲2009年云南省多媒體教育軟件大賽二等獎。網絡課程提供了豐富的教學資源,將課堂延伸到課外,為學生創造了獲取資源、評價學習效果和師生互動的環境。將課堂教學與網絡課程相結合,使學生不僅學到了專業知識,還能更多地進行信息檢索和獨立思考。“高級語言程序設計”網絡課程為教學提供了一種全新的教學手段,對于推動高校教學改革具有參考價值。
參考文獻:
[1] 杜文,曹旭斌,龐先偉. 高校體育網絡(教程)的構建與應用[J]. 北京體育大學學報,2007,30(1):104-106.
[2] 熊鷹. “信息檢索與利用”網絡課程的教學設計與實現[J]. 圖書館論壇,2006,26(2):23-25.
[3] 程曉旭. 高校網絡教學研究[J]. 中國成人教育,2007(19):118-119.
[4] 董飛,王廣新. 成人教育網絡課程開發的關鍵問題分析[J]. 中國成人教育,2005(12):64-64.
[5] 玲. CSS層疊樣式表在DHTML中的應用[J]. 鞍山師范學院學報,2006,8(2):63-65.
Research and Development of High-level Language Programming Network Course
DING Hai-yan, ZHAO Zheng-peng, LI Wei-hua
筆者按照傳統“C語言程序設計”的教學方法對數學專業的學生講授程序設計語言課程的過程中,深刻體會到教師的教與學生的學存在以下幾個突出的問題,從而導致學生學習起來存在畏難情緒,積極性不高。
1.1學生基礎相對較差,學習積極性不高。
筆者所在的單位是文科類院校的數學與計算科學學院,數學專業在以經管商為優勢的文科學校中處于較不被重視的地位,數學專業無論是招生規模還是招生的質量遠遠低于其他專業,錄取分數線也相對較低,并且很多學生都不是以第一志愿考入數學專業。因此,本院數學專業的學生基礎普遍較差,他們的學習能力和學習自覺性也較弱;另外,有部分學生對于調劑到數學專業還沒有做好思想準備,思想還不穩定,對專業課的學習積極性不高。
1.2教學目標的把握不準確。
數學專業學生在學習程序設計語言課程的時候,部分學生雖然掌握了C 語言的語法規則,但卻缺乏對實際問題進行分析、編程和處理的能力。究其原因,筆者認為教師對教學目標的把握不夠準確,將教學目標主要放在了讓學生掌握語法規則上,而忽略了問題分析和算法思想等程序設計能力和素質的培養。此外,這種教學方式還會導致部分學生在繁瑣和枯燥的語法規則學習中喪失了學習的耐心和興趣,造成了后續學習的困難。
1.3教學內容的組織不合理。
目前,教師通常都按照教材編排的內容和順序,按部就班地進行教學工作。然而,C 語言教材的編寫者主要考慮到知識結構的系統性和全面性來安排教學內容順序。筆者認為,按照教材前后順序來組織教學內容與學生從易到難的認知過程存在一定的偏差,主要表現在以下方面:(1) 初期的知識點過于繁多。以數據類型部分為例,教材中除了講述基本數據類型之外,通常還要講述short、long、signed 和unsigned 修飾,其他進制整數的表示、各種小數的表示、字符和字符串的表示等等。調查發現,學習伊始就要面對如此繁雜的內容。許多學生反映很枯燥,容易產生畏難情緒和放棄思想。(2)教材中每一章節也以大量篇幅羅列介紹C 語言語法規則為主,較少涉及具體的C語言編程應用。特別在整個課程的重點和難點部分,如較難掌握的數組、指針和函數,也側重介紹新概念和相應的操作規則,即使能輔以簡單例子加以佐證,也由于這些例子缺乏與實際應用的緊密結合而喪失了對學生的吸引力.
1.4課程內容豐富,理論及上機課時較少。
本院選擇了譚浩強的《C語言程序設計》第三版作為教材。教學計劃安排了總共72個學時教授,其中28個實驗學時。然而,程序設計這門課程教學內容豐富,課程難度大,實踐性強,教學任務重。在所給的44個教學課時范圍內幾乎不能全部完成教學任務,為了在有限的課時內盡可能地講授更多的內容,為學習《數據結構和算法》等后續專業課打下基礎,教學進度的安排上超出了學生能接受的范圍,學生們普遍反應速度過快。因此,教學過程中面臨學生負擔重而課時少的矛盾。另外,C 語言是一門實踐性很強的課程,上機實踐也是相當重要的一個環節。但是,在實際的教學中,往往由于上機實踐課時的嚴重缺乏,上機內容也只局限于驗證教材實例程序。使學生只能紙上談兵,而無法充分驗證學習中的疑點、掌握學習中的難點。驗證性實驗題目的局限性限制了學生研究性學習的開展和創造性思維的培養。
2 數學專業高級語言程序設計課程教學模式改革探討
針對上述在高級語言程序設計課程教學實施中存在的幾個突出問題,筆者結合自己在教學實踐的體會以及吸取優秀教師教學過程中較好的方法,淺談關于如何在文科院校數學專業進行程序設計課程教學模式[1]改革的幾點拙見,以達到拋磚引玉的作用。
2.1 調動學生的積極性,使學生變被動為主動。
程序設計課程由于它有一定的靈活性,難理解性;又由于它的發展迅速性,為當下學生所畏懼。所以培養好學生主動學習程序設計課程的興趣、習慣、方法、能力顯得尤為重要。
程序設計解決問題都是實際應用問題,涉及各種各樣的科學計算,而實際問題轉換為程序,要經過一個對問題抽象的過程,建立起完善的數學模型,才能設計一個問題解決的程序。這需要程序員具有良好的數學基礎。數學試題與應用程序試題是許多大型軟件公司面試中指向性最明顯的一類試題。例如著名企業微軟和Intel的招聘面試題目:中間只隔一個數字的兩個素數被稱為素數對,比如3和5,5 和7,證明素數對之間的數字總能被6 整除(假設這兩個素數都大于6)等等。因此,在為數學專業的學生講授程序設計之初,可以引出數學在程序設計里所扮演的重要角色,讓他們知道自己作為數學專業的學生具備很好的學習背景,并且告知他們在將來就業時選擇計算機行業具備很強的優勢。從而使得他們有信心并且有動力認真的學好程序設計課程,使學生變被動為主動。
2.2明確教學目標,優化教學內容。
《高級語言程序設計Ⅰ》教學中,由于課時的限制,教學的目標多以介紹語法為主,忽略了學生的問題分析及算法思想等程序設計能力和素質的培養。而又由于數學專業的課程規劃中沒有系統地開設計算機科學理論的課程。因此,有必要調整程序設計課程的教學目標:以提高學生的實際動手編程能力為目標,調整授課順序,優化教學內容,采用目標型教學模式,側重實踐能力的培養。
針對課程初期知識點過多的問題,筆者參考國內程序設計教學成功的組織方式[2-8],并站在初學者的角度,根據學生的學習現狀重新組織課堂教學體系結構,圍繞不同類型的數據,將《高級語言程序設計Ⅰ》課程劃分為以下五個階段進行:
(1)基礎部分:在課程講授之初,以整型數據為主,重點介紹整型數據及其相關操作,例如,常量、變量及其定義、如何正確的輸入、輸出和計算等概念。這樣,學生就不會被繁多的數據類型及其變換所嚇倒,增強了他們信心。
(2)基礎擴展部分:在第一部分的基礎上,通過簡單擴充,講授常用的float、double等數據類型,但他們具體的存儲及多種修飾方式可以讓學生作為課后參考;另外,對于有關字符及字符串的概念及其操作做特殊說明。
(3)重點部分:首先綜合介紹程序設計中的三種程序結構基本概念和用法,然后本著由問題引入、由淺入深的原則,精選課本的經典例題,并增加一些實用程序例題,進一步加深學生對這三種基本結構的理解。為了提高學生算法分析的能力,筆者認為必須改革例題的講授方法:例題必須從零開始,按照自頂向下逐步細化的設計過程逐步給出。
(4)難點部分:數組、指針和函數是C 語言中的難點也是重點部分。在講授的時候,最好按照各部分的難易、重疊關系安排教學順序。因此,筆者參照基礎及其擴展部分的做法,仍以整型數據為例,重點介紹這三部分的基本概念和操作,再在此基礎上對其它數據類型簡單擴展;并重點介紹要求掌握的算法,例如排序、查找等。
(5)自學部分:在課時有限的情況下,有必要引導學生增強自學的能力,教師根據學生的知識和能力精選出一些學生經過努力能學會的內容, 給出學生自學提綱, 教師在課堂上再給予檢查并歸納總結就可以了,例如,"結構體"這章。有些教學內容教材講得不夠深透, 但又是主要內容,可指導學生閱讀有關參考資料, 培養其閱讀及自學能力。
2.3構建網絡輔助課程,提高學生學習的積極性、主動性,實現教與學的課外互動。
由于課時有限,大量的上機實踐和教學內容需要在課外完成。為了提高學生上機實踐和學習的積極性和主動性,急需構建網絡輔助課程,實現教與學的課外互動。筆者成功申報了廣東商學院第三批網絡輔助課程的建設項目,并作為《高級語言程序設計Ⅰ》網絡輔助課程建設的負責人,根據自身教學的一些體會并從學生中集思廣益,主持了該門課程建設,并得到專家評委的一致肯定。《高級語言程序設計Ⅰ》網絡輔助課程采用“案例導引,任務驅動,自我評價”的教學模式,在使用該網絡課程時可以對課堂教師講授的內容通過閱讀電子教案進行復習,重點使用案例進行練習,完成布置的任務,通過測驗對自己學習的情況進行評價。
主要模塊包括課程信息(教學大綱,實驗大綱,考試大綱等)、課程學習(公布各學習單元教師上課的講義及電子課件,并介紹了學習目標、重點難點分析)、課程實驗(課程設計大綱,課后實驗,課程設計案例等)、擴展資源(包括常見錯誤、趣味程序、常見算法、C語言900例及相關鏈接)、學習評價(各章在線測試,綜合在線測試,課后習題,模擬試題)、交流互動(提供常見問題及回答,提供學習論壇供學習者之間互動、交流)。
0引言
醫藥院校計算機專業的教學目標是培養出能夠服務于中醫藥行業的計算機專業技術人才[1]。為使學生能夠將計算機和中醫藥知識進行有機的結合,更好的發揮專業優勢和特長,本文探索了與中醫藥特色相適宜的“高級語言程序設計實驗”教學模式,進行了實驗課程教學創新模式的改革。
在實驗教學過程中,我們設計一些由易到難的以中醫藥作為背景的實驗案例,有意的對學生進行引導,促進學生對中醫藥院校計算機專業課程體系全面而又深入的理解,逐步找到計算機和醫學的契合點,為學生將來在計算機學科和醫學兩個學科領域進行交叉學科的科學研究工作打下良好的基礎,成為真正有特長、有特色的計算機專業人才。
1實驗教學存在的問題
1.1學生缺乏學習的主動性
以往的實驗教學大體上實行的是“課前預習——課堂實驗——課后學生完成實驗報告——教師評閱并評定成績”的串行模式,在本質上還是應試教育。因為相當比例的學生的實驗目的是通過考核或者得到好的分數,所以常會出現學生不重視預習,實驗時感到內容枯燥,缺乏主觀能動性,課后不認真總結思考,甚至出現缺課、抄襲報告等現象,學生提交的實驗報告無法全面反映取得的實驗效果,教師只憑實驗報告評定成績有失真實,也無法真正了解學生的學習情況。
1.2 缺乏與中醫藥知識的結合
由于中醫藥院校的計算機專業在課程設置上具有中醫藥特色,有一部分醫學課程,而學生在學習過程中體會不到計算機和醫學的結合點在什么地方,甚至認為學習醫學課程沒用,這和我們的初衷是相違背的,需要加強對學生的引導。在實驗教學過程中引入一些以中醫藥作為背景的實驗案例,進行醫學類相關題目的訓練,使學生實現對計算機和中醫藥知識的有機結合。
2 教學模式研究與改革
2.1課程改革
傳統的高級語言程序設計實驗是附屬在理論課中的,實驗學時比較少,只有24個學時,這對于實踐性較強的課程來說,實驗學時是很欠缺的,遠遠不能滿足提高學生編程能力的目的。學生也反映單靠24個學時,實驗是做不完的,甚至體現不出實驗效果。基于此,我們以新的專業培養方案為指導,設置獨立于理論課的實驗課程,《高級語言程序設計實驗》在教學大綱中獨立設置,獨立學時學分,學時增至36學時,在此基礎上增加24個學時作為機動時間,加強實踐訓練。
2.2 教學改革
2.2.1設置目標,激發學習熱情
在每個實驗開始前明確列出學生完成該實驗應該具備的知識點,讓學生有目的地進行資料的查找和學習。在實驗課上給出實驗任務,使學生明確所要達到的目標。通過驗證性實驗強化基礎實驗技能,幫助學生樹立自信心;通過綜合性實驗提高學生的綜合應用能力;通過設計性實驗提高學生創新能力,不斷激發學生的求知欲和學習激情,使學生學而有趣,達到教學目標。
實驗過程中發揮學生的主觀能動性,重視教師的主導作用,遵循“教師是主導、學生是主體”的“雙主”原則[2],突出學生的主體地位,增強學生的自學能力。
2.2.2 設計合理的案例
我們把實驗教學內容的優化放在改革的首要位置。學生盡管學習了多門醫藥類課程,但體會不到其用處所在,為使學生能將計算機和中醫藥的知識進行有機結合,老師在教學過程中必須進行有意的引導,要求學生在完成本課程教學計劃規定必須完成的題目之后,編制一部分以中醫藥作為背景的設計性與創新性實驗。這些實驗題目一部分是由老師精心設置的與中醫藥相關的題目,比如中藥復方配伍的藥效檢測程序設計;一部分由學生根據自己所學知識選取感興趣的題目進行設計。教師設計的題目要遵循由淺入深、由易到難的原則,避免一開始設計的題目就太難而使學生感覺無法入手,從而產生厭煩心理,這就要求授課教師設計出學生感興趣、符合專業特色的案例,以達到良好的教學效果。
2.2.3 因材施教,針對性地培養學生的實驗技能
整齊劃一的教學要求不能適應學生的個體差異[3]。同樣的實驗任務后進生吃不消,失去學習信心,尖子生吃不飽,缺乏興趣,所以教師既要考慮學生的總體基礎,又要考慮學生的個體差異,針對性地培養學生的實驗技能。在學生初步具備分析和解決問題能力的基礎上,加強知識的深廣度,與實際接軌,因材施教。對基礎差的學生主要通過針對性較強的習題使學生樹立自信心,培養學習興趣;為那些學有余力的學生增加一些創新設計性實驗,創新設計性實驗以課題形式進行,學生自由組合,自己選題,自己設計實驗方案;讓少數優秀學生設計一些中醫藥類實用軟件,通過參與大學生研究訓練(SRT)項目或參加科研項目,提高他們綜合應用知識的能力。
2.2.4 多方位的考核方式
《高級語言程序設計實驗》獨立設課后需要單獨考核,為了促進學生編程能力的提高,采用上機考試、單元考核、大作業與平時成績相結合的方式進行考查。上機考試試題主要側重于基礎知識、基本能力的考查;單元考核側重于學生按時按量規范編程的訓練;大作業側重于編程語言與中醫藥知識的綜合應用;平時成績主要是對學生平時的學習態度、學習的自覺性和課堂作業完成情況的考核檢查。多方位的考核方式可以較好地培養學生學習的綜合能力。
2.2.5 不斷更新教學資料和教學案例
教材一般滯后于實際教學,而教學是活的,教師應準備大量的不斷更新的教學資料以及教學案例。在教學過程中,教師不斷根據學生對教學案例的反應,找出不足之處,通過反復比較研究,得出最佳教學案例,隨時補充新的案例。選編經典、切實可行的案例需要教師有很深的專業知識和廣博的案例積累,所以對于教師而言需要做大量的工作來提高自己的專業素質。
3 結束語
本文探索了與中醫藥特色相適宜的“高級語言程序設計實驗”教學模式,在實驗課程中因材施教;通過有意的引導,合理的案例,多方位的考核方式促進學生將計算機和中醫藥的知識進行有機的結合,使學生在學習程序設計語言的同時把中醫藥知識鞏固并掌握。通過針對性地培養學生的實驗技能,提高了學生的綜合應用知識的能力和創新能力,獲得較好的教學效果。
參考文獻:
[1] 竇彥玲.醫藥院校計算機專業建設的研究與實踐[J].中國教育技術裝備, 2012,3:36-37
[2] 傅胤榮.C++程序設計課程改革探索[J].高等教育研究,2008, 2: 47-48.
《VB高級語言程序設計》是本校大一理科學生的一門重要的公共基礎課,而且也是全國計算機等級考試科目之_。學生要在一個學期內學會VB編程的語法知識,并能運用這些知識編寫出程序。
在教學實踐及與學生的溝通交流中,筆者發現一些問題:(1)VB課程知識點多,對初學計算機編程的學生來說,短時間內掌握難度較大。(2)VB各章節之間關聯性強,如果前面一個章節沒能及時掌握,會直接影響后續的學習。VB的學習僅靠每周一次的理論課是不夠的,需要向課外延伸,而一種新的教學模式――微課的出現可以幫助學生有針對性地學習所需的知識,有利于提高教學效果。
1.將微課引入《VB高級語言程序設計》教學的意義
微課是以闡釋某一知識點為目標,以短小精悍的在線視頻為表現形式,以學習或教學應用為目的的在線教學視頻。將微課引入《VB高級語言程序設計》教學的意義包括以下幾個方面。
1.1有利于學生按需學習
由于是VB是公共基礎課,一名教師面對的學生多達上百人,授課的進度、深度只能綜合考慮大部分學生的能力,導致有些基礎較弱的學生沒能掌握部分知識點。微課是針對某一知識點進行細致講解,學生可以針對自己的需要觀看某節微課,對一次沒有理解的地方還可以暫停、回放,反復觀摩直到掌握為止。
1.2有利于提升學生學習興趣
微課教學時間短,聚焦于單個知識點,相對于傳統課堂每節課講授眾多的教學內容,微課更容易被學生接受。微課視頻小,存儲容量小,學生可以下載到手機,自由安排時間觀看,學生能以放松的心態去學習微課內容,往往更能集中注意力,提高學習效率。通過觀看微課,學生可以反復學習課堂上還未完全理解的知識點,增強學習信心,提升學習興趣。
1.3有利于提升教師教學能力
教師在開發微課視頻時,需要對整個課程進行分析,歸納出重點、難點,并選取適當的知識點進行精心的微課設計、錄制。而微課制作好放到互聯網上共享,學生觀看好之后可以直接在網上進行提問、評價和反饋,教師也可予以及時回復和指導。通過這樣的溝通,教師可以全面了解不同學生的需求,促進教學反思,優化教學設訛提升教學能力。
2.微課在《VB高級語言程序設計》教學中的應用實踐
2.1內容的選取
筆者主要制作了2種類型的微課:“知識傳授型”和“習題講解型”。
其實“知識講授型”將整個課程的重點一一列舉,歸納下來有:窗體的創建;常用控件(標簽、文本框、命令按鈕、單選按鈕和復選按鈕及框架、列表框和組合框、計時器、滾動條、圖片框、菜單)的屬性、事件、方法;多分支選擇結構;For循環;Do-Loop循環;固定數組;動態數組;Sub過程;Function過程;過程中參數的傳遞;順序文件;程序調試技術。每一個重點均用一個微課來講授,還未掌握該知識點的學生可以快速、有針對性地進行補習。
“習題講解型”主要針對的問題是,部分同學雖然學會了VB的語法知識,但在課后遇到真正的編程題時,又不知從何下手。“習題講解型”微課是從每章選取幾道典型的題目,講述編程題的來龍去脈,介紹編程的思路和技巧。學生課后做練習時,遇到問題,能及時得到解決,提升了學習編程的信心,增加了學習的積極性。
2.2以《程序調試技術》為例設計微課教學方案
《程序調試技術》出現在vB教材的第8章,按照傳統課堂教學,是在講授完《VB控制結構》《數組》《過程》這些章節后再作介紹。而學生學習前面的章節,進行上機編程時,已經會遇到代碼錯誤,需要進行調試、改錯。以往,學生都會請教師幫助調試、糾錯。而現在教師開發出“程序調試技術”微課,學生可以在遇到編程錯誤時,觀看視頻,學會調試技巧,自主進行程序調試。
2.2.1制定教學目標
本節微課的教學目標是,學生能夠學會使用VB調試技術來發現程序中的錯誤,學會如何在程序運行時,通過調試工具深入到程序內部,觀察變量和屬性是如何隨著語句的執行而改變,從而發現并排除錯誤。
2.2.2設計教學過程
(1)導課部分。
[3] 張金磊,王穎,張寶輝.翻轉課堂教學模式研究[J].遠程教育雜志,2012( 4)
[4] 曾明星等.軟件開發類課程翻轉課堂教學模式研究[J].實驗室研究與探索,2104(2)
姓名:曾文雄
單位:南京郵電大學傳媒與藝術學院
地址:江蘇省南京市棲霞區文苑路9號南京郵電大學
1.前言
匯編語言是我們理解整個計算機系統的最佳起點。人們往往認為匯編語言的應用范圍很小,因而忽視了它的重要性。其實匯編語言對學習計算機科學與技術的人是非常重要的。所有程序,不論用何種語言進行編制,只有轉成機器指令,運用機器的邏輯功能,功能才得以實現。
匯編語言直接a描述機器指令,比機器指令更容易記憶和理解。通過學習和使用匯編語言,我們才能夠感知、體會、理解機器的邏輯功能,這樣不僅可以為理解各種軟件系統的原理打下技術理論基礎,而且可以為掌握硬件系統的原理打下實踐應用基礎。
2.教學中存在的問題
當前高級語言的發展非常迅速,各種開發工具層出不窮,其功能也越來越強大。高級語言進行程序設計的可操作性越來越強,許多非計算機專業人員在不了解計算機的結構、沒掌握計算機相關的專業理論和各種計算機語言具體編程等情況下,同樣能很好地使用高級語言。所以,高級語言的發展弱化了匯編語言的地位,這使部分高職學生覺得匯編語言已不重要了,學不好沒有多大的關系。所以,思想認識上的不重視,導致了部分學生學不好這門課程。
《匯編語言程序設計》的學習需要一定的英語知識。高職學生的英語基礎普遍差,據有關職業教育方面的統計資料顯示:在高職高專院校中60%的學生英語基礎差;30%的學生有一定的基礎,但對英語學習不感興趣;10%的學生英語基礎較好。實際上,普通高職高專院校學生英語的基礎情況比統計的更嚴峻。這就為他們學習這一課程帶來了一定的障礙。
針對這一系列的情況,筆者根據教學經驗,總結了在高職院校教《匯編語言程序設計》的一些心得,希望對大家有所幫助。
3.注重課堂教學
3.1優化教學內容。
本課程涉及內容較多,教師應在講課之前先對課本內容進行優化。并不是課本上所羅列的內容都需要講,教師要有選擇性講解:對學生有用的而課本上講得不全面的要補充講解,而對學生用處不大的可以不講或一帶而過,爭取做到“少而精”。
3.2讓學生充分認識到該課程的重要性,提高學生的學習的興趣。
“興趣是最好的老師”,如何讓學生對本課程感興趣?筆者認為關鍵是把握好開學第一堂課。在學生剛接觸本課程時,教師不要急于介紹理論知識,而是要強調該課程的實際應用,通過介紹匯編語言的特點和匯編語言在一些典型系統開發中的具體應用來激發學生的學習興趣。
目前對單片機的靈活編程已經應用到各個領域,無論是尖端科技,如軍事、通信、能源、機器人、交通、IT,還是現代工業、農業,如儀器儀表、汽車電子系統、家用電器、玩具、個人信息終端等諸多領域,都離不開單片機。而單片機的編程里大部分都使用了匯編語言,匯編語言的易用和靈活的特性,使得匯編語言將繼續占有獨特的地位,其適用的領域要求執行效率高、反應快,如操作系統內核、工業控制、實時系統、家用電器的計算機控制功能等。在講述其重要性和應用領域時,教師應結合一些身邊的、具體的實例,如電梯升降的控制程序和廣場的大型噴泉的控制程序均是由匯編語言編寫的,學生的興趣會被這些實例極大地調動起來。
3.3注重實踐環節。
在計算機相關專業的教學領域,實驗教學是培養學生學習能力、實踐能力、思考能力、創新能力的重要環節和有效途徑。學生在學習匯編語言這門課程中產生的困難,來自于他們對所學知識缺乏必要的感性認識,沒有得到充分的實踐。
計算機在很多方面不同于其他學科,尤其是與硬件有密切關系的課程。由于匯編語言課程與硬件操作有著密切關系,因此實驗環節在整個教學活動中占據了舉足輕重的地位。匯編語言的實驗對培養學生的動手能力和學習興趣,提高學生閱讀、編輯和調試程序的能力,有著不可替代的重要作用。學生通過實驗能深入了解CPU、存儲器、接口及外部設備的工作特性,對數據在計算機中的表達和傳送產生感性認識,在實驗中學生能對匯編語言有更好的理解、掌握,從感性認識上升到理論認識。
4.改進教學方法
4.1對照教學法。
在講匯編語言時,教師可以和其它語言對照講解,比如C語言。C語言作為一門基礎和先驅課程,在此時起到了很好的借鑒作用,由于大部分學生對C語言掌握得較好,基于語言的相通性,在匯編語言的相關教學中教師若以C語言作為對照展開講解,將會收到很好的教學效果,也能增進各科之間的知識和方法上的聯系。下面筆者結合教學實踐,列舉一些應用對照教學法的實例。
MOV指令是8088指令系統中首要講解的一個指令,也是匯編程序設計中使用最頻繁的指令,教師應強調對操作數的要求。有幾點我們可以用C語言來對比解釋:
傳送過程。其傳送過程類似于C語言中的賦值,只是在這里是給寄存器或存儲單元賦值,其實C語言中的變量名本身就是一個符號地址,匯編程度的賦值最終應對應到存儲器的某些存儲單元。
兩操作數的類型匹配問題。該內容在C語言中已作了強調,匯編中類型匹配問題也是一個重點。與C語言類似,匯編語言操作數的位數要保持一致,只是在8088中常用的類型為字節和字。
強制類型轉換。C語言中用到了該知識,學生也已掌握,那么匯編語言中又如何實現呢?很自然地我們就可以引出“BYTE PTR”和“WORD PTR”這兩個操作符。
4.2互動式和啟發式教學。
高職學生的課堂氣氛一般比較活躍,他們非常喜歡教師引導、提問,喜歡回答問題。所以教師應利用這一特點在上課過程中設計一些有意義的提問,利用提問將要講的知識點引出來,避免平鋪直敘地講解知識點,這樣讓學生帶著問題來學習知識點,會起到事半功倍的作用。例如,在講解編程部分的循環結構時,筆者先舉了這樣一個例子:求1+2+3+……+100的和。學生立刻就說出結果為5050。筆者接著問:加到1000呢?這樣很多學生饒有興趣地聽講。可見,教師所選的題目要由淺入深,要能激發學生的學習興趣,要想辦法讓學生變被動學習為主動學習。
課堂練習也是互動式教學一個非常重要的方法。在講解完某一個例題后,教師可以出一道類似的習題讓學生在課上完成,請學生上講臺在黑板上寫出解題步驟并進行講解。例如剛學習了用循環的方法求1+2+3+……+100的和,教師可以讓學生練習一道2+4+6+……+100的和。這樣可以檢驗學生的掌握情況,找到學生理解錯誤的地方,從而對癥下藥。就學生理解錯誤的知識點再進行講解,這樣除了可以讓學生當堂能夠掌握所學的知識點,還能讓其做到舉一反三。
4.3實例教學法。
由于本課程是一門比較抽象的課程,因此教師在課堂講授中應該盡量用一些通俗易懂的例子進行教學。
例如在講解匯編中存儲器地址分段的概念時,為了便于學生理解,教師可以借助平時生活的居民樓,進行舉例。一個小區有多個居民樓,如一號樓、二號樓等,每個樓里有多個室,如101室、102室等。我們可將樓號比作段基值,每個樓里的房間比作偏移地址,很顯然一號樓的101和二號樓的101是不一樣的。這個例子可以使學生易于理解分段的概念。
再如在講解中斷的概念時有很多例子可舉。把教師上課比作CPU正在處理的事,門外有學生打報告,教師就暫停正在處理的事情讓學生進來,等學生進來后接著講課。這樣學生很容易就能掌握中斷的概念。
教師可以將難理解的知識點與日常生活中的小事相聯系,這樣既可以使學生學到扎實的理論知識,又不會使學生學得吃力。
5.充分發揮多媒體教學的作用
匯編語言指令多、變化多,相對其他可編程語言來說源程序長而復雜,一個簡單的問題解決至少要幾十行,多則上百行,教師講解例題時如果板書,就要花去大部分時間。如何解決這個問題呢?多媒體能夠提高教學效果,擴大教學范圍,延伸教師的教育功能。教師應在課前準備講解的程序,上課時直接操作計算機,一邊講解指令的格式及算法,一邊將指令使用前后的情況、程序的效果等通過投影儀展示給學生。計算機教學還可借助網上豐富的資源、圖文并茂的生動界面、多姿多彩的影像資料,這些可使教學具有感受性、新穎性、可組合性、可擴充性,使學生的思維更加具有發散性,更容易培養學生的創新思維。
6.結語
筆者對匯編語言課程的教學內容和教學方法進行了探討,這些教學方法促進了課程的建設與發展,為學生學好后續課程打下了一個良好的基礎。摸索一條適合高職學生需要的、有效的教學方法,使高職學生能更好地、更快地掌握匯編語言程序設計,培養學生的分析問題、解決問題和實際操作能力,我們在匯編語言課程教學中需要繼續探索研究的目標。
1 課程教學中存在的問題
本人在多年的計算機程序設計語言教學過程中發現,高職學生普遍基礎知識薄弱,學習主動性差,缺乏學習興趣,接受能力有限,英文水平低,看到稍長的程序代碼就頭痛,課上不積極參與,課后不及時復習,遇到不懂的問題,很少有學生主動詢問老師,大多無視實踐操作中的邏輯錯誤與語法錯誤,有些學生甚至把寶貴的課堂時間浪費在玩手機、逛網頁上,最終課程結束也不會編寫簡單的程序。
針對以上的問題,并結合高職計算機專業學生就業崗位的要求和課程本身的特點,對《C語言程序設計》課程進行了教學的改革。
2 課程教學改革實施
2.1 教學內容的整合
根據高職院校對學生培養技能應用型人才的目標,重在培養學生的程序設計能力、閱讀及調試程序的能力上,因此對教材中的內容進行適當的整合,以項目實施順序為導向來安排組織教學內容,根據項目中各模塊所含有的知識、能力及職業素質建立課程體系結構導出基本語法知識、三種程序結構、數組及函數等相關內容。在教學中重點放在三種基本結構、函數調用、數組等常用的知識點,對程序設計語言中偏難偏繁的知識不講或少講,對實際應用較多的內容進行必要的加強。在選取實際項目作為教學內容后,通過對問題的解決來引導知識點的學習,使學生在完成項目的過程中提高解決實際問題的能力。
教學內容除選擇一個學生熟悉的“成績管理系統”綜合項目貫穿整個課程外,還結合相對獨立、有趣的小任務進行教學,用以鞏固和拓展知識點,課程內容整合如下:
2.2 教學方法和手段的改革
1)課堂中以項目為先導,推行任務驅動、現場演示、模仿練習、要點剖析、拓展練習的教學形式。由教師對課本知識點的講解為主體轉變為以學生完成項目任務為主體,多年的教學經驗說明這種“教師精講學生多練”的教學方法對高職生學好計算機程序設計語言有著很好的效果。教學中應遵循“深入淺出、突出實用”的原則,將知識難點分散從而提高學生的接受能力。為了鞏固課堂的教學內容,學生課后不僅要動手操作編寫小程序,還要動筆練習,對課堂上編寫調試過的案例和習題,要求課后抄寫并加以注釋,以加深對程序結構的理解、對程序中英文單詞的記憶、對程序語句書寫規則的掌握。
2)教學過程中,運用信息量較大的多媒體技術輔助教學,縮減理論講解時間,優化教學過程,激發學生的學習興趣。如將選擇結構、循環結構、數組和指針等重要的知識點制作成生動的課件,降低理論教學的枯燥性,提高學習的趣味性;將語句、結構及概念等理論知識融合在案例代碼中以課件的形式,呈現在課堂中增加教學信息量;充分利用網絡資源,將課件、習題等放到網上供學生自行調用復習,鞏固教學內容。
3)加強實踐教學中的監督和輔導。在任務執行過程中,教師要及時了解學生作業中存在的問題,個別問題單獨輔導,普遍問題集中講解,根據學生實踐中出現的問題,教師可適當調整授課計劃和授課內容,以滿足學生知識學習的需要,這過程可以增強教師與學生的交流,掌握學生學習動態,杜絕學生開小差的弊端,提高課堂教學效果,更好的培養了學生的編寫程序及程序調試的能力。
2.3 考核方式改革