日本免费精品视频,男人的天堂在线免费视频,成人久久久精品乱码一区二区三区,高清成人爽a毛片免费网站

在線客服

編譯原理論文實用13篇

引論:我們為您整理了13篇編譯原理論文范文,供您借鑒以豐富您的創作。它們是您寫作時的寶貴資源,期望它們能夠激發您的創作靈感,讓您的文章更具深度。

編譯原理論文

篇1

由于涉及形式語言、有窮自動機等抽象內容,在“以教師為中心,教師講、學生聽”的傳統教學模式下,學生在學習中普遍感覺內容太過抽象、缺乏學習積極性。因此,如何打破傳統教學模式、讓這門課的教學效果得到較大改觀,就成為一個亞待解決的問題。近二十年以來,國內外的許多教育工作者、教育學家、教育技術專家多年來從理論與實踐兩個方面作了大量的研究與探索,建構主義理論正是這種努力所取得的主要理論研究成果。

1、建構主義學習理論及教學模式

近二十年以來,隨著多媒體計算機和Internet網絡教育應用的飛速發展,建構主義學習理論正愈來愈顯示出其強大的生命力,并在世界范圍內日益擴大其影響。建構主義提倡在教師指導下的、以學習者為中心的學習,也就是說,既強調學習者的認知主體作用,又不忽視教師的指導作用。

建構主義學習理論認為“情境”、“協作”、“會話”和“意義建構”是學習環境中的四大要素或四大屬性。學習環境中的情境必須有利于學生對所學內容的意義建構;協作發生在學習過程的始終,對學習資料的搜集與分析、假設的提出與驗證、學習成果的評價直至意義的最終建構均有重要作用;會話是協作過程中不可缺少的環節,學習小組成員之間必須通過會話商討如何完成規定的學習任務的計劃;意義建構是整個學習過程的最終目標。所要建構的意義是指:事物的性質、規律以及事物之間的內在聯系。在學習過程中幫助學生建構意義就是要幫助學生對當前學習內容所反映的事物的性質、規律以及該事物與其它事物之間的內在聯系達到較深刻的理解,這種理解在大腦中的長期存儲形式就是關于當前所學內容的認知結構。

與建構主義學習理論以及建構主義學習環境相適應的教學模式為:”以學生為中心,在整個教學過程中由教師起組織者、指導者、幫助者和促進者的作用,利用情境、協作、會話等學習環境要素充分發揮學生的主動性、積極性和首創精神,最終達到使學生有效地實現對當前所學知識的意義建構的目的。”在這種模式中,學生是知識意義的主動建構者;教師是教學過程的組織者、指導者、意義建構的幫助者、促進者;教材所提供的知識不再是教師傳授的內容,而是學生主動建構意義的對象;媒體也不再是幫助教師傳授知識的手段、方法,而是用來創設情境、進行協作學習和會話交流,即作為學生主動學習、協作式探索的認知工具。顯然,在這種場合,教師、學生、教材和媒體等四要素與傳統教學相比,各自有完全不同的作用,彼此之間有完全不同的關系。但是這些作用與關系也是非常清楚、非常明確的,因而成為教學活動進程的另外一種穩定結構形式,即建構主義學習環境下的教學模式。

2.建立以學生為主、師生互動的教學模式

基于以上理論,在整個編譯原理”的教學過程中,應該創造一種良好的氛圍,建立以學生為主、師生互動的教學模式。

2.1教師的準備

教師的角色是學生建構知識的忠實支持者。教師的作用從傳統的傳遞知識的權威轉變為學生學習的輔導者,成為學生學習的高級伙伴或合作者。教師應該給學生提供復雜的真實問題,教師必須創設一種良好的學習環境、必須提供學生元認知工具和心理測量工具,培養學生評判性的認知加工策略,以及自己建構知識和理解的心理模式。因此,教師在課前應通讀教材多遍,并做完習題,然后參考同類教材,把內容爛熟于心。同時,教師應準備教學課件、教學網站等輔助教學資源,真正起到組織引導的作用。

2.2注重啟發式教學

建構主義學習理論認為,學習者與周圍環境的交互作用,對于學習內容的理解(即對知識意義的建構)起著關鍵性的作用。教師應組織和引導學生進行討論和交流,共同建立起學習群體并成為其中的一員,共同對課程所涉及的內容進行討論。

因此,對于學生自學較容易的章節,采用指導學生備課,然后課堂上由學生講課、教師總結的方式進行,對于學生的提問,也不是簡單的給出答案,而是在課堂上展開師生間的討論,讓所有的學生看到問題從提出、分析到解決的全過程,充分發揮學生的學習主動性,培養學生的創新能力。以下就求Follow集的方法加以簡要說明。

在預測分析中,Follow集的定義如下:設G=(V,.,VN,S,P)是上下文無關文法,AEVN,S是開始符號;Follow(A)二{aIS=''''=>wA(3且aEVT'''',aE、F1TST.(}),}.L。V,.`,(3aV''''},若有S=`=>N,A(3,且p=’二>。,則#EFollow(A)。另外,若A-"aB是一個產生式,則把FOIrLOW(A),加至FOLLOW(B)中。怎樣系統、快速而準確地求出Follow集?學生在討論中發現,求Follow集必須從文法開始符號S推導,因此,可以直接觀察每條產生式的右部,找出要求Follow集的非終結符(設為A),進一步觀察A后面的字符串,若可推出終結符,則此終結符在Follow(A)中,若為。,則產生式左端非終結符的Follow集在Follow(A)中。由此概括出了求Follow集的行之有效的方法。

2.3運用實例教學模式

實例式教學也被稱為拋錨式教學、基于問題的教學或情境性教學。是建構主義的教學模式之一。學習者要想完成對所學知識的意義建構,即達到對該知識所反映事物的性質、規律以及該事物與其它事物之間聯系的深刻理解,最好的辦法是讓學習者到現實世界的真實環境中去感受、去體驗(即通過獲取直接經驗來學習),而不是僅僅聆聽別人(例如教師)關于這種經驗的介紹和講解。

對于較復雜、枯燥的理論,在教學中大量運用實例,通過講解一學生練習一學生講解一學生再練習一教師小結的教學模式,讓學生能夠從外部信息源提供的特殊的例子出發,進行歸納推理,得到一般的規則或一般性的知識。這樣,學生聽懂了,理解了,增強了自信心,鞏固了理論知識。

2.4合理組織實驗和課程實習

課程實驗應以編譯理論中的一些經典算法的實現為主,一方面可以培養學生的實踐能力和動手能力,另一方面可以通過對算法的實現達到更準確、更牢固的理解和掌握這些算法,從而提高學生的實際應用能力。

課程實習應充分考慮編譯理論與實際應用相結合,突出開創性和實用性。教師應提供程序源代碼而空缺關鍵模塊,讓學生來完成。這種組建式的實習方法,使得實習題所涉及的問題難度沒有降低,但由于學生只需完成關鍵的組件模塊,學生能夠集中精力解決關鍵問題,實現難度有一定程度的降低。鼓勵學生間相互探討,各抒己見,激發學生的創作研究熱情并共同提高。

3.教學效果分析

通過以下兩組數據的比較,可以看出應用了新的教學模式后.學生學習情況的變化.說明教學效果得到了較大改觀。

篇2

1現代人力資源管理與傳統人事管理的概念和區別

醫院現代人力資源管理與傳統人事管理有著本質的區別。有人形象地說傳統人事管理是把人看作蠟燭,不停地燃燒直至告別職業生涯,強調的是組織目標的實現;現代人力資源管理是把人看作蓄電池,可以不斷地放電、充電,強調的是人的潛能的不斷開發和利用,強調實現組織價值和員工個人價值的雙贏目標。概括來說,它們的主要區別如下:

1.1人事管理

主要采用嚴格的制度、命令式和簡單式的監督。精力放在員工考勤,檔案、合同管理,職稱評定和發放工資福利等事務性工作上,是一種反應性的管理。它忽視員工的主觀能動性和自我實現的需要。一般在單位中被定位于行政服務部門。目前國有公立醫院基本上都是這種模式。即使一些醫院將人事管理門更名為“人力資源部”,但從醫院管理體制上可看出,對人員的管理基本上仍是傳統的人事管理,這是組織歷史以及組織格局和體制的必然。由于其不是基于以人為本的價值理念,沒有足夠認識到人是“資源”的戰略管理意義,加之缺乏足夠的公平、競爭的運作環境,所以調整和維系人員對組織獻身的精神的,多是組織權力和行政感召,缺乏對個人持續培養、開發從而達到自我實現價值的根本動力。

1.2現代人力資源管理

醫院現代人力資源管理是建立在全新的理論與管理思維之上的,它是運用現代化的科學方法,對與一定物力相結合的人力進行合理的培訓、組織和調配,使人力、物力經常保持最佳比例,同時對人的思想、心理和行為進行恰當的誘導、控制和協調,發揮人的主觀能動性。它帶來的是醫院人事管理理論和時間觀念的全面更新,它是要獲取與開發醫院服務工作需要的各類、各層次人才,建立醫院與醫務人員之間良好的合作關系,以人力資源滿足社會及公眾對醫院的要求,滿足醫院經營管理的發展的目標,也滿足醫務人員個人成長和發展的要求。在用人機制、運營機制方面均比較靈活,有較強的市場應變能力和市場競爭能力。另外,比較注重以人為本,提倡“人性化”管理,在薪酬分配、績效評估、員工激勵和未來的職業生涯規劃等方面更加符合現代醫院管理的要求。

2目前國有公立醫院人力資源管理的現狀

2.1對人力資源和人力資源管理的重要性認識不夠,沒有樹立正確的觀念

醫療衛生行業長期處于行政壟斷地位,醫院沒有在市場競爭中實現優勝劣汰,外部環境不需要對人力資源有較高的要求。這是目前公立醫院不重視人力資源管理的主要原因。

2.2人力資源管理體制僵化,人才流動機制不完善

目前,許多醫院還未真正成為市場的主體,其運行仍由行政部門干預,醫院不具有完全的用人自。雖然人才的評估在近年來有所規范,但不同醫院的同樣職稱人才,尤其是高級人才缺乏同質性,真正的自由流動和彈性機制沒有建立。醫院想要的人進不來,不要的人出不去,想走的人走不了,想來的人來不了,專業人員和管理人員缺乏積極性。其主要有四方面的原因:一是行政管理部門干預過多;二是醫院內部人力資源管理機制不健全;三是人力資源的市場機制不完善;四是原來遺留問題的后遺效應。

2.3缺乏科學的績效評估體系

目前大多數公立醫院仍為事業單位,績效考核沿用行政機關、事業單位工作人員年度考核制度,醫院各種專業、層次的人員,風險、技能要求不同,卻都在使用統一的考核標準,所考核的內容也很籠統和形式化,難以反映不同崗位不同人員的業績奉獻。

2.4薪酬分配缺乏競爭性和激勵作用

近年來,盡管一些醫院對拉開收入差距采取了一定的措施,但絕大多數醫院仍然在沿用過去的等級工資體系。沒有進行工作分析、制定崗位說明書、做薪酬市場調查、績效考核以及薪酬激勵等規范化的人力資源管理。

2.5未重視醫院與員工的共同發展

有些醫院招聘并錄用員工后,沒有對其進行醫院的價值觀教育,醫院缺乏良好的文化氛圍,使員工難以產生認同感和歸屬感,團隊協作能力不強。

3加強國有公立醫院現代人力資源管理的建議

現代醫院管理是以人力資源為核心的管理。人力資源管理就是在醫院管理中要堅持和貫徹“以人為本”,使“人”與“工作”和諧地融合起來,實現醫院和員工“雙贏”,達到利益最大化。為加強公立醫院的現代人力資源管理,提出以下幾個方面的建議。

3.1要樹立正確的人力資源觀念和現代人力資源管理新意識

人力資源是醫院的戰略性資源,是具有高增值性的重要資產。因此,人力資源管理者要打破傳統的人事管理觀念,從單純的人員行政管理中走出來,主動地去開發人力資源、挖掘潛能,使職工最大限度地釋放才能,滿足自我實現的需求。在醫療市場競爭中人才就是財富、人才就是效益、人才就是競爭力、人才就是發展后勁,人才是一種無法估量的資本,是一種能給醫院帶來巨大效益的資本。如果把醫院的人才帶走,醫院會垮掉;相反如果你拿走資金、病房及設備,而留下人才,幾年后可重建一個醫院。在人力資源中,特別是受到過良好教育和具有創新協作能力的高素質人才,在某種程度上講,對經濟和高科技發展起到決定性作用。“最優秀的人才是免費的”,因為他們為醫院創造的價值遠遠大于了醫院付給他們的報酬。因此,人力資源管理者,要堅持“以人為本”的思想,尊重人才、愛惜人才,想方設法做到“用事業凝聚人才、用精神激勵人才、用感情關心人才、用適當待遇留住人才”。

3.2建立競爭機制

堅持公開、平等、競爭、擇優的選人用人制度。選人用人是搞好醫院人力資源管理的第一關,只有建立公開、平等、競爭、擇優的選人用人制度,選拔和使用與所需要崗位相匹配的優秀人才,才能為諸如薪酬待遇,培訓發展等其他人力資源管理工作奠定良好的基礎。要善于公開選拔任用人才,拓寬用人渠道,增加透明度,為各類不同的人才提供和創造發展機遇。中國有句古話叫“英雄不問出處”,只要符合招聘的崗位要求,具備基本的學歷、資歷和工作經驗,就都應該讓其應聘,通過優勝劣汰來選拔崗位最佳人選。做好工作分析,崗位評價,制定崗位說明書和崗位規范等基礎工作,同時在選拔人才時要嚴格按照程序運作,這樣才能夠確保招聘到高素質的優秀人才。

3.3建立職責明確的崗位責任制

醫院要想有一個高效的運作機制,必須要相應地建立一套適合本醫院特點的組織體系和崗位設置,就是要堅持按需設崗,做到崗位職責明確、任職條件清楚,員工的能力與崗位要求相匹配。同時使該崗位的職責能夠充分履行而與上下配合協調,使醫院整體獲得最大效益。

3.4建立科學、公正、公開的績效考核制度

績效考核是對醫院員工勞動付出的一種反饋,同時也是支付薪酬的重要依據。在實施考核中必須要有一套能夠反映崗位特點和本人(或科室)實績的科學的考核標準,將不同崗位的責任、技術復雜性、承擔風險的程度、工作量大小、科研、教學等不同情況一并納入考核要素,同時在實施考核中做到公正操作,對事不對人,并將考核結果公開,及時做好反饋工作。

3.5建立公正、公平、合理的薪酬分配體系

薪酬是醫院進行人力資源管理的一個非常重要的工具。創新分配機制,建立公正、公平、合理的薪酬體系,對調動員工的積極性,提高醫院效益顯得尤為重要。薪酬的設計與結構以及水平必須建立在科學的工作分析、工作評價以及績效考核等基礎之上,真正體現按勞分配與兼顧公平的原則。在實際的薪酬分配中,要根據不同的工作態度,工作能力和工作業績拉開分配檔次,向關鍵崗位與優秀人才傾斜。對臨床醫技科室醫務人員勞務費分配實施崗位量化考核。各科室實行二次分配,把工作績效作為崗位薪酬、多元分配的主要尺度。對積極開展新技術、新項目和臨床科研成績突出者實行重獎。這樣做的目的,一方面是對員工勞動價值的肯定,同時也是穩定和吸引優秀人才的主要措施。薪酬體系合理,使醫院的薪酬對內具有公平性,對外具有競爭性。

3.6建立有效的人力資源激勵機制和約束機制

激勵可分為物質激勵與精神激勵。有效的激勵機制不僅可以調動員工的積極性,激發他們的創造力,而且可以增強醫院的凝聚力和競爭力,進而促進醫院的不斷發展和效益增長。制約機制也稱約束機制,就是要求醫院員工在醫療服務工作中的行為要符合職業道德規范和醫院規章制度,使其行為具有合法性和道德性。只有制約機制與激勵機制的相互配套與應合,才有可能獲得預想的管理效果。

3.7作好員工職業生涯規劃。為員工提供良好的發展空間

職業生涯是一個人在一生中所有的工作經歷,特別是指職業、職位的變動以及個人職業理想的實現過程。職業生涯規劃,就是根據個人的興趣、愛好和所具備的知識與技能以及相關的人際背景等各種因素來設計個人的職業發展計劃。醫院作為員工職業生涯得以存在和發展的載體,必須為每位員工提供一個不斷成長和挖掘個人潛力和發揮特長的機會,醫院管理者不僅要關注醫院目標的實現,更要關注員工個人理想的實現,讓他們獲得事業上的成功與滿足,只有員工的發展與成功,才能有醫院的發展與成功。醫院只有為員工作長遠考慮,員工才能為醫院作長遠考慮,這一點在現代醫院的人力資源管理中是必須明確的。超級秘書網

3.8建立完善的社會保障制度

完善的福利和社會保障制度僅僅在于滿足生理需要和安全需要這兩個低層次的需要。除我國現有的社會保障體系外,基于醫療行業的特殊性,對一些特殊崗位還要給予職業安全保護,并按國家規定給予各種休假待遇,讓員工在為醫院的貢獻中享受到各種法定的保障。

篇3

近年來,戰略人力資源管理思想日益深入人心,理論和實務上也取得了長足的進步。但是,對于戰略人力資源管理對組織價值創造的貢獻原理,無論是在理論上還是在實務中都存在著許多認識上的模糊和分歧。對這一問題進行澄清,對于組織有針對性地開展人力資源管理工作具有十分重要的作用。筆者認為,戰略人力資源管理可以通過獲取和保持最恰當的人力資源、實現人力資源管理的戰略匹配、充分開發企業人力資源為組織創造價值。

一、通過獲取和保持最恰當的人力資源為組織創造價值

1、成功高效的招聘錄用系統保證組織能及時、經濟、保質保量地獲得組織需要的人力資源。組織根據整體戰略制定戰略性人力資源規劃,在此基礎上建立動態的招聘錄用管理系統。這樣,組織始終能對組織內外部環境具有一種高度的敏感。招聘程序看似是在實際的招聘需求發生時才開始啟動,實則內外部人力資源供需的信息處理隨時都在進行。這樣的招聘錄用是主動的、有計劃的、系統的,因而也是快速高效,成本節約的。最為重要的是,它能保證組織獲取的人力資源是組織真正需要的。即新進的員工是合乎組織文化和績效要求的高承諾、高績效的“雙高”員工。“雙高”的實現,避免了組織因新進員工達不到組織的要求而產生的不必要的成本和損失。這包括新員工的知識、技能、態度達不到組織要求而造成的績效損失及由此產生的培訓費用;新員工與組織文化的沖突而導致的員工承諾不足及高離職率帶來的成本;員工與組織、員工與工作的不匹配帶來的組織核心能力建設的困難等等。

2、戰略人力資源管理能夠有計劃地將組織最需要的員工保留在組織內。這包含兩方面的含義,一是讓最適合組織需要的員工留在組織內,二是讓不適合組織需要的員工離開組織。為了留住組織需要的員工,組織必須從戰略上形成留人的機制。組織的人力資源戰略與規劃、招聘與錄用、培訓與開發、績效管理、薪酬福利、員工關系等必須緊緊圍繞組織的總體戰略并且互相銜接配合,在提高組織績效的同時不斷提高員工的工作生活質量和員工滿意度。保持組織需要的員工就能保持組織的人力資本并為人力資本增值創造了條件。與此同時,及時淘汰不適合組織需要的員工可以更有效地保證組織文化和績效目標的實現。

二、通過戰略匹配為組織創造價值

人力資源管理的戰略匹配有兩個方面的功能:導向功能和凝聚功能。

1、導向功能。戰略人力資源管理通過人力資源戰略與組織戰略的匹配,將組織的各項人力資源管理實踐與組織的戰略目標緊緊地聯系起來。組織的工作分析、工作設計、人力資源規劃、招聘錄用、培訓開發、績效管理、薪酬管理、勞動關系等各個方面不再單純地局限于自身的工作考慮,而是更多地從是否有利組織戰略目標的實現來考慮問題。而且,組織的各項人力資源管理實踐都通過各自的方式有效地將組織的戰略意圖傳達給全體員工(或未來的員工),將員工的期望、態度和行為有意識地導向組織的戰略方向。通過保持員工對組織貢獻方向的明確性、一致性,戰略人力資源管理為組織創造了巨大的價值。

2、凝聚功能。戰略人力資源管理通過整體的規劃和系統的設計,協調各項人力資源管理實踐,實現了人力資源管理職能間的匹配和功能整合,有效地避免了人力資源管理系統內各功能子模塊間的沖突和不一致,保證組織人力資源管理系統整體績效最佳。尤為重要的是,通過人力資源管理系統的內部匹配,組織可以形成強勢的主流文化,傳播明確的價值和行為取向,提高員工對組織的認知和忠誠,形成合力,從而為組織創造巨大的無形資產,使組織形成可持續發展的核心競爭力。

三、通過充分發揮員工能力為組織創造價值

充分發揮員工能力包括四個方面:一是通過人力資源的合理配置最大程度地發揮員工的能力;二是通過人力資源的合理配置最大程度地發揮員工的能力;三是通過有效的心理契約管理實現員工高承諾;四是通過有效的激勵最大程度地發揮員工的能力。

1、通過人力資源的合理配置最大程度地發揮員工的能力。戰略人力資源管理講求人與事、人與人、人與組織匹配,在這種有效的匹配中,實現每個員工效能最大程度的發揮。這是一種用人所長,人盡其才,整體互補式的管理。在實際的管理過程中,首先要根據組織的戰略和人力資源的現狀進行合理的工作設計。在此基礎上,建立組織的人力資源勝任力模型,然后通過人力資源的測試全面了解員工的勝任力狀況。再依照用其所長的原則量才使用,實現人與事、人與人、人與組織的最佳匹配。

2、通過人力資源的合理配置最大程度地發揮員工的能力。戰略性的績效管理強調的不是對員工績效的靜態的判斷,它注重的是對員工個人、團隊及組織整體績效的動態管理。從績效目標的設立到績效標準的確定到績效考核的實施和績效改進措施的落實,整個績效管理過程應該形成一個PDCA的循環圈,在循環的過程中不斷發現問題,解決問題,不斷實現個人和組織績效的提高。它管理的是績效形成過程本身,不把獲得績效考核的結果作為管理過程的重點,而將發現和解決績效形成中的問題作為管理的重點。

3、通過有效的心理契約管理實現員工高承諾。人力資源的一個重要特征就是它的能動性,它蘊含于作為生物個體的個人之中,其使用不同其它物的資源,要受到個人動機的影響。戰略人力資源管理通過與員工達成有效的心理契約,保證了員工對組織的高承諾。在實施的過程中,組織可通過人力資源戰略和人力資源制度以及組織的文化有效地向員工傳遞組織對員工的承諾,并通過人力資源管理的實踐逐步提高員工對組織的承諾,最終誘導出員工的企業公民行為,實現員工的社會化。

4、通過有效的激勵最大程度地發揮員工的能力。戰略人力資源管理注重內在激勵與外在激勵的平衡。一方面,它強調通過工作設計和員工的合理配置以及組織文化的建設讓員工通過工作本身獲得激勵,通過作為組織的一員獲得滿足。另一方面,它也重視物質激勵對員工行為的重要影響,在薪酬戰略中充分注意其員工行為導向功能。而且,戰略人力資源管理特別關注內外部激勵在一定條件下的轉化,并努力創造條件促其向有利于企業戰略的方向發展。

四、通過人力資源開發增值為組織創造價值

戰略人力資源管理將企業經營過程變成一種人力資本的經營過程。通過人力資本投資,企業可以獲取更大的人力資本收益。人力資本增值成為組織增值的一種重要形式,人力資本成為組織最重要的資產。戰略人力資源管理實現人力資本的增值首先是通過做好員工的職業生涯管理來實現的。組織根據組織戰略和員工測試的結果對員工的職業生涯進行設計,并與員工進行反復、充分的溝通,形成雙方認可、切實可行的員工職業生涯管理計劃。該計劃在實施過程中還可根據實際情況不斷進行調整。在員工職業生涯管理計劃的指導下,企業和員工共同努力,對員工進行系統的培訓和開發。這種培訓和開發因其目的明確、學以致用具有良好的效果和極高的投入產出比。

總之,通過實現組織人力資源管理的戰略化,人力資源管理部門將由過去的成本中心變成效益中心。戰略人力資源管理將成為組織價值創造和核心競爭力的重要源泉。

篇4

1教學內容的選取

針對我校剛升本的一般本科院校,教材采用[2],教學內容的選取應強調對編譯原理和技術的宏觀理解及全局把握,而不要把學生的注意力分散到一些細節的算法上,在講述各章的理論的同時要有一些C語言小程序作為例題或習題。免費論文參考網。結合編譯的各個階段,對教學內容的選取如下:

1.1詞法分析

本部分主要以正規式、NFA(不確定的有限自動機)、DFA(確定的有限自動機)及其最小化為主線來講解,同時對詞法分析器進行介紹,演示用C語言寫的一個簡單語言的詞法分析器,并要求學生上機實現。

1.2語法分析

這一部分中,上下文無關文法是必備基礎知識。語法分析包括自上而下與自下而上的語法分析二種。自上而下的語法分析包括二種:LL文法和遞歸下降分析方法,這兩種方法比較簡單進行可進行詳細介紹,用一個簡單語言的遞歸下降分析程序作為例子進行講解效果更佳。自下而上的語法分析出包括二種:算符優先與LR分析方法,由于目前編譯器的語法分析中已不再采用算符優先方法,因些可只作簡單的介紹就可以了。LR分析方法是比較重要的語法分析方法,但由于SLR分析、規范LR分析和向前看LR分析非常復雜,講解時需要占用較多的課時,不介紹這幾種LR分析表的生成算法可直接介紹LR分析表的使用較好。因此,在介紹自下而上分析的一般概念和使用LR分析表進行移進歸約分析后,可以直接介紹分析器的自動生成器,并介紹歸約時的語義動作,為下面階段語義工作的描述奠定基礎。

1.3語義分析和中間代碼的產生

靜態語義檢查通常包括:類型檢查、控制流檢查、一致性檢查、相關名字檢查,重點應放在類型檢查上,類型系統在編程語言的設計中占據重要位置,講解時先介紹類型系統在編程語言中的作用,然后用語義動作來表達類型檢查算法。

中間代碼生成主要介紹各種形式的中間語言,把賦值語句和各種控制流語句翻譯成中間代碼的語義動作。對于類型和變量聲明語句,重點關注怎樣按語言的作用域規則組織符號表。符號表中符號的插入和查找方法在數據結構中已經闡述過,只需稍作提及就可以了。

1.4屬性文法與語法制導翻譯

語法制導的定義和語法制導的翻譯方案是描述編程語言翻譯的兩種常用形式方法。它們描述嚴格并便于理解,因此大部分有一定深度的教材都用它們來描述靜態語義檢查和中間代碼生成等。這一部分內容較難,簡單加以介紹,讓學生有所了解即可。

1.5運行時存儲空間的組織和管理

這是最需要搞明白部分。尤其在用C這樣比較低級的語言時,掌握這部分內容對編寫程序和程序排錯都很有幫助。具體應該介紹局部存儲分配策略(即一個活動記錄中各類數據的組織),靜態分配、棧式分配和堆式分配等三種全局存儲分配策略,非局部名字的訪問方式和各種參數傳遞方式的實現。

1.6代碼生成

選擇一種采用簡單的寄存器分配策略的代碼生成算法加以介紹,讓學生對代碼生成有所了解即可。

1.7代碼優化

用實例來介紹各類優化,讓學生明白編譯器能完成哪些優化,而不要給學生介紹各種優化算法。這對編程有用處,例如,在可讀性好的源代碼和優化的源代碼兩者之間做選擇時,若知道那些優化可以由優化編譯完成,則寧可選擇可讀性好的代碼。

2.實驗內容的選取

設計一組適宜實驗內容:首先,要將編譯理論和方法在實驗中得以概括,使學生不僅掌握它們本身具體應用,而且掌握由這些理論和方法所構造編譯程序的各個部件是如何在整個系統中協調運行,這是實驗最重要目的之一。其次,必須合理地簡化,使學生比較容易完成。針對編譯原理課程的特點及要求,共設置了五個實驗項目。這組實驗既和理論課內容相輔相承,同時相互之間又互相關聯,構成了一個實驗整體。

實驗一:消去C、C++程序中的注釋(2學時,必做)實驗目的: 掌握C語言文件的基本操作,消除源C語言程序中的注釋,為以后的編譯提供方便。實驗要求:對給定的帶注釋的C語言源程序,利用該程序去掉注釋,輸出去除注釋的源程序。

實驗二:詞法分析(必做,4學時)目的:通過設計編制調試一個具體的詞法分析程序,加深對詞法分析原理的理解。免費論文參考網。并掌握在對程序設計語言源程序進行掃描過程中將其分解為各類單詞的詞法分析方法。要求:編寫程序對輸入的源程序字符串進行詞法分析,對符合下述文法描述的字符串,建立單詞符號表,不符合的字符串給出錯誤信息。

實驗三:遞歸下降分析法(4學時,選做)目的:根據給定的文法編制調試遞歸下降分析程序,以便對任意輸入的符號串進行分析。本次實驗的目的主要是加深對遞歸下降分析法的理解。要求:對給定的文法,利用遞歸下降分析法對任意輸入的符號串進行分析語法分析,對符合下述文法描述的字符串(表達式或賦值語句),給出中間代碼,不符合的字符串給出錯誤信息

實驗四:語法分析程序LL(4學時,必做)目的:通過該實驗使學生掌握描述語法規則的文法,以及加深對語法分析中自頂向下分析法中的預測分析法的理解。免費論文參考網。要求:對給定的文法建立預測分析表,利用預分析法對實驗一中詞法分析產生的符號進行語法分析,對符合下述文法描述的字符串(表達式或賦值語句),給出中間代碼,不符合的字符串給出錯誤信息。

內容:用擴充的BNF表示(同實驗三)。

實驗五:語法分析程序LR(4學時,必做)目的:通過該實驗使學生加深對語法分析中自下而上分析法中的LR分析法的理解。要求:對給定的文法手工建立LR分析表;利用LR分析法對實驗二中詞法分析產生的符號進行語法分析,對符合實驗中文法描述的字符串(表達式或賦值語句)給出中間代碼;不符合的字符串給出錯誤信息。內容:用擴充的BNF表示(同實驗三)

3.小結

編譯原理課程在計算機課程體系中的重要地位,決定了其課程建設和改革的長期性,對培養計算機專業的人才也有著重要的作用,探索該課程的教學方法,提高教學質量是從事計算機教育工作者的必須重視的問題,也是一個永遠值得探討的問題,我們根據我系的實際情況合理的運用現代手段,綜合考慮多種因素,將該課程的教學改革推向更科學的發展道路。

【參考文獻】

[1]張昱,陳意云,郭宇,李兆鵬. “編譯原理”課程的教學內容選擇的探討. Computer Education,vol18,no 4,2009.

篇5

在大學里,學習一門課程,不能簡單、膚淺地看成是對這門課程所含內容的研究、設計和開發,而是關注是否在有限的時間內最有利于學生專業能力的培養。計算機是一門技術性、工程性和應用性很強的學科,有其自身的基礎理論支撐體系。“編譯原理”課程本身以計算機專業基礎知識為載體,含有問題求解的典型思想、技術和方法,整個課程的內容對培養學生的計算思維,程序設計與實現,算法設計與分析,計算機系統的認識、開發和利用等學科基本能力都非常重要。并且,編譯技術在計算機體系結構設計、提高軟件開發效率與質量的工具開發等方面有著重要的應用。因此,“編譯原理”課程不但有存在的價值,而且對于計算機專業學生的能力培養和素質提高有著極其重要的作用和意義。

作為計算機專業的教育工作者,應該結合當前計算機的發展狀況,重新認識“編譯原理”課程的重要性,并根據當前的教育和就業形勢,積極研究、改進“編譯原理”課程的教學和實驗方法,提高教學效果和質量。

一、明確“編譯原理”課程對學生能力培養和素質提高的重要性

從課程體系總體設計看,“編譯原理”課程的主要教學目標之一是使學生在系統的級別上重新認識算法和程序,提升學生的系統能力。它是計算機專業課程中最難學的課程,既涉及形式語言和自動機等抽象理論,又是數據結構、程序設計語言、算法和軟件設計等知識的綜合體現,有效培養了計算機專業學生應具有的計算思維,算法設計與分析,程序設計與實現(硬件和軟件實現),系統的認知、分析、開發與應用等四大基本能力。

計算學科問題求解的基本思路是“問題-形式化描述-計算機化”,以抽象、理論、設計為其學科形態。“編譯原理”課程中要求學生掌握的包括程序變換基本概念、問題描述和處理方法(自頂向下、自底向上、逐步求精、遞歸求解,目標驅動,問題分析、問題的抽象與形式化描述,算法設計與實現,系統構建、模塊化)等知識、思想和方法,有利于學生養成“問題、形式化描述、計算機化”問題求解的習慣,實現從“實例計算”到“類計算”和“模型計算”的跨越。這其中既有明確的、便于抽象的問題,又有較成熟的理論,而且在限定規模下又容易實現(設計),涉及的是一個比較適當的抽象層面上的數據變換,所以該課程是計算機專業本科生的重要專業技術基礎課程。

二、“編譯原理”課程“教”與“學”的新思考

目前,在“編譯原理”課程教學中,“教”與“學”兩方面的問題都很突出:一些抽象的重要理論使學生學習的畏難情緒嚴重,加上有些人認為畢業后很少有機會參與設計與實現編譯系統,使得該課程的“教”與“學”的熱情偏低,而適用于新型體系結構及新一代計算機系統的編譯器的需求和大量應用,也給“編譯原理”課程內容的充實與更新提出更高要求。

作為教師,要讓學生深刻認識到:“編譯原理”是許多課程知識的集成與實踐,能進一步加深對許多專業基礎課程知識的理解;編譯程序所使用的原理、方法和技術有利于領悟計算機理論的精髓,在非編譯系統的實際應用中也發揮著很大作用;學習編譯對今后從事應用軟件,語言開發平臺、編譯系統甚至操作系統的開發等工作非常有益。

實踐證明,如果首先讓學生認識到課程內容的重要性,再輔之以合適的教學方法和教學手段,是不難取得好的教學效果的。根據筆者的“編譯原理”課程教學經驗,認為對于該課程的設置和教學可以從以下幾個角度來開展。

1.科學設置課程

對于“編譯原理”課程的設置問題,可以根據本科院校自身辦學宗旨,從普通高校本科、重點高校本科和研究生階段教育三個層次來考慮教學目標和培養要求等因素,在總學時的限制下,實現總目標的最佳課程。因此,可以考慮以下2種模式。

(1)課程分解模式。分為:“編譯技術”(必修),介紹為滿足基本應用而需要學生掌握的基礎知識、方法和技術,以達到語言轉換和實現理論基礎介紹的目的;“編譯理論”(選修),主要偏重于介紹形式化等原理性的深層次內容,方便有進一步深造需要的學生學習。

(2)內容分解模式。不單獨設置一門“編譯原理”課程,根據深淺和涉及到的具體問題,將與其他課程相關的內容分解到不同的課程中去,使學生在相關課程的學習中逐步掌握相關知識。這和前者比有一定難度:一是課程難分解,課程內容分解后與其他課程內容的重新整合在短時期內難做到科學分解與組織;二是增加了其他課程授課教師的工作量與難度。

2.優化教學內容

教師還要堅持教學與科研相結合,將最新的教改和科研成果引入教學,將經典編譯理論與現代編譯技術有機地結合起來。例如,可以將嵌入式編譯器、分布并行編譯器、多核編譯器以及適應新體系結構及新一代計算機系統編譯器的研究及其研究結果迅速充實到“編譯原理”課程中。此外,還可以向學生介紹編譯技術在人工智能、并行計算、自然語言處理等領域里的具體應用,為后續課程做好鋪墊。

3.用實例演示來形象化抽象理論

學生學習“編譯原理”課程的最大困難是其較為抽象,要獲得好的教學效果,就要將抽象理論形象化。改革教學方法,提倡互動式、研討式和案例式等教學方法。一方面,可以通過實例類比,例如,用自然語言的翻譯過程來類比編譯程序執行高級程序設計語言的翻譯過程。另一方面,教師可以借助多媒體手段,把抽象的原理用動畫、圖像等形象化的方式展示,便于學生的理解。同時,還可以向學生推薦網上優秀的“編譯原理”課程教學網站、電子書等資源,拓寬學生視野,培養和激發學生學習興趣。

4.把握聯系,啟發學生積極思維

在教學過程中,充分考慮“編譯原理”課程與數據結構、計算機組成原理、操作系統、算法分析與設計等先修課程之間的內在聯系,不斷深入和強化,以加強課程的系統性,培養學生的全局觀。同時還要把握編譯過程各個功能階段的內在聯系與規律,有目的地設計問題,有意義地提出問題,通過問題把編譯原理中的理論難點、抽象概念引導出來。

三、重視實驗,建立行之有效的實驗教學方法

設計和組織良好的實踐教學環節可以使“編譯原理”課程獲得良好的教學效果。現在很多高校都增加了實驗學時,并獨立計算實驗成績。我們在借鑒兄弟院校和國外經驗的基礎上,摸索出驗證性實驗加綜合設計性實驗的2階段實驗教學模式,各高校可根據自己的教學目標和培養要求來選擇實施。

1.驗證性實驗

這類實驗主要是為配合配合課堂授課內容,由教師按編譯原理授課順序,提供同步的若干驗證性實驗題目,讓學生逐個完成相關子模塊,逐步擴大完善整個編譯程序。這樣循序漸進地完成實驗,不僅增加了學生的成就感和自信心,而且使他們養成扎實的作風,使學練互動,激發學生學習興趣和積極性。而作為教師,則要做好組織、監督和解惑工作,幫助學生掌握編譯系統主要技術、算法的理解和設計,引導學生從整體上把握編譯系統的結構和各子系統之間的協調工作。

2.綜合設計性實驗

一定規模的綜合設計性實驗訓練是保證實踐教學效果必不可少的環節。我們可以讓學生以小組(由4~5名成員)為單位結合軟件工程課程實驗的環節完成一個規模適度的編譯程序開發。在實際操作時,可根據驗證性實驗階段的情況,把學生分成不同層次的小組,由他們選擇適合自己水平的不同的實驗題目。每組遵循完整的編譯器開發方式,融入軟件工程的思想,由大家推舉的組長分工、協調完成任務。這樣,不僅能讓每個學生體驗從分析設計、編碼測試到交付維護的軟件開發全過程,還提高了他們的工程和團隊意識以及開發大型軟件的協調結構設計能力。實驗結束時,教師要求學生以演示系統、答辯的方式公布實驗成果,以便公正評分。

篇6

我們知道,早在幾十年前,偉大的物理學家愛因斯坦就已經提出了統一場論;一直以來許多科學家,為了把萬有引力與電磁力統一起來,進行了不懈的努力;但是由于他在廣義相對論中提出的引力理論與經典電磁理論是格格不入的初中物理論文,因而也給統一理論制造了難以克服的障礙,所以許多科學家試圖從更微觀的角度來統一它們,因而提出了超弦理論,雖然理論的推導取得了一定的進展,但是確越推導越復雜,許多問題至今仍然無法解決,因而許多科學家也在進行反思,是不是我們前進的方向不對,本人經過近二十年的努力,總結出一個能夠驗證它們是不是同一種力的實驗初中物理論文,即重物懸吊實驗,具體實驗方法如下:

實驗器材:1、導電性能良好的金屬或合金容器(在金屬容器的上方設置一個圓形的上蓋,可以放入或拿出重物;在上蓋的中央設置一個圓形的小洞,可以來回穿過繩子)。2、放金屬容器的絕緣物體,3、重物,4、絕緣的繩子,5、吊重物用的滑輪,6、拉力計。實驗目的:驗證統一論。實驗步驟:第一步:把金屬容器放在絕緣物體上論文提綱格式。第二步:把滑輪固定在金屬容器的正上方。第三步:把繩子的一端穿過滑輪和金屬容器的上蓋、拴在重物上。第四步:拉住繩子的另一端,將重物吊起,放入金屬容器內。吊在金屬容器的中央初中物理論文,然后蓋上容器的上蓋。

第五步:將拉力計的一端固定,繩子拴在拉力計的另一端。第六步:記下拉力計的刻度(即重物的重量)。第七步:給金屬容器充上盡可能多的大量的同種電荷。

實驗結果:如果電磁力與萬有引力(重力)是同一性質的力,電磁場與引力場(重力場)是同一性質的場,那么當金屬容器的表面充滿大量同種電荷的時候,金屬容器外的電磁場與引力場(重力場)就能夠發生自動的相互中和論文提綱格式。這時的引力場就可以看做是一種電磁場;重力(引力)就可以看做是一種電磁力。根據處于靜電平衡狀態的導體內部場強處處為零的原理,可知金屬容器內的場強應該處處為零,因此重物在金屬容器內所受外力的合力應該為零,因此拉力計的刻度會自動歸零。反之,如果它們不是同一性質的力,當導電金屬容器表面充滿大量電荷后初中物理論文,容器周圍的電磁場和重力場(引力場)就不能相互中和,容器內重物所受的重力與電磁力就不會相互中和,拉力計的刻度就會保持不變。當然根據愛因斯坦的統一場論可知,實驗的預期結果應該是第一種,重物在處于靜電平衡狀態的帶電容器內,受到的重力與電磁力的合力應該為零,拉力計的刻度歸零。

參考文獻:

篇7

0引言

目前,國內外已有很多有關計算機語言類課程的考試軟件,它們大多已能很好地完成對常見客觀試題的自動評閱工作,但是對于一些主觀性很強的題目,尤其是程序設計題,還沒有很好的解決方案。其中主要采用的是結果評分法,即只依據程序運行結果給出相應分數,而并不查看考生程序內容。在這種評分機制下,程序中一個小小的錯誤就將導致一個幾近正確的程序無法運行,從而因無運行結果,考生將丟失全部分數。這與傳統人工閱卷中的評分原則是不相一致的,評分結果也并不能反應出考生的真實水平。本文以常見的C語言課程為例,對C語言程序設計題的自動評分方法進行了研究,在比較結果的評分方法基礎上,設計了動態評閱與靜態評閱相結合的方法,評分結果更加公正、準確。

1指導思想

經過大量分析與研究,我們設計了動態評閱和靜態評閱相結合的方法實現對程序設計題的評分。具體步驟如下:

(1)結果對比。檢查考生程序的結果文件,若與標準答案文件中的結果一致,則可得滿分。若不完全一致,可依據正確輸出數據的數量以予一定比例的得分。

(2)動態評閱。對于無結果的考生程序,我們可在系統控制下對其進行模擬運行以獲取運行結果。對有語法錯誤的考生程序,可以通過詞法分析和語法分析程序找出錯誤,同時設計改錯算法盡最大可能改正考生程序中的錯誤,最終使程序得以運行并保留錯誤信息。若考生程序經評改、運行,獲取了正確結果,則可依據錯誤信息從總分中扣除相應的分數。若仍無法運行或結果不正確,則采用靜態評閱。

(3)靜態評閱。所謂靜態評閱,是指通過對考生程序中語句的靜態檢查獲取評閱信息。系統事先在程序設計題的題庫文件中根據考試題目設置有多條關鍵語句,評分時,通過檢測考生程序中關鍵語句的數量可判斷其邏輯合理性,給出相應分值。

盡管上述評分方法,仍不可能做到像人工閱卷一樣實現真正的按步驟評分,但相對于以往只按結果評定成績的評分方法,相信該系統還是有積極意義的。由于考試題都是較小的程序,評分可以做到較大程度的準確。

3解決方案

程序設計題的評分最為復雜,在確定了程序設計題評分目標后,著重從以下四個方面進行了考慮:

(1)通過運行結果判定程序功能是否實現

我們要判斷一個程序是否正確,就是要看其是否完成了要求的功能,即程序的運行結果是否與實際應有的結果相符。C程序的運行結果是可以通過數據文件保存起來的,因而只要我們合理設計考題源程序中的部分內容,即在程序中指定程序結果的存儲文件,則在考生答題結束后,我們即可依據該結果文件中的內容是否與標準答案相符來判定考生程序的正誤。標準答案文件可在抽取試題時同時生成。

(2)采用“以程序改程序”的方法對錯誤的考生程序進行評改,使其趨于正確

C語言源程序文件是擴展名為.C的文本文件,可被作為普通文本文件一樣進行讀寫處理。一個沒有運行結果的程序不外乎兩種情況,或是有語法錯誤,或為死循環。針對前者,我們可以采用詞法分析及語法分析方法進行處理。詞法分析和語法分析任務有兩個,一是找錯,即要盡可能地找出程序中的詞法及語法錯誤,生成錯誤文件;二是改錯,要將發現的每一處錯誤盡最大可能修改正確,以便程序得以運行。編譯原理講述了開發高級語言編譯器的一整套原理和方法,我們可以借鑒這些原理和方法,結合C語言自身的特點設計出詳實的改錯算法。

(3)在程序中編譯運行修改后的考生程序

編譯器的設計是相當復雜而繁重的工作,由少數人在短期內去開發一個全新的編譯器是不現實也是不可能的。Turbo C提供有行編譯命令TCC.EXE,其使用方法類似于一般的DOS命令,可以將C程序直接編譯為目標代碼和可執行程序。據此,評分程序可在Visual Basic中借助Shell函數調用TCC命令程序,從而對考生程序進行編譯。通過檢查編譯結果即可執行文件是否生成,可判定考生程序是否正確。可執行文件為.EXE文件,可作為外部程序被其它程序所調用。若可執行文件生成正確,可再通過Shell函數調用可執行文件使考生程序得以運行。

(4)用API函數防止系統崩潰

如果考生程序為一個死循環程序,被 Shell啟動后將使系統陷入崩潰。Windows提供有很多控制應用程序運行的API函數。論文參考。為防止此種情況發生,可利用VisualBasic調用相應的API函數來處理。

(5)通過合理設計關鍵語句,檢驗考生程序的邏輯準確性

對于運行結果不正確,或經過評改仍無法運行的程序及死循環的程序,如何評閱以給出較合理的分數呢?這個問題其實就是要檢驗程序的邏輯合理性。一個可用多種方法編制的程序,由于其功能是確定的,因而其所采用的基本算法應是一致的。如求1至100的和,則不論用哪種循環語句,其基本算法都應是累加求和。考慮在給出的考生源程序中,可事先設定好存放結果的變量,并對程序中其它變量的命名加以適當規定,如循環變量必須使用i、j、k等。經過這樣的設計,使得試題程序中存在有部分確定的關鍵語句。在編程題的題庫文件中,我們可事先存放好正確的關鍵語句,評分時通過查找考生程序中這些關鍵語句的數量,即可給出相應的較合理的分數。

由于本系統主要用于對在校學生C語言基礎應用能力的考核,要求考生編制的源程序均不是很復雜,因此經過上述一系列的評改方法,本系統對考生程序是能夠給出一個較合理的考試分數的。與以往以結果論成敗的評分方法相比,本系統給出的評閱結果將更加接近于人工閱卷的結果。

4 系統設計

(1)功能結構分析

對程序設計題進行自動評卷較為復雜,主要包括兩個方面:一是要檢驗結果的正確性,二是要檢測程序的語法和邏輯是否符合要求。程序設計題閱卷評分系統的功能結構圖如圖1所示。

圖1 程序設計題評分系統功能結構圖

(2)評閱流程設計

經過對C程序結構的透徹分析與研究,對程序設計題的評閱主要采用結果對比、靜態評閱與動態評閱相結合的方法,具體步驟如下:

1)結果對比

檢查指定的結果文件是否存在,若存在則與標準答案文件進行對比。與標準答案文件內容完全相同,則說明結果正確,得滿分,否則轉去靜態評閱。若無結果文件,執行動態評閱。

2)動態評閱

①對考生源程序進行編譯連接,若生成可執行文件成功,則運行考生程序并進行結果檢查,若生成失敗,說明考生程序存在語法錯誤,轉入以下過程繼續處理。

②對考生源程序進行詞法分析。掃描源程序,將其轉化為特定格式的TOKEN串,存入TOKEN文件。

③根據詞法分析的結果,即TOKEN文件,進行語法分析。論文參考。詳細指出程序中存在的語法錯誤,生成錯誤文件,在保證不對考生程序正確部分產生破壞的前提下,盡最大可能將考生程序修改正確,生成修改后的TOKEN文件。

④調用轉換程序將修改后的TOKEN文件重新生成為C語言源程序,其與考生源程序不同名,稱其為新生源程序。

⑤調用TCC程序以命令行方式對新生源程序進行編譯連接。論文參考。

⑥編譯連接成功,運行新生源程序的執行文件,并調用API函數控制程序運行, 以防由于死鎖的發生導致系統崩潰;編譯失敗則退出動態評閱過程,改用靜態評閱。

⑦對新生源程序的運行結果進行檢測,若有結果,則轉去進行結果比較,若無結果則轉去進行靜態評閱。

3)靜態評閱

從程序設計題題庫文件中讀取該試題的關鍵語句,對考生程序進行檢測。根據檢測出的考生程序中的關鍵語句的條數判斷程序的邏輯合理性,給出相應分值。

5 結論

本文提出了一種較新的C語言程序設計題的自動評分方法,對其進行了系統的研究與設計。通過運用編譯原理的理論編寫相應的評改算法,可實現對C語言程序設計題的自動評分,此種方法已經過代碼設計初步實現,經測試,評分結果更加人性化,更加接近于人工閱卷的結果。此種評分方法對于如C++、JAVA等程序的自動評分方法的設計,具有一定的參考價值。

參考文獻:

[1] 段漢周,凌捷,鄭衍衡. Visual Basic程序設計考核自動評閱系統中若干問題的研究. 計算機工程,2001,27(4)

[2] 李丁. 計算機考試系統中自動評分策略的研究與實現.計算機與現代化,2002(9):8

[3]王春霞. 自動閱卷系統的開發. 鹽城工學院學報,2002,15(1)

篇8

1 引言

LPC2124是基于一個支持實時仿真和跟蹤的16/32位ARM7TDMI-S CPU的微處理器,并帶有256KB嵌入的高速Flash存儲器和16KB的RAM。LPC2124具有教小的64腳封裝,極低的功耗,多個32位定時器,4路10位ADC,PWM輸出,46個GPIO以及多達9個外部中斷,并且內置了多種串行通信接口物理論文,支持JTAG、ISP、IAP等多種編程方式,使得LPC2124能夠適用于工業控制、訪問控制、醫療系統以及其他各種類型的應用[1,2]。

Proteus軟件是由英國Labcenter Electronics公司開發的EDA工具軟件,是一款新型的嵌入式系統設計、分析與仿真軟件。Proteus軟件不僅能夠實現數字電路和模擬電路的設計與分析,而且還能夠實現微處理器與外設的混合電路設計,可以直接在原理圖的基礎上進行微處理器的軟件協同仿真和功能驗證。Proteus軟件只帶匯編編譯器(不支持C語言),但可以將其與Keil集成開發環境進行聯調,達到很好的仿真效果[3,4]。

本文設計的精確計數系統功能為:當按下按鈕時,數碼管的計數加1,當放開按鈕時,數碼管的計數保持不變;開始時數碼管的計數為0,當數碼管的計數達到15(即16進制的F)時又重新從0開始計數。系統軟件的設計采用Keil軟件完成,編譯連接之后得到可執行的hex文件;系統硬件的設計采用Proteus軟件完成;軟硬件的協同仿真是在Proteus中加載hex文件進行精確計數的測試。

2 硬件系統的設計

精確計數系統采用LPC2124微處理器作為核心器件,并為其提供了兩組電源分別為3.3V和1.8V。硬件系統主要由以下四部分電路組成:XTAL1和XTAL2兩個端口連接晶體振蕩器組成時鐘電路,RST端口連接一個按鈕組成復位電路物理論文,P0.0-P0.6端口連接一個共陰極的7段數碼管組成輸出電路,P0.7端口連接一個按鈕組成輸入電路論文格式。在精確計數系統中,P0.0-P0.7共8個端口的功能都是GPIO,P0.0-P0.6共7個端口的方向都為輸出模式,P0.7端口的方向為輸入模式[5]。采用Proteus軟件設計的硬件系統原理圖,如圖1所示。

圖1 硬件系統原理圖

3 軟件系統的設計

精確計數系統軟件的設計主要在于對LPC2124微處理器相關寄存器的設置,從而控制數碼管計數的顯示。軟件系統的設計采用Keil軟件完成,并最終得到可執行的hex文件。軟件系統的設計主要通過以下幾個步驟來實現,程序流程圖,如圖2所示。

圖2 軟件系統流程圖

1.初始化系統時鐘并設置相應的寄存器。晶體振蕩器的頻率為10MHz,LPC2124微處理器的時鐘頻率為60MHz,設置相應的寄存器程序如下:

PLLCON=1; //使能PLL

PLLCFG=(60/10-1)|(1<<5); //M=5+1,P=1

2.初始化相應端口的功能為GPIO,設置相應的寄存器程序如下:

PINSEL0=PINSEL0|0xFFFF; //P0.0-P0.7共8個端口功能為GPIO

3.初始化相應端口的方向為輸入或輸出模式,設置相應的寄存器程序如下:

IO0DIR=0x7F; //P0.0-P0.6共7個端口為輸出,P0.7端口為輸入

4.開始計數數碼管顯示0物理論文,設置相應的寄存器程序如下:

IO0SET=0x3F; //P0.0-P0.5共6個端口輸出高電平,P0.6端口輸出低電平

5.循環檢測按鈕是否被按下,并進行相應的處理,程序模塊如下:

void button_test( )

{

int i=0,key;

unsigned charledcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,

0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71}; //顯示0-9,A-F的筆段代碼表

while(1)

{

key=IO0PIN&(1<<7); //獲取P0.7端口的電平,即檢測按鈕是否被按下

if(key==0) //按鈕被按下

{

i++;

if(i==16) //計數器加到16

{

i=0;

IO0CLR=ledcode[15]; //清除數碼管上次計數的顯示

}

else

IO0CLR=ledcode[i-1]; //清除數碼管上次計數的顯示

IO0SET=ledcode[i]; //數碼管顯示新的計數

while(1)

{

key=IO0PIN&(1<<7);

if(key!=0) //按鈕被放開

break;

}

}

}

}

4 仿真與結論

精確計數系統軟硬件的協同仿真是在Proteus中加載hex文件進行計數的測試。經仿真測試結果表明:本精確計數系統能夠根據按鈕的按下與否準確進行0到15(即16進制的F)的計數,并通過數碼管進行準確顯示,達到了設計的目標要求。同時,在此基礎之上,可以對系統的軟硬件功能進行擴充,以適用于其他方面的應用。

參考文獻:

[1]韋文祥,朱志杰,車琳娜,郭寶泉.基于LPC2124的一個遠程系統軟件升級方案[J].單片機與嵌入式系統應用,2006,5:46-49

[2]晏五一,朱志杰.基于LPC2124的遠程配電變壓器監測終端設計[J].電力系統,2007, 26(7):31-34

[3]楊校輝.Proteus在ARM系統設計中的應用[J].單片機與嵌入式系統應用,2009,8:77-79

[4]張勇.基于Proteus平臺的32位單片機LPC2114虛擬串口通訊仿真[J]. 集成電路通訊,2008,26(1):8-12

篇9

作為信息產業的核心和國民經濟信息化的基礎,軟件產業日益受到國家的高度重視。權威數據顯示,我國軟件產業每年人才需求量近一百萬,然而令人尷尬的是,許多軟件企業卻招聘不到真正合適的軟件人才。信息社會不斷增長的軟件人才需求與優質軟件專業教育供給不足的矛盾已成為計算機高等教育發展面臨的一個重要問題。

2001年12月,經國家教育部和國家計委聯合發文批準,全國首批35所示范軟件學院正式成立,目的是批量培養具有國際競爭能力的高層次、應用型、復合型軟件工程人才。自示范軟件學院成立以來,我國軟件工程教育事業得到了很大發展,學科建設逐步走向成熟,初步實現了與國際學科發展的接軌,軟件工程教育實現了歷史性跨越。

然而,軟件工程是一個迅速發展的交叉性學科,相關的新概念、新技術、新方法不斷涌現,這就要求教育機構要不斷調整策略,以應對專業的快速變化。尤為突出的是,無論是全國首批35所示范軟件學院還是非示范軟件學院,大部分都根植于計算機學院,因此很多軟件工程專業學科課程體系與計算機科學與技術專業基本相似,而計算機科學與技術專業的教學內容是遠遠不能適應軟件工程學科的發展要求的。

從根本上解決上述問題的關鍵是,結合中國軟件產業和軟件學院已有的硬、軟件基礎設施及辦學的具體情況,研究和定制適合本學院特色的軟件工程學科的課程設置、教學內容、教學方法,形成一個良好的軟件工程學科課程體系,使軟件工程教學更具先進性、目的性和系統性,其中對計算機科學核心課程的工程化改造勢在必行。

本文將研究計算機學科的“編譯原理”課程在軟件工程專業如何進行工程化改造,怎樣創建適合軟件工程專業知識體系要求的“編譯原理”實踐教學,從而在科學的軟件工程學科課程體系的保證下,形成一個融基礎理論、實驗教學、工程實踐為一體的整體化培養機制,以適應軟件工程學科教學要求,使軟件工程學科教學質量得到不斷發展,使軟件工程專業教育得到健康穩步發展,培養社會需要的軟件人才。

1 “編譯原理”的工程化實踐教學體系

1.1教育教學理念

工程化實踐教學就是樹立工程化能力培養與基礎理論教學、專業能力培養并重的教學理念,把工程化教學作為人才培養的核心任務之一,通過全面改革軟件工程專業的人才培養模式、調整課程體系、充實教學內容、改進教學方法,在教學過程中全面體現能力和職業素質培養的思路,并將軟件工程知識內容由淺入深、階梯狀、循序漸進地貫穿在工程化實踐教學的各個開發項目中。

基于上述軟件工程專業的知識體系、本科課程設置的指導原則以及工程化實踐教學教育教學理念,下面將給出“編譯原理”課程的工程化實踐教學體系。

1.2 “編譯原理”的工程化實踐教學體系

如圖1所示,“編譯原理”課程的工程化實踐教學體系由六個部分組成:編譯原理課程工程化實踐教學環境、編譯原理理論教學、軟件工程能力培養、階梯狀迭代工程實踐項目、配套教材和評價體系。構建理念為以計算機科學為基礎,以軟件工程為核心,以目標應用為導向。

1.2.1 “編譯原理”課程工程化實踐教學環境

“編譯原理”課程工程化實踐教學環境由實驗室、項目團隊、教師講座以及團隊匯報組成。

(1) 實驗室。以工程化培養理念指導教學實驗室建設,為“編譯原理”課程工程化實踐教學提供強有力的基礎設施支持。提供全天開放機房,機房實行開放型管理。項目開發時間規定為開時間和閉時間,閉時間為固定時間,要求授課教師到機房現場指導,開時間內,學生可以自由選擇時間,以小組為單位進行自行討論、設計,要求實驗室人員在現場,以便解決設備問題。機房的使用和維護要有嚴格的管理制度,保證項目的順利完成。

(2) 項目團隊。將4~5個學生分為一個項目小組,一名組長作為負責人;每名學生分配一臺微型計算機,在開發小組中以分工協作的方式完成指定的軟件開發任務,完成項目設計報告,并提交完整的軟件開發文檔和源代碼。學生在團隊環境下使用最新的軟件開發工具,獲得較真實的軟件開發經驗,提高學生在項目規劃、隊伍組織、工作分配、成員交流等多方面的能力,培養學生團隊合作及工程項目研發能力。

(3) 教師講座。指導教師在整個的項目開發中縱覽全局,項目的開始、結束及中間的每個模塊都要進行全面的講解、引導和組織。教師要系統講解軟件工程知識點和軟件技術,統一講解項目開發過程中學生普遍存在的問題,不斷地發現問題,解決問題。

(4) 團隊匯報。理論教學中教師唱主角,而工程化實踐教學應讓學生唱主角,讓開發小組自己擬定演講方案、內容,由教師審核修改后進行匯報演講。這樣可以有效地提高學生總結概括、研究立項、口頭表達、演講和交流溝通的能力,培養學生獨立思考、分析問題的能力和創新能力。

1.2.2 “編譯原理”理論教學

由知識的先期注入和工程化理論教學組成。

(1) 知識的先期注入。“編譯原理”課程的理論性較強,整個課程內容由幾個功能模塊組成,學生對課程的完全理解應在最后一個模塊,即課程結束時。鑒于教學內容的特殊性,應在一門程序設計語言之后安排“CO釋程序的面向對象設計與實現”項目,作為前導實踐環節,配套教材為《C++實戰:解釋程序的面向對象程序與設計》。這可以使學生在學習理論之前對程序設計語言的解釋執行有較深的理解,由傳統的“填鴨式”被動學習轉變為學生自主式學習。學生對“編譯原理”課程的學習由問“這是什么”變成“這是我需要的什么”,從根本上解決了“編譯原理”課程的教學困難。實踐表明,這種方法在鍛煉學生實踐能力的同時先期注入了理論教學需要的解釋程序的知識和概念,有很好的教學效果。

(2) 工程化理論教學。編譯程序是龐大而復雜的,這使得如何介紹編譯原理本身就是一個難題。中外編譯原理教材很多,如果從工程化的角度去詮釋編譯程序的實現過程及其原理,即對一個完整的源程序到目標程序的轉換過程進行詳細講解,不失為一個新的途徑。我們的配套教材《編譯程序的實現原理》的編寫形式如下:先給出編譯器的輸入――一個C語言小程序;再給出編譯器的輸出――目標機上的目標語言,完成這樣的轉換需要進行的工作包括詞法分析、語法分析等幾個功能模塊;再針對每個功能模塊給出本模塊的輸入和輸出,如詞法分析為一個C語言小程序,模塊的輸出形式為TOKEN鏈表,完成這樣的轉換需要進行的工作由理論和實現兩部分組成。這種講述方法實現了五化:

工程化:以對一個完整的源程序到目標程序的轉換作為教學載體介紹編譯程序的實現及其原理,以反映編譯的工程性。

模塊化:將一個完整的源程序到目標程序的轉換作為總目標,將不同的子轉換作為各個子模塊的目標,以反映編譯的模塊性。

鏈接化:將一個完整的源程序到目標程序的轉換所需的知識處理成總目標與子模塊、子模塊內所需知識點之間的鏈接,以反映編譯的整體性。

需求化:將編譯原理內容的平鋪直敘轉換為實現一個完整的源程序到目標程序的轉換的所需知識,解決了編譯內容的龐雜、不分主次、敘述冗長的問題。

形式化:將形式語言的內容介紹放置在為完成目標所需知識的位置,突出形式語言的地位、內容及其應用。

1.2.3軟件工程能力培養

在工程化實踐教學體系中,軟件工程能力的培養是至關重要的。

軟件工程能力包括軟件需求、軟件設計、軟件構造、軟件工程基礎結構、軟件配置管理、軟件維護等知識單元。有些知識單元在早期學習,以促進學習條件的成熟;而有些知識單元的學習需要一定的成熟條件,應該放在后期講授,如階梯狀迭代工程實踐項目是整個教學過程中理論聯系實際,培養學生動手能力、觀察能力、分析和解決問題能力、團隊合作以及創新精神的重要環節。把軟件工程知識單元分期、分階段引入階梯狀不同開發項目的全過程,形成了特色鮮明的工程化實踐教育體系,使學生的軟件工程能力在實際項目開發中得到鍛煉和提升。“編譯原理”課程工程化實踐項目內容安排如表1所示。

“實踐性、個性化、逐步工程化”是工程化人才培養的重要環節,也是學生成為合格軟件工程化人才的實踐過程。以上教學組織方法既保證了教學的系統性、知識性,又保證了教學案例的先進性和實踐性。

1.2.4階梯狀迭代工程實踐項目

編譯器代碼的長度可從10 000行到1 000 000行不等,編寫甚至讀懂這樣一個程序都非易事,更何況是開發,因此編譯器的實現比以前任何課程中學生承擔的設計要大得多、難得多。縱觀國內外大學研究現狀,一般都是先設計一個語言,面向過程式或面向對象式,然后對設計的語言進行面向過程或面向對象程序設計方法的開發,早期采用面向過程語言編譯器的面向過程開發,如吉林大學計算機科學與技術學院的編譯原理實踐課程“編譯程序的設計與實現”,近期采用面向過程語言編譯器的面向對象開發,或是面向對象語言編譯器的面向對象開發,如“Modern Compiler Implementation in Java”。無論哪一種,學生都是一次性為具有上百條產生式語法的語言開發編譯器,難度極大,這使實踐課程的收效甚小。采用階梯狀迭代教學法創建的編譯原理課程工程化實踐項目從根本上解決了這個問題,配套教材為《編譯程序的面向對象程序與實現》。

如圖1和圖2所示,編譯原理課程工程化實踐項目內容包括“C0解譯程序的面向對象設計與實現”,“C1編譯程序的面向對象設計與實現”,“C2編譯程序的面向對象設計與實現”,“C3編譯程序的面向對象設計與實現”。整體項目的源語言定義為C語言的子集,采用階梯狀迭代教學法后,將源語言定義為C0、C1、C2、C3,Cn是Cn-1的擴展。

編譯原理課程工程化實踐項目的優點有:

(1) 起點低:降低了開發難度。學生根據自己的實際水平選擇源語言級別,有不同收效。從根本上解決了軟件開發水平低的學生對編譯程序開發望而生畏甚至放棄的問題。

(2) 階梯上升:項目內容的選擇不是零散的、隨機的、重疊的,而是相互關聯的。縱向為編譯理論,是主要內容;橫向為軟件工程,是輔助內容。主要內容將難點分散,處理成階梯狀;輔助內容也將難點分散,同樣處理成階梯狀。

(3) 迭展:每一個項目需求是前一個項目的擴展,因此,每一次的軟件開發可以看作是前一次開發的迭代,使學生面對大型軟件開發項目中最難處理的用戶需求不斷變更的問題,最大程度地使用重用技術。所有項目的開發承上啟下、循序漸進、階梯狀迭展,為研究和學習軟件生產線新技術埋下伏筆。

(4) 知識滲透:將軟件工程核心內容及工程化軟件開發思想由淺入深逐步滲透到各個項目中,每個項目具有不同級別的培養目標,學生從不同項目循序漸進地掌握工程化軟件開發理念,降低了工程化軟件開發的難度。

階梯狀迭代工程實踐項目發揮了學生的主體意識,給學生足夠的空間,激發了學生的活力與創新思維,并培養了學生的“三個能力”(自我管理能力、組織策劃能力、社會實踐能力)和“五種意識”(責任意識、服務意識、創新意識、團隊意識、競爭意識)。

1.2.5配套教材

編譯原理課程工程化實踐教學配套教材共有3部,前導教材《C++實戰:解釋程序的面向對象程序與設計》與“編譯原理”理論教學知識的先期注入配套;《編譯程序的實現原理》與“編譯原理”工程化理論教學配套;《編譯程序的面向對象程序與實現》與階梯狀迭代工程實踐項目配套,3部教材前后關聯且各呈完整體系。本套教材為清華大學出版社“編譯原理及其實踐課程的工程化教學課群研究”立項項目,已出版1部,另2部明年中旬出版。

1.2.6評價體系

編譯原理課程的工程化實踐教學評價體系包括對學生工程素質和對教學體系的評價。

學生工程素質的評價采用過程化考核管理標準,即把工程化能力和職業素質引入學生工程素質的評價體系,加大工程化實踐環節的比重,形成專業理論知識和實踐能力并重的考核體制,將期末一張試卷定成績的考評機制改為由工程化實踐項目、隨堂測驗、論文、面試、考試、團隊等多種形式相結合的評價機制,防止實驗抄襲現象。編譯原理課程考核采取理論知識和工程化實踐項目完成情況的綜合考核方式,工程化實踐項目根據項目設計報告、軟件開發文檔、源代碼和運行系統的質量進行考核,學生成績以登記評定方式給出。

教學體系的評價采用回饋化考核管理標準,即把企業回饋和畢業生回饋引入教學體系的評價。對企業和畢業生進行跟蹤調查,通過收集企業和學生的反饋指導教學和實踐項目的設置和修訂,形成良性循環,為進一步提高教學質量打下堅實基礎。

2結論

軟件工程是集計算機科學與技術、數學、經管等多學科的交叉性學科。作為一名軟件工程教育者,我們必須建立一套具有自身特色的工程化人才培養體系,培育具有國際競爭力的一流軟件產業高級/高端人才,結合軟件工程人才的學科交叉性、偏重實用、職業定位等特點,系統深入地研究軟件產業對技術型、管理型的人才需求,注重學生綜合能力和專業素質的培養,才能在計算機系統、軟件工具、軟件工程和管理上循序漸進地提高學生的能力。

參考文獻:

篇10

計算機類教材的隱憂

1.題材撞車與“自留地”現象

有誰能說出全國一共出了多少種《C程序設計》教材?有誰能說出全國出了多少種《編譯原理》教材?還有《數據結構》、《微機原理》、《軟件工程》、《離散數學》……幾乎所有的計算機專業骨干課程,都可以列出長長的一個書單。而這些教材,幾乎都是一個模子里出來的,從目錄上看,內容差不多,甚至連寫作的語言也讓人“眼熟”。

很明顯,教材的寫作似乎已進入“工業化大生產”階段,教材成了“教材生產流水線”上的產品。

然而我懷疑,這樣的生產流水線能出得了堪稱精品的教材?

教材內容雷同的現狀,催生了各個院校在教材選用上的“自留地”現象,即選教材時優先選用本校教師寫的教材。因為大部分的教材內容大同小異,那為什么不用自己的?作出這個決定省時省力,而且可以說出一連串“合情合理”的原因。

但教材選用上的“自留地”現象,客觀上卻為推廣優秀教材帶來了阻礙。

2.面孔嚴肅,拒人千里

我的一個朋友有句名言:“書非K不能讀也!”他的意思是,學習教材的過程是非常痛苦的,要經歷一個“死去活來”的過程,才能最終琢磨出味道來。

在我看來,這實在太確切了。

我們太多的教材,老板著個臉,文字乏味枯燥,拒人于千里之外。在這方面,最典型的是理論性本身就很強的教材。比如《離散數學》教材,大多數都充滿了大量的抽象的概念與定理,并夾雜著大段大段枯燥的形式化推導與證明,如果有人告訴我這樣的書他讀得“很享受”,那他不是一個“數學天才”就是在說反話。

我手頭有一本北京某著名大學的老師編寫的《離散數學教程》,寫作風格比較簡潔,但太簡潔時就增大了閱讀的難度,薄薄的幾頁有時就得耗去讀者數個小時。剛好手頭還有另一本機械工業出版社引進的《離散數學及應用》(《Discrete Mathematics and Its Applications》,Kenneth H.Rosen著),就顯得平易近人多了。論厚度,這本是那位老師寫的書的1.5倍左右,但相比之下,我還是寧愿抱著臺電腦用“金山詞霸”去啃這厚厚的“英文磚頭書”。

這位著名學府的老師她本人無疑具有很高的數學水平,而這本教材,我想可能是針對該校基礎很好的本科生編寫的,對于像我一樣數學水平有限的普通讀者選它來學習,無疑是個錯誤。

國內國外同類教材對比,我不由得產生以下疑問:

為什么國內作者在寫作時不能多舉些例子,不能多一些通俗的解釋?為什么國內作者如此惜墨如金,能不能在書中多寫幾段話,點明這些理論的實踐意義?為什么國內的作者不能在教材中對最重要的知識點給出“畫龍點睛”式的強調,以幫助讀者去把握這一領域的脈絡?

我衷心希望國內作者在寫教材時多從讀者的角度去想想,不要對讀者已掌握的知識與技能作太多的假設!

真正有成就的人,比如許多大科學家,都說他們之所以取得一定的成就,都是因為他們對各自的領域有著強烈的興趣,著名數學家陳省身就說過他是在“玩”數學。能把如此抽象的學科看成玩具,難怪陳先生能成為一代數學大家!

那對科學的興趣從何而來?

現在的家長和教師,從小學到大學,無不為孩子沉迷于網絡游戲而發愁。為什么這么多的學生會喜歡上網絡游戲?很簡單,因為網絡游戲有趣,好玩,讓他們有成就感,可以讓他們逃避令他們感到痛苦的學校學習生涯。

為什么學生認為學習是件苦差事?他們天天要啃的教材是這樣一副冷冰冰的模樣,有哪個學生會喜歡?這是非常自然的事情。

當然,無論怎樣編寫,教材是無法做到像游戲一樣引人入勝的,但教材的編寫者完全應該想辦法讓學生的學習多一點樂趣,少一點痛苦!

當前大多數教材讀起來毫無樂趣可言,這點無庸多說,每個過來人都有體會。

3.在寫教材還是在寫論文

教材的寫作風格與論文有很大不同,然而,真有一些教材是以“論文筆法”來寫的。

論文有特定的寫作方法,高水平的論文可能會用高深的數學語言來表述,比如愛因斯坦最初的有關狹義相對論的論文,據說當時全世界科學家中能看懂的沒幾個,不為大眾所理解,并不影響論文本身的水平。

然而把這種“論文筆法”用到教材上,那就走入了誤區。教材的主要目的是傳播知識,而不是向世界宣告您又發現了什么新理論。如何讓讀者能更快地汲取書中的營養,這是教材編寫者必須考慮的問題。

除此之外,還有更嚴重的問題。

當今中國高校非常強調論文的發表數量,太多的人為發論文而忙碌。為了,出現了一種很不好的論文寫作風格,筆者稱之為“淺入深出”。作者自己并未作太多的研究,也沒有多少真正的成果,為了論文更易于發表,必須人為地加大論文的閱讀難度,比如某個問題其實可以用幾句大白話就講清楚的,卻一定要繞個大彎子,加上N多數學公式……別人看不懂,呵呵,那是你水平不夠!大批這樣的論文中不乏“南郭先生”。

由于教材也是晉升高一級職稱審批的指標之一,就有人為此目的而拼湊教材,自然而然地將拼湊論文的套路用到了教材編寫上,習慣成自然嘛。對這種“新鮮出爐”的教材,只能用一個詞來形容――“誤人子弟”!

4.從理論到理論的“空對空導彈”

計算機科學本質上是一門實踐性非常強的科學,正是實踐在推動計算機科學與技術的不斷進步,許多的計算機理論都可以找到它的實踐基礎。

拿《編譯原理》來說,其中介紹到的許多理論與方法在軟件開發中應用是很廣的:復雜的軟件如一個編譯器,簡單的程序如一個計算器;大規模的軟件如現代軟件集成開發環境,小的軟件如某個MIS系統中四則運算公式的解析模塊,都可看到編譯理論的巨大威力。

然而,太多的編譯教材只重理論不重應用,講了一大堆的文法和自動機理論,嗦嗦地詳細介紹各種分析方法,卻都是“紙上談兵”,從理論到理論,難怪有這么多的學生困惑不已:我為什么要花這么多的時間去學這么難的課程?它有什么用?難道僅為了考試?

知識的獲取與掌握是有其客觀規律的,一般而言,具體的知識易于理解,而抽象的知識則難于把握,在學習過程中,應遵循“具體抽象具體……”這樣一個無限循環的過程。

如果某人對一門學科所知不多,卻指望他能通過理論學習迅速地把握這門學科,這違反了人類認識世界的客觀規律。

因此,從認識論角度出發,教材的編寫是不能從理論到理論的。必須先從實例引入,再介紹理論。教材應盡可能地展現出人類在探索某個問題時所經歷的具體過程,理清其來龍去脈,闡明知識之間的內在聯系,從而幫助學生在學習過程中循序漸進地建立起一個相對完整的知識體系。

改進之路

那么,應該如何寫出一本好的教材呢?

1.作者要有責任心

教材的作者,絕大部分都是教師。要牢記教師的職責:傳道、授業、解惑。我們身上是有責任的,誤人子弟,則罪莫大焉!

這就要求作者厚積薄發,盡可能不要出于功利性目的(比如升職稱)而寫教材。當然,現實中功利性因素是不可避免的,只能要求作者既然要決定寫,就要盡可能地寫好。

我強烈反對沒有任何實際開發經驗與教學經驗的人來寫計算機類教材。孫子有語:不知彼不知已,每戰必敗。這樣的人既對計算機技術不熟,又不了解學生的真實情況,怎可能寫出好教材?

另一個對作者的要求是與時俱進。計算機理論與技術的發展太快了,因此一本好教材應及時補充新內容。在這點上,國外的許多經典教材做得很好。比如我前面提到過的《離散數學及應用》,我手頭上的已是第5版。還有一個例子,比如著名的Deitel父子寫的《Java How To Program》(《Java大學教程》),幾乎做到了Java每出一個新版本,相應地他們也會跟著更新書中的內容,出一個新版。

第三個對作者的要求是能與讀者互動。在互聯網大普及的時代,網絡是獲取讀者反饋信息最便捷的手段。國外的著名教材,幾乎每本都有一個網站提供各種的附加資源,并給讀者答疑解惑。對于國內的作者而言,要求每本教材都建立一個獨立的網站是不切實際的,但最起碼作者應該留一個電子郵件地址。目前Blog非常紅火,許多博客網站都提供免費的Blog服務,筆者認為這是一個很好的作者與讀者互動的平臺。

2.弄清楚教材是給誰看的

教材與理論專著不同,教材是學生學習的依據,其目的是更快更好地將知識傳授給學生,因此,應從學生角度而非教師角度編寫教材,要讓學生“便于學”,而不是教師“便于教”(當然最好兩者兼顧,不能兼顧則學生優先)。

我看到許多的教材都是“教師編給教師看的”,而不是“教師編給學生看的”,這種教材如果沒有老師教,學生幾乎無法自學。

比如看到某教材有“教師手冊”與“學生課本”之分,或者有“正式課本”與“輔導材料”之分時,我覺得這是一種“一切以教師為中心”的教學思想的反映。其本質在于教師要比學生壟斷更多的資料,以便樹立教師的“權威”,而學生只能在教師的講授與指導下學習。有這個必要嗎?這種方式,我怎么看都有點“武大郎開店”的嫌疑。

在現在這個信息爆炸的時代,重要的是培養學生的自學能力,怎能讓學生離了教師就不會學習了?

另外,按“便于學生自學”的方式編寫教材,其實反過來也有助于教師(特別是新教師)深入理解教材,從而把教學工作做得更好,真正做到“教學相長”。

3.深入淺出才是好教材

一本適合于學生自學的教材,一定要做到深入淺出。這是很不容易的。其前提是作者要有深厚的積累,才能“用普通話講抽象的理論,用大白話講復雜的技術”。我個人發覺,如果做到八個字,教材的可讀性就可大大增強。這八個字是:善用比喻,實例為王!

一個好例子,勝過千言萬語。例子在幫助學生掌握知識方面的作用是無法估量的,尤其是針對理論性強的課程。

舉個例子,《數據庫原理》往往要講到數據庫范式,理論講得太多,不如舉一個學生都非常熟悉的網上選課系統,詳細分析將學生信息與課程信息分布到數據庫表中的不同方案,比較每個方案的優缺點,進而自然地引出范式的概念,并讓學生能直觀地理解如何在數據庫中應用范式去解決數據完整性、冗余性等在實踐中遇到的問題。

另一個方面,計算機科學理論與技術中都涉及到大量抽象的概念,教材在向學生介紹概念的內涵時,既要注重科學性與嚴謹性,更要注重通俗性。

在這方面,比喻這一修辭手法大有用武之地。

比如,介紹C++課程中的名字空間(namespace)概念時,將“類”比做書,將“名字空間”比作圖書館或書架,則學生很快就能明白這一抽象概念的含義。

還有《數據結構》中的堆棧,可以將其比喻成羽毛球筒,其特點是每次只能從開口處塞入和取出一個羽毛球。

《軟件工程》中介紹軟件項目的迭代開發原則時,可以用“滾雪球”來類比軟件項目的進化過程。

其實漢語有著豐富的表現力,看看過去和現在各個文學家的著作,難道我們的教材編寫者不能從這些地方汲取營養,把教材寫得盡可能地“好看些”?

4.授人與魚,不如授人與漁

“授人與魚,不如授人與漁。”

傳頌千古的名言,蘊含著深刻的道理。

計算機科學的每個領域,其實都有一些最重要最基本的思維方法。在教材中,應致力于將這些非常重要的思維方法以直觀的形式突顯出來,引導學生先去認識這種思維方法,再讓他們去嘗試應用這種思維方法,最終能活用這種思維方法。

因此,好的教材,應該讓學生能領會不同領域具有不同特點的思維方法,而不是僅僅只關注一些具體知識的傳授。

比如,學數學就要讓學生知道怎樣從特殊到普遍,從已知推未知,知道怎樣從假想開始再以科學的推理方法去證明假想的對錯,掌握從大量的數據中去找出其中蘊含著的特定的數學規律的方法……

學編程就要讓學生知道針對某個問題,應怎樣去設計一個解決方案;在具體開發中,面對著技術難點,用什么方法去攻克它;理解為什么在編碼過程中,要高度注意編碼的規范性;知道如何將軟件工程的相關理論滲透到具體開發實踐中……

只有具有這樣特點的教材,才能使學生掌握做事的方法,并使他們的思想深刻起來,成為一個有著獨立思維能力的人。

我想,作者如能作到以上幾點,寫出的教材其質量應是不差的。

寫出特色來――我的教材編寫實踐

作為一名高校的一線教師,我既熱愛教學工作,又喜歡鉆研軟件技術。

在工作中,我一直都在琢磨著有關計算機教育方面的一些問題。本文前面的一些觀點就是我在教學實踐中逐漸總結的。

但這些觀點是否正確,是否可行,這只能由實踐來說話。我決定編寫一本教材,全面地嘗試我在上面所提到的各種觀點。

從2004年11月到2005年7月,我用了9個月的時間寫了一本不像教材的教材:《編程的奧秘――.NET軟件技術學習與實踐》,這本教材與傳統教材的模樣有很大的不同。

這本書的基本原型是我在北京理工大學開設的“.NET軟件開發技術基礎”選修課教案,該課程得到了微軟公司2005年“微軟高校精品課程支持計劃”的資助,教材于2006年1月由電子工業出版社出版。

在寫作過程中,我想得最多的就是如何走出一條教材編寫的新路子,探索一些新的教材編寫方法,一句話――寫出自己的特色來!

書出版以后,我在自己的Blog上(/bitfan)建立了一個讀者作者交流區,自己的郵箱也陸陸續續地收到不少讀者郵件。

篇11

0 引言

作為計算機科學與技術專業的一門重要專業基礎課程,操作系統的地位舉足輕重。但在高校本科教學過程中,學生普遍反映該課程難學,教師在教學中也困難重重。究其原因,操作系統課程自身的知識結構以及研究對象特有的復雜性使上述情況成為必然。而知識體系的復雜性直接導致該課程給人理論性強、抽象的印象。因此,如何有效開展操作系統課程的實驗教學,加深學生對該課程的直觀理解和把握就顯得至關重要。傳統實驗方法以驗證和仿真為主,實驗很難發揮應有的作用,且容易混淆系統級和應用級的許多概念,反而使學生更難把握知識結構,難以對系統軟件形成宏觀認識。結合多年教學實踐,我校在操作系統課程的本科教學過程中結合實驗平臺軟件的開發和應用,探索出一種直觀有效的實驗教學模式,使得教學效果得到較顯著的提高。

1 操作系統實驗教學現狀

1.1 實驗比重

由于操作系統課程涉及的理論知識多雜志鋪,系統級的驗證和實驗難度較大,導致教學過程中容易出現避重就輕的情況,教師易偏重理論課而輕視實驗課教學,實驗的課時設置在各高校中也不同程度地偏少。另一方面,學生受考試形式的引導,也偏重理論學習而忽視實踐動手能力的培養。實踐證明,不注重實驗、驗證環節,學生很難對該課程涉及的大量概念和方法形成直觀認識,導致對許多知識點的認識出現偏差,反而不利于理論課的學習。例如,目前選用的教材在行文時經常變換研究的“角度”,一些知識點是面向應用的,而一些是研究操作系統內部實現的,但在講述中并未明確說明,比如:在“進程同步與互斥”部分,大部分教材是從“應用”的角度來描述P、V操作的,并附帶偽碼算法。但在學習過程中,許多同學搞不清這些算法用在何處,是在應用程序層次還是在操作系統實現層次。如果結合Linux或Windows平臺設計實驗內容,補充P、V操作對應的系統調用和有關函數的用法,真正寫出可運行的程序,就可以大大加深對知識點的理解。

1.2 實驗方式

與大部分應用類課程相比,操作系統課程的研究目標是系統軟件,知識結構偏重底層軟件,且往往涉及到硬件知識,開展實驗所需的軟硬件平臺復雜,傳統教學模式很難真正實施“系統級”的實驗項目,故常用模擬算法代替。這樣容易導致所學知識和方法比較抽象和“遙不可及”,很難形成對操作系統整體上的理解和把握。

1.3 現有的一些改革和嘗試

針對操作系統課程實驗教學中的問題雜志鋪,各高校進行了許多有益的改革和嘗試。例如,使用逐漸被認同的Linux實驗平臺[1],整理更加規范的實驗內容[2],以及按照歸類和劃分層次的原則對實驗目標進行細化等方法[3]。但操作系統實驗內容自身的復雜性與實驗方式盡量簡單、有效的要求之間的矛盾依然存在。

2 基于內核分析的實驗模式

針對上述問題,本校操作系統教研組在操作系統實驗教學中不斷探索和嘗試,總結出一種基于內核分析的實驗教學方法。實施過程中,在保障36個實驗學時的前提下,直接面向具體的操作系統對所學的概念和算法進行驗證、設計,配合跨平臺編譯和調試技術,有效地降低了實驗實施的難度,且不增加學生的額外負擔。

2.1 內核分析

內核分析,就是選擇一個開源的操作系統作為對象,通過閱讀源代碼來分析其實現原理和必要細節,并在特定的地方修改部分代碼以驗證自己的算法。但是,為了降低實驗的復雜度并適應本科生的知識結構,實驗對象不應太復雜。基于上述考慮,可以選擇Linux0.11版本作為實驗的目標系統。Linux0.11版是Linux的早期版本,其總的代碼量只有1萬行左右,且結構清晰,功能較完整(能夠覆蓋實驗教學中的知識點),幾乎包含了目前較新版本內核的所有基本功能和原理[4],能夠較好的滿足實驗要求。

2.2 跨平臺編譯和調試

單純的代碼閱讀是枯燥無味的,特別是操作系統這種系統軟件。為了提高實驗的直觀性,可借助動態調試技術來實現內核代碼的閱讀和分析工作。通過調試過程可以較輕松的跟蹤內核執行的流程、關鍵算法的運行效果以及關鍵變量和寄存器的取值情況。

但由于操作系統是系統軟件,其修改、編譯和調試過程遠比一般的應用程序復雜。目前常見的實驗環境是在微機上直接安裝Linux的發行版本或在Windows系統中通過虛擬機安裝Linux開展實驗。但這些方法都需要在修改內核后重新編譯并重啟系統,其過程繁瑣且需要掌握Linux的大量命令,從而加重了學生的負擔并容易導致其失去學習興趣。

得益于自由軟件基金組織GNU對Linux的支持,目前有許多Linux相關的工具軟件可以使用,并且有對應的Windows版本。其中雜志鋪,著名的編譯器GCC和調試工具GDB可以巧妙解決實驗過程繁瑣的問題。其主要思路是:利于GCC、GDB、MAKE工具和虛擬機軟件,實現一種跨平臺的內核編譯和調試方法,即在Windows平臺下編輯、編譯并調試運行Linux系統。這和用VC、VB等應用程序開發工具編程調試的工作方式幾乎沒用區別。另外,通過開發一個集成實驗環境(Windows下的應用程序),可將GCC、GDB、MAKE及虛擬機工具進行集成,從而將命令行工作方式轉換為視窗工作方式,大大簡化實驗步驟,使學生更容易集中注意力到實驗內容本身。

圖1描述了這種基于跨平臺編譯調試技術的工作流程。

圖1 跨平臺內核編譯、調試流程

3 集成實驗環境的搭建

搭建集成實驗環境的目的是避免實驗時頻繁的執行GNU工具集對應的各種命令,使實驗步驟盡可能簡潔。其主要組成為:虛擬機BOCHS、Windows下的GNU工具集以及主控程序。集成實驗環境的開發過程本身涉及許多操作系統課程中的知識點,比如進程間通訊、管道、共享存儲器等。對學有余力的學生,閱讀其實現代碼有助于編程能力和對操作系統整體認識的提高。

3.1 虛擬機BOCHS

傳統的Linux內核調試方法是使用KGDB進行遠程調試。這種方法必須要求有一臺目標機和一臺調試機,因此用于實驗有很多困難,難以實施。而利用虛擬機軟件,可以在一臺微機上虛擬另一微機并滿足實驗的要求。另外,選擇BOCHS而非其它軟件的主要原因在于它使用的是仿真技術而非虛擬技術,從而更適合充當調試服務器的角色。

3.2 Windows下的GNU工具集

為了實現跨平臺的內核編譯和調試,實驗環境需要使用Windows下的GNU最小工具集(Minimalist GNU for Windows),主要包括的工具有:AS、LD、GCC、MAKE以及GDB。其主要作用是保證在Windows平臺下GNU開發環境仍然可用。但需要注意的是,基于該工具集生成的可執行程序是PE格式的,即Windows下的可執行程序格式,不能作為內核鏡像執行,因此需要一個簡單的轉換過程。但這種首先將內核編譯為exe再轉換為內核鏡像的過程恰好可以為GDB保留內核符號表,從而使跨平臺調試成為可能。

3.3 集成實驗環境

這是一個用VC開發的Windows應用程序,其功能包括內核源碼的管理、編輯、編譯、內核鏡像的生成、調試、MINIX根文件系統的維護以及實驗項目的管理。

(1)內核源碼以及實驗項目的管理

該功能主要結合操作系統實驗教學中的系統引導、進程管理、存儲管理、設備管理、文件系統等內容,針對相應的內核源碼給出注釋、快速索引、實驗指導以及實驗步驟。它可以幫助學生通過真正的內核代碼分析,更深刻理解相關知識點,且形式直觀、易于理解。

(2)內核鏡像的生成、調試

該功能是實驗環境的核心部分。基于該功能可以快速對修改過的內核生成新的鏡像,并通過調試器看到真正的運行情況,從而使內核分析實時、動態進行雜志鋪,并且像調試應用程序一樣簡單。具體實現時,將GCC、GDB、BOCHS等作為子進程執行,并通過管道和I/O重定向等方法將繁瑣的控制臺工作方式轉變為視窗工作方式。例如,進行調試時,不再需要記憶GDB的調試命令和頻繁的控制臺輸入,只需點擊鼠標設置斷點、單擊菜單項或按快捷鍵即可實現字符環境下幾十條命令才能實現的功能,操作簡單、界面更友好。

(3)根文件系統的維護

在Windows下維護根文件系統的目的是便于將可執行程序加載到磁盤鏡像中。由于Linux0.11功能簡單,并且為了保證磁盤鏡像盡可能小,Linux0.11本身不包含GCC等編譯工具,因此,要在目標系統中運行的程序必須在Windows系統中編輯、編譯,最后再加載到根文件系統中。

圖2為集成實驗環境運行的情況。

圖2 集成實驗環境

4 結語

操作系統課程實驗教學的必要性和重要性已被廣泛認同,而對教學方法、手段的探索和改革還任重道遠。這種基于內核分析的實驗方法試圖讓學生真正接觸操作系統實現細節的同時,力爭簡化實驗步驟,使實驗環節易于實施。實踐證明,該教學模式容易被學生接受、取得了較好的教學效果。

參考文獻

[1]鐘少丹.“操作系統”課程實驗設計的思考[J]. 計算機教育,2008(12):120-121.

[2]張其亮,韓斌.操作系統課程實驗教學改革探析[J]. 計算機教育,2010(7):91-93.

[3]鄒恒明.操作系統課程實驗中的五重奏哲學[J]. 計算機教育,2009(20):109-112.

篇12

1.多媒體授課。移動通信課程的內容覆蓋面廣,如果單純采用傳統的板書方式來講授,不僅耗費時間,影響教學效率,對于一些系統流程的展示,也不夠生動形象。為解決課時少內容多的矛盾,本人采用信息量大且形象直觀的多媒體課件進行輔助教學。對于一些重要的公式、推導采用板書的方式,對于原理方框圖、小區規劃、網絡結構等使用多媒體進行教學。本人還搜集整理了大量基站、天線、網絡區群結構等相關圖文信息,通過動態演示與分析,將整個通信領域所涉及的整體設備和完整系統進行展示,使學生可以全面了解整個通信領域的各個環節,建立全網的概念,開闊了學生的思路,提高了學生的學習興趣[3]。2.討論學習法。傳統的教學方式不重視與學生的互動,即教師滿堂講,學生只負責聽課,這樣很難激發學生的學習興趣,鍛煉思考能力。為了使學生積極的參與教學,可采取討論的形式,以學生為主、教師為輔的課堂教學方法。由教師根據教學內容選定一個討論課題,將學生分組,各小組內成員進行討論,在由小組內選派一個代表進行組間討論,各組內成員可對代表的闡述進行補充,由教師根據學生的積極狀態,討論結果給予一定的平時成績。在此過程中,以學生為主體,教師只是起到導向的作用,指導學生講解和組織討論,學生通過討論,對一些問題理解的會更加透徹,這種方法不僅調動了學生的主觀能動性,還充分發揮了學生的想象空間[4]。3.提交論文。為了培養學生研究問題的能力,教學過程中指導學生對感興趣的內容撰寫論文。論文題目可由教師制定,也可以由學生根據自己的興趣自主選擇。要求學生在一定時間內查找資料,提交論文,并以隨機抽查的方式,讓學生進行講解,并對論文進行評判。評判方式可采取抽取若干學生的論文,組織大家進行討論,或者教師選擇若干論文為學生進行講解,這樣可以提高學生撰寫科學論文的興趣和水平。

三、考核方式

傳統的考核方式是以期末考試作為學生的最終成績,這種方法難以對一個學生所學知識和綜合能力進行客觀的評價。為了對學生的評價更加綜合和準確,除了取決于客觀的考試或作業成績外,還由主觀的師生互動關系與課堂參與程度所決定。具體由以下幾個方面進行評定:(1)期末考試,考查對基本知識及前沿技術的掌握程度;(2)課堂討論,將課堂參與列為期末成績考量的標準,可以鼓勵學生積極思考,帶動課堂氣氛;(3)撰寫論文,考查學生研究問題及創新運用的能力;(4)作業成績。

四、教學實踐

移動通信是實踐性很強的一門課程,如果只立足于理論教學,滿足不了現階段人才培養的需要,而一般的實驗設備只能做驗證性實驗,學生對實際運營情況無法真正了解,因此我系在外出實踐環節中組織學生到聯通公司、農墾總局通信公司等單位進行觀摩學習,在實習過程中學生可以接觸到主流商用通信設備和技術。在現場了解基站、移動交換中心等設備的運行情況,與技術人員進行交流、溝通,把課本上的理論知識與實際設備、技術相聯系,從而更好地理解移動通信課程涉及的技術和系統,為今后的學習和工作打下了堅實的基礎。

篇13

0 引言

《操作系統》作為計算機及相關專業必修課程,將學生在一、二年級學到的知識和技能進行綜合并予以提升,幫助學生完善專業基礎理論體系,培養學生對計算機軟硬件系統結構進行系統、完整、深入的思考。該課程在教育部歷次教學改革和教學計劃調整中都不斷得到加強。

任何一門課程,要對其有比較深刻的內涵理解的前提是對其內容的精確提煉,而不僅僅是簡單的以章節形式進行的羅列和疊加。筆者在多年從事該課程研究的基礎上,對操作系統的一些教學方法方面有一些比較成熟的看法,特提出以供大家商榷。

1 操作系統課程的精髓教學框架

對本課程的全部教學內容所提煉并加以有機整合而形成的精髓教學框架:

1.1 系統發展歷史的回顧與當前技術發展潮流追蹤許多學校的計算機專業在講解操作系統課程時,往往局限于介紹具體方法和技術細節,忽略對技術發展歷史和當前技術潮流的詮釋。既不能開拓學生專業視野,又無法對專業歷史有深入的了解。本門課程爭取使用3-4學時的時間詳細講解操作系統的發展歷史、著名人物、分類體系和技術發展趨勢。這樣的內容極大的激發了學生的學習興趣和專業使命感,具有很好的教學效果。

1.2 作系統基本設計原理與核心技術方法的分析講解 本門課程注重對基礎專業理論的講解,從五個方面詳細剖析操作系統的核心原理。對進程管理、存儲管理、文件系統、設備管理、系統接口等基本的設計原理均進行了詳細的介紹和分析。

操作系統的各種基本設計原理中包含了大量的算法設計與技術實現優化考慮,在教學過程中,要特別注重剖析算法設計思想和優化方法的差別,強調激發學生的主動思考能力,而不是僵化的向學生灌輸思想。

1.3 真實操作系統案例的組成結構與實現特色剖析對比 操作系統的設計原理體系嚴密,各種技術方法錯綜復雜。要注重選用真實操作系統作為學習的案例。通過對真實案例的剖析以提高學生的感性認識。

1.4 操作系統原理與計算機原理、編譯原理、數據庫、計算機網絡等課程的關聯 《操作系統原理》課程是計算機及相關專業的學生在本科階段“承上啟下”的重要課程,講授過程中必須注重與其他專業基礎課內容和知識的結合。要專門講解“操作系統硬件基礎知識”以融合《計算機原理》課程知識;重點分析“應用程序編譯鏈接過程”以融合《編譯原理》課程知識;在“進程同步互斥、I/O設備同步阻塞-異步傳輸”的內容中有機融合《數據庫原理》、《計算機網絡》的基本概念。這樣的關聯式教學方式使得學生能夠將多門專業基礎課程進行有機的融合貫通,有效的促進了專業理論體系的完善。

2 選擇科學合理的教學方式

基于以上對教學內容的有機的系列化分類,在選用優秀計算機經典教材的基礎上,必須強調教學方式的科學與合理,主要采用以下教學方式:

2.1 定位于專業基礎必修課,幫助學生建立扎實的專業理論基礎 計算機領域各相關專業的學生都需要建立扎實完整的軟件基礎理論體系。《操作系統原理》是講述計算機硬件資源管理、應用程序運行控制、人機交互接口實現等內容的基礎性課程,在專業人才培養方面具有極為重要的作用。應該不斷加強對《操作系統原理》課程的教學投入,積極完善師資隊伍、改進教學計劃、建立完整實踐環境、主動追蹤技術發展潮流,使得本門課程的教學質量不斷提升。

2.2 面向應用、軟件等各專業學生授課,實現“承上啟下”的總體教學目標 《操作系統原理》是計算機科學與技術專業必修基礎課,是自動化專業的專業選修課,也是非計算機專業的軟件方向主干課。在教學計劃中,本門課程最主要的作用就是實現對低年級專業基礎知識的綜合與提升,幫助學生建立系統、完整的專業基礎理論體系,培養學生的研究型思維和動手實踐能力,開拓學生的專業學術視野,為后續課程的學習和專業發展奠定重要的基礎。

2.3 原理、實踐、現實應用相結合,為培養高水平專業人才服務 《操作系統原理》是綜合了基礎理論講授、動手實踐、觀察體驗、最新技術發展潮流追蹤等多項內容的專業基礎課程。課程建設存在教學工作量大、上機實踐環節重要、學生學習任務重等特點,課程教學過程中,常常存在原理講授與上機實踐脫節、課堂學習與現實應用剝離的情況,導致老師在教學過程中常采用“灌輸式”教學方法、學生在學習過程中常采用“機械記憶”的學習習慣,教學質量難以提升。

為此,在《操作系統原理》課程建設中應該積極進行教學改革和創新,近年來不斷引進國內外經典操作系統教材,努力搭建多種操作系統平臺的上機實踐環境,加強師資隊伍建設和教學督導力度,加強對技術發展潮流的追蹤。

2.4 “啟發式、關聯式”的課堂講授與課堂討論相結合在對基礎性的操作系統原理進行講解時,要注重講授與討論的結合,教案的內容組織并不完全遵循各類教材的內容安排,在講解順序、思路整理方面均體現了教師對學習過程的把握和指導。在詳細講解各類原理之前,安排小規模“課堂討論”分析猜測設計思想,激發學生的好奇心和主動思考能力;在講解原理的過程中,不斷的問“為什么”,提高學生的對比分析能力;在原理講解完成后,進行系統性的總結和展望,指導學生建立系統性的思維方式。