真人一对一直播,chinese极品人妻videos,青草社区,亚洲影院丰满少妇中文字幕无码

0
首頁 精品范文 高級語言程序設計

高級語言程序設計

時間:2022-05-10 23:44:56

開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇高級語言程序設計,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。

第1篇

關鍵詞:微課;高級語言程序設計;教學模式

0引言

21世紀,知識經濟時代到來。隨著博客、微博、微信等的興起及迅速風靡全球,“微課”應運而生。“微課”作為一種新型課程資源形式,最早出現在孟加拉裔的美國人薩爾曼可汗所創立的可汗學院的云平臺上,它在國外掀起一股MOOC(慕課)大熱潮并席卷到國內,微課開始受到國內專家、教育研究者和一線教師等的廣泛關注,引發了新的一輪教學模式變革。它具備了“短小精悍”的特點,給人煥然一新的感覺。微課誕生于快速發展的信息爆炸時代,日新月異的技術工具更使得微課創作越來越多樣化、平民化、低成本化、人性化、高效化。更因為具備了可觀看性強、技術門檻低、制作簡單方便等,微課迅猛發展,很快就形成了近乎“全民微課”的景象。應該說,微課滿足了信息超載背景下人們的學習需求。時間碎片化、信息碎片化、知識碎片化,使得微學習、碎片化學習得以興起。而基于微課的微學習,恰好能夠填補信息爆炸背景下的大量碎片化時間,再借助互聯網強大的聚合力量和傳播效應,微課教學已經成為一種新潮流。

1“高級語言程序設計”教學現狀分析

“高級語言程序設計”是高校電子信息工程、自動化、通信工程、物聯網、電子信息科學與技術、軟件工程、計算機科學與技術等專業的專業必修課。以培養掌握正確的程序設計方法與思想為目的[1]。在該課程的教學中,通常分為理論部分和實驗部分。理論課上,教師將向學生講述定義常量、變量,數據的類型、三種程序設計方法———順序結構程序設計、選擇結構程序設計、循環結構程序設計,指針、鏈表等知識點。實驗課堂上,教師會布置一些具體的程序設計實例,讓學生用程序設計思維解決古老的數學問題或者現實中的問題。通過對該課程的學習,學生既掌握了高級語言程序設計的基本知識,又學會了在實踐中應用程序設計的思想和方法,進而讓學生養成了獨立思考的好習慣,并提高了學生利用計算機解決實際問題的能力,為后續的計算機課程或者電子類的專業課,如數據結構、操作系統、軟件工程、單片機、EDA電子設計自動化等課程打下了良好的基礎。但是在試驗教學過程中,存在一些問題:(1)學生學習基礎或學習態度不同導致學習步調不一致。[2]有些學生在上課之前學習過該課程,或者課前提前預習過本堂課學習內容,在教師講解操作示范時,聽一遍就記住了所有的操作,而有些學生上課時注意力不夠集中,聽課的當時,似乎聽懂了,但是自己動手時,又不知從何下手。這些學生需要教師來回一對一指導。盡管這樣學習的效果較好,但是教師人力有限,上課時間也有限,那些真正有問題的學生可能還沒來得及問,就下課了。(2)教師不斷的重復同一問題的具體操作,先做完的同學一直在等待,時間長了,就失去了對該課程的興趣。(3)課堂上,教師大部分時間都在解決操作上的一些小問題,對于程序設計思路等方面的問題卻沒時間輔導。(4)學生過度依賴教師,當他們在編程過程中遇到錯誤,第一時間想到請老師來找錯、糾錯,學生不能很好的自主思考,既限制了學生的思維能力,更阻礙了創新能力的養成。

2改革的目標

教師在講授“高級語言程序設計”(以C語言為例,下同)課程之前,需完成微課資源包的制作。包括提前制作微教案和微課件,對教學內容和學生學情進行細化分析,制作微視頻和學生自主學習任務單,并將微課通過畢博網絡教學平臺推送給學生,學生在自主學習任務單的指導下,利用微視頻進行自主學習,遇到問題可以通過畢博網絡教學平臺向老師或同學請教;課后完成課后測試,檢驗學習成果。教師通過微課在“高級語言程序設計”中的使用情況反思自己在設計、開發、應用微課過程中的不足,更好的完善微課資源包,促進學習者學習,提高微課使用效果。

3改革的具體內容

(1)制作全面的微教案在微課的設計之初,我們需要一個微型教案。這個微型教案是傳統教案的濃縮和提煉。這個教案不僅要體現“微”的特點,更要體現關鍵的教學設計要素。微教案中除了要包括基本信息:微課名稱、開課單位、微課總時長、學科名稱、教學知識點、微課類型、適用對象等;還要包括相關教學設計信息:教學目標、教學重難點、學習者特征分析、聚焦解決問題、教學策略、教學過程設計、微課總結反思、作品簡介等。(2)完成適合學生實際情況的自主學習任務單學習任務單主要指的是學習者在使用微視頻時,可以借助的輔學指引資料。教師在上課前要對教學內容非常熟悉,明確教學任務和教學目標,能夠較準確地判斷學生在完成學習任務過程中需要的知識儲備以及預測學生可能遇到的困難。一個好的微學習任務單,要包括這些內容:明確學習方向(如學習內容是什么,學習應該完成什么等)、引導學生如何開展微課學習(如看什么材料等)、輔助和促進學生學習(如告訴學生用什么方法來學習這個微課等)、激勵學生(如檢測學習情況、評價等)。學習任務單不僅可以幫助學生達成學習目標,而且提升學生的學習興趣和學習能力,使學生在潛移默化中掌握學習方法以及養成好的學習習慣。(3)準備適合各個學習層次的練習題為了對學生的課前、課后學習行為進行監督和檢測,要給學生布置一定的練習題。練習題分菜鳥級、進階級、高手級共3個等級。大部分學生學習完微教學視頻后都能完成的題目放在菜鳥級題庫里;需要稍加理解才能完成的題目放在進階級題庫里;舉一反三之后才能完成的題目放在高手級題庫里。正式上課前,先完成菜鳥級題目,學生依據練習題的反饋情況,及時進行查漏補缺,遇到實在不能解決的問題,則記錄下來與同伴或教師在社交媒體或教學平臺進行交流。通過課前自主學習,了解背景知識及上課的重點、難點,為課中的任務解決奠定基礎。課后,完成進階級測試題,有能力的同學可以完成高手級測試題,鞏固課堂所學,并運用所學知識解決社會現實問題,提高學生的創新能力和創造能力,為將來走向社會積累實戰經驗。(4)制作精美的微課件微課件,一般是指在微課中講解某個內容時所需要開發和配套使用的微型課件。一般微課件可以用演示文稿、動畫、紙筆等多種形式進行呈現。在借助不同形式進行講授或演示的過程中,微課件是微課資源包中非常重要的要素。微課件中可以添加適當的動畫和音樂,動畫可以吸引學生的注意力,音樂也可以達到有聲勝無聲的效果,動畫和音樂用的恰當,可以為微課增添趣味性和吸引力。(5)錄制生動的微視頻微視頻,指的是微型教學視頻。作為微課的核心內容載體,它記錄了教學內容、講授人的畫面、教學演示的過程等。視頻形式生動形象,滿足了人們對可視化畫面的使用愛好。在一個微課資源包中,必不可少的核心載體要求是微視頻。一般而言,文科的微視頻時長普遍高于理科,75%以上的微視頻都集中在5-8分鐘,而超過8分鐘的微課有效性明顯降低,出現這些現象的原因可能包括知識點內容偏多、講授者的講解不精煉、學生視頻駐留規律等,所以微視頻的時長控制在5-8分鐘左右為佳。同時,微視頻一般保存為易于分享的格式,如MP4、FLV、WMV等,因為此類文件格式易于在網絡和移動環境中分享和使用。(6)微反思微反思,是指教學人員在設計、開發、應用微課后,將反饋修改意見進行總結和歸納。對微課完善修改的反思,可以從微課教學設計、微課制作技術、微課教學應用等維度進行思考,更好地完善微課資源包,促進學習者學習,提高微課使用效果。

4實施方案

(1)課題組老師共同商討每一節微課的教學設計,利用頭腦風暴法收集所有教師的想法,最后集體討論一種針對該知識點最合適的教學設計;(2)分任務完成微課教案、學生自主學習任務單、課后習題等;(3)利用湖南涉外經濟學院的錄播教室或教師家中配置較高的電腦進行微課錄制與后期制作;(4)以湖南涉外經濟學院可以講授“高級語言程序設計”課程的實驗室為依托,通過學校的畢博網絡教學平臺,讓學生課前或課后自主學習微課,對于不懂的問題,可以留言,讓老師或同學參與解答,教師收集學生所提問題;(5)教師在講授“高級語言程序設計”時,針對學生所提問題,有針對性的進行教學;(6)對微課教學進行反思,改進微課資源包里的資源,必要的時候可以對某個知識點重新進行微課錄制;(7)先對部分學生開放網絡微課資源,看看學習效果,然后對全校開設了“高級語言程序設計”課程的學生開放資源,進一步完善微課資源包。

5改革效果

通過五個大一新生班的“高級語言程序設計”教學改革,我們發現,課前,學生自主學習教學PPT和微課視頻,在畢博平臺通過在線討論和發表微博的方式提出問題,完成菜鳥題練習;課中,針對學生提出的問題以及教學重點、難點來進行教學,學生主觀能動性更好,上課時再也沒有學生通過手機做與課堂無關的事,課堂討論氣氛更濃烈,課后,學生通過畢博平臺進行在線測試,完成進階題以及高手題的挑戰,既激發了學生學習的興趣,也讓學生對于自己的程序設計水平有一個大致的了解,為他們更上一層樓提供了動力。相比同一門課沒有進行改革的班級,學生興趣更濃烈,課堂氣氛更活躍,期末成績平均分高出5分之多。對于進校時程序設計水平不同的學生,畢博平臺為他們提供了差異化學習的機會,平臺的教學資源為學生反復學習課程內容提供了便利,他們可以利用碎片化的時間進行學習,教師也避免了同一內容反復講解的尷尬,可以更好的因材施教。

第2篇

關鍵詞:C語言;教學內容;教學方法與手段;教學改革

中圖分類號:G642 文獻標識碼:A

1引言

我院“高級語言程序設計”課程是以C語言作為指定語言的。它不但成為計算機專業的必修課,而且也越來越多地成為非計算機專業的學習課程。但在“高級語言程序設計”課程教學中,許多學生都認為C語言涉及的概念比較復雜,規則繁多,使用靈活,容易出錯,且程序設計課程邏輯性又很強,學生不能很好地理解算法,編寫程序也很困難,教師教學和學生學習都感到困難,并在不同程度上產生畏難心理。特別是我院將C語言作為學生進校后首先接觸的第一門專業基礎課,這種現象尤為明顯,而C語言基礎打不牢會直接影響后續專業課程的學習。因此如何改革“高級語言程序設計”課程,進一步提高教學效果,成為專業課程建設中的一個緊迫任務。

本文根據多年的程序設計課程的教學實踐,對“高級語言程序設計”課程從教學內容、教學手段、教學方法等方

面提出幾點建議。

2教學內容

2.1教材的選擇

我院一開始使用的教材是由譚浩強教授編著的《C程序設計》,該書的特色是針對初學者的特點和認知規律,精選內容,分散難點,降低臺階,例題較為豐富,通過深入淺出的敘述,闡明C語言復雜的概念,知識結構系統、清晰、通俗易懂。但在編程思路和編程技巧方面較為欠缺。

在2005級學生中使用了Harvey M.Deitel和Paul J. Deitel編著的《C程序設計經典教程》,該書的特色是應用軟件工程原理講述結構化程序設計方法,加強對控制語句和模塊化的有效使用,并強調程序的清晰性,通過從各種渠道收集來的大量實例、習題以及項目,讓學生能夠有機會來解決現實世界中有趣的問題,對學生編程思路和編程技巧有很好的幫助。但在整個知識結構方面不如譚書系統和清晰。

由以上分析可知,兩本教材各有利弊,經過實踐比較,并結合我院學生的實際情況,現在計算機科學與技術系仍然使用《C程序設計經典教程》教材,而其他系使用《C程序設計》教材,但都給出若干本參考書,以彌補各自的不足。如電子信息工程系的參考書為:

《C語言設計教程》,薛萬鵬等譯,機械工業出版社

《C程序設計經典教程》,(美)Harvey M.DeitelPaul J.Deitl著,清華大學出版社

《從問題到程序――程序設計與C語言引論》,裘宗燕編著,機械工業出版社

《The C Programming Language》,Brain W.Kernighan,清華大學出版社

2.2課堂教學內容的改革

以譚浩強的《C程序設計》為例,教學內容主要包括C語言語法基礎、數據類型、程序控制結構、函數、指針、文件等。教材在內容組織上,在語法上講解過細、過多。在各章節的編程例子中,多數難度較大,分析較少;不夠形象,學生較難理解,且適用性不強。筆者本著“深入淺出,突出實用”的指導思想,在課堂教學過程中,對教學內容重新進行了歸納,將難點再次分散,以縮小臺階,達到循序漸進。例如,C語言數據類型、運算符、表達式種類繁多,放在一塊講授,學生學習起來難度較大,且過于枯燥,于是筆者就將其分散在不同的章節。譬如,先介紹算術型的數據類型、運算符以及相關的表達式,使學生學習起來沒有想象中的那么難,緊接著又教學生編寫簡單、實用的C程序,然后趁機引入基本輸入、輸出函數就順理成章了。這樣一來臺階小了,學生的信心也增加許多,學習積極性很快就被提高起來。對于生硬的語言敘述,盡量改用生動的、學生熟悉的例子進行比喻,進行詳盡引導。例如,在開始學習指針的概念時,教材對“間接存取”敘述比較深硬,學生難以理解,就借用比喻:將A房間的鑰匙放在B房間里,若要取A房間里的物品,就需要先打開B房間,取出A鑰匙,再打開A房間,取出A房間的物品,這就是“間接存取”。學生很快就能理解,也加深了指針的概念。在教學過程中,還應及時查閱英文版教材和有關報刊雜志,對較難理解的概念,用不同的方式給以解釋。

2.3實驗教學內容的改革

“高級語言程序設計”是一門實踐性很強的課程,既要掌握概念,更要動手編寫程序。其主要任務就是培養學生具有一定的閱讀程序、設計編寫程序的能力,分析問題、解決問題的能力和邏輯思維的能力。因此,上機實驗是學習程序設計語言必不可少的實踐環節,特別是C語言靈活、簡潔,更需要通過編程的實踐來真正掌握它。

筆者對實驗內容上進行了認真的探討,在實驗題目的設置上,應根據課時安排以及要掌握基本知識進行,一般一次實驗給出2~3個實驗題目,分為必做與選做。這樣做的好處是一方面保留基礎性實驗,相對簡單的基礎編程實驗。使學生能夠較順利地編寫出程序,并及時理解和消化課堂教學內容,同時也使學生獲得一定的成就感,使其學習熱情得到進一步的提高。另一方面,增加一些實用性強的、難度略大的實驗題目,以進一步提高學生的編程能力;同時還可以滿足較高層次學生的需要。下面以電子信息工程系為例介紹實驗內容的設置。

我院為非計算機科學與技術系和信息安全系開設的“高級語言程序設計”課程的實驗學時是12學時,共4個實驗。由于實驗課時較少,在實驗內容的安排上就顯得十分重要。第一次實驗安排在約6學時以后,實驗內容是“熟悉上機環境、編寫簡單程序”,其目的是讓學生熟悉C語言上機環境,學習完整的C程序開發過程和程序調試方法;理解簡單的C程序結構。為學生課下上機練習打下良好的基礎。鑒于函數、指針和文件是C語言的重點和難點,我們分別將其作為第二、第三、第四次的實驗內容;其他各章我們也給出相應的實驗題目,讓學生課下自己上機練習。

另一方面要重視實驗的總體要求,強調上機實驗要經歷三個步驟:

(1) 上機前的準備

讓學生寫出實驗預習報告。內容包括對實驗題目的理解和分析,選擇適當算法,畫出流程圖并編寫程序。分析可能遇到的問題及解決的對策。準備幾組測試程序的數據和預期的正確結果,以便發現程序中可能存在的錯誤。

首先調用C語言集成開發環境,輸入并編輯事先準備好的源程序;然后進行調式。在調試過程中,要充分利用C語言集成開發環境提供的調試手段和工具,例如單步跟蹤、設置斷點、監視變量值的變化等。整個過程應自己獨立完成。不要遇到一點小問題就找老師,學會獨立思考,勤于分析,通過自己實踐得到的經驗用起來更加得心應手。同時加大實驗的輔導。

(3) 整理上機實驗結果,寫出實驗報告

實驗結束后,要求學生整理實驗結果并認真分析和總結,寫出實驗報告。實驗報告要包括如下內容:

實驗內容:實驗題目與要求。

算法說明:用文字或流程圖說明。

程序清單

3教學方法與手段

在教學方法上,從以教師為主體的“滿堂灌”的方式轉向以學生為主體、教師為主導的教學方法。有效地培養學生的分析問題與解決問題的能力。以“選擇排序”為例,筆者沒有平鋪直敘地介紹算法與程序代碼,而是先給出例題:在長度為10的數組中找出最小元素,并與第一個元素對調,引導學生編寫出相應程序。然后給出新的問題:在后9個元素中最小值與第二個元素對調應如何修改;……;在后10-i個元素中最小值與第i+1個元素對調應如何修改;最后總結出選擇排序算法的全過程,直至整個程序編寫完整。即沿著問題帶出算法,由算法帶出程序設計語言的思路講述C語言中的各個知識點。整個講解過中結合板書,逐步引導,層層深入,取得很好的教學效果。

在C語言教學過程中,注意各章節講述中的前后呼應和類比,加深學生的理解與應用。例如以“求1000以內的所有‘水仙花’數”例題為例,筆者先后分別在循環控制、數組和函數三章中進行了講解,讓學生自己總結出最佳的程序結構,提高編程能力。同時通過不同的解題方法,有利于學生加深對所學知識的理解,讓學生真正體會到C語言的靈活性,激發學生的學習興趣和求知欲。

另外在C語言教學過程中,還要充分發揮學生的積極性與主動性。筆者針對這門課程的特點,激發學生主動思考,課前可以給學生布置幾個專題,讓學生利用課余時間去思考、收集資料,并在課堂上組織學生發言和討論。這種教學法不僅可以讓學生獲得許多課外知識,同時也促進教學內容的改革,而且也有利于充分挖掘學生的學習潛力。

在教學手段上,積極采用現代化的教學手段,如多媒體教學、網絡教學等,這樣有利于激發學生的學習興趣,發展學生的主體能力;同時由于多媒體信息量大,也能夠優化教學過程。但多媒體教學也有一些不利之處,主要體現在不恰當的使用會分散學生注意力,影響主要問題的理解,也不利于發揮學生的想象力。在C語言程序設計課程教學過程中,考慮到課程的特點,揚長避短,將傳統教學與多媒體教學進行了有機的結合。例如可以將一些概念、語句的格式、大信息量的案例代碼制作成課件,在課堂做展示供學生增加信息量用。但對于案例分析或程序的編寫過程,就發揮傳統教學的優勢,進行課堂討論、板書講解、結合提問,將問題層層剖析、層層深入,達到師生互動的效果,學生的想象力也會得到充分的發揮,對問題的理解也變得更容易。另外,充分利用網絡資源,將電子教案、大綱、課件、習題等放在網上,供學生自行調用,同時通過其QQ、E-mail等形式對學生的提問進行

答疑、討論,以彌補課堂教學的不足。

4改革課程考核辦法

建立一個服務于課程目標的學生學習評價方法是一項非常重要的工作,考核不是目的,“以考促學”才是考核的本質。

傳統的期末“筆試”這種單一的、“一考定終身”式的考核方式,已遠遠不能滿足課程的需要。為使考核真正發揮“以考促學”的作用,我們改革了考核內容和考核方法,重視對學生學習過程的考核,重視實際動手能力的考核,側重考核學生對知識的融會貫通和靈活運用能力,而不僅僅是基本理論、基本知識的掌握。具體的改革措施如下:

(1) 變單一考核為復合考核,從多個方面對學生進行考核。課程總成績由平時成績、實驗成績、期中成績、期末成績四個部分構成。其中,平時成績考核包括對出勤、隨堂實訓、課堂提問、作業等部分;實驗成績考核是針對課程的4次實驗成績。

(2) 衡量這門課學習的好壞,不是看學生“知不知道”,而是“會不會干”。期末試題考核的方法不用是非題和選擇題,把重點放在讀程序、編制程序和調試程序。

實踐表明,這種考核方法不但能更客觀地反映學生的學習情況,同時也能促進學生學習,起到良好的教學效果。

5結束語

本文教學內容、教學方法與手段的改革,是根據實際教學過程中學生存在的問題提出的,并已經在“高級語言程序設計”課程教學實踐中加以運用,得到大部分學生的認可,取得了較好的教學效果。當然,同樣的教學內容面對不同的學生,在使用與設計某種教學方法時,還要求學生的配合才行,也就是說教的方法與學的方法要有機統一。我們將繼續努力探索,使“高級語言程序設計”課程教學日趨完善。希望本文能對大學計算機基礎教學有一定的借鑒作用。

參考文獻:

[1] 譚浩強.C程序設計[M].3版.北京:清華大學出版社,2005.

[2] (美)Harvey M.Deitel,Paul J.Deitl.C程序設計經典教程[M].4版.北京:清華大學出版社,2005.

“High-level Language Programming” Course Teaching Reform and Practice

XU Xiao-qing, LI Xiao-dong

(Department of Computer Science and Technology, Institute of Beijing Electronic Science and Technology, Beijing 100070, China)

第3篇

一、當前程序設計教學方法改革的必要性

(一)傳統教學模式、教學方法與程序設計的學科特點不相適應

多媒體課件以其生動性和方便性在高校計算機教學過程中被廣泛應用。然而程序設計是邏輯性和實踐性很強的一門課程,僅僅依靠投影大屏幕和多媒體課件的教學思路無法適應程序設計靈活多變的學科特點,不能對學生創造性思維和自學能力的培養起到積極的作用。還有一些教師過分依賴電子課件,教師變“照本宣科”為“照課件宣科”,容易挫傷學生的學習積極性。另外由于播放電子課件信息量大、速度快,學生沒有得到思考的空間,學習效果并不理想,而且學生無法做到邊聽課邊做筆記,印象較淺,容易遺忘。

(二)學生的動手實踐能力較弱

很多高校在教學過程中更多地注重程序設計語言理論知識的學習而忽視了工程技能的培養。這樣就會導致教師和學生偏重于編程語言語法的教學而對計算思維的培養和工程實踐重視不夠,導致重語法輕算法,實際工程開發能力薄弱。這就要求教師需要布置大量既包含基本知識點又有一定創新性和拓展性的上機實驗,才能幫助學生實現從知識到技能的轉換,鞏固所學的理論知識。

二、程序設計教學方法改革的意義

不斷探討研究和推廣新的教學方式,將更有效的新教學方式應用于計算機教學,是不斷提高教學水平的好方法。程序設計課程的特點是理論與實踐相輔相成,理論是基礎,實踐是手段,應用是目的[2]。很多學生上課能聽懂,但是自己動手編程時感到無所適從。傳統的“在學中用”的教學方法,其重點往往局限于講解基本概念、語句格式、語法等內容,學生往往會考試但解決實際問題的能力較差。若采用“在做中學”的教學方法,以一個應用實例為前導,例如講授講解程序設計時以找最大(小)值、素數、排序、求階乘、求一元二次方程的根等案例形式導入知識點,這樣學生就比較容易接受和掌握所學的知識和內容,實踐技能也在做中得到了鍛煉和培養。教學方法是在教學過程中教師和學生為了實現共同的教學目標,完成共同的教學任務,運用的行為方式與手段的總稱[2]。教學方法既是一門科學又是一門藝術,良好的教學教學方法對于學習興趣的激發和學習效果有著明顯的作用,尤其是程序設計教學方法對于培養工程實踐能力和計算思維起著重要的作用。具體體現在:一是教師的教法不僅關系到教學效果,同時也影響著學生的學習方法,采用什么樣的教學方法對于培養學生的思維模式和知識結構也具有重要的影響。二是程序設計教學法的研究與探索能夠促進本學科教師的教學水平與教學能力,提高教學質量。三是程序設計教學方法的改進能夠引發學生的學習興趣和學習成就感,促進多種教學資源的合理使用,取得最佳教學效果[3]。

三、程序設計常用教學方法

(一)案例教學法

案例教學是根據教學目的和教學內容的要求,通過引入并分析各種案例來開展教學活動的教學方法。案例教學法教學過程是:案例設計—案例分析與討論—案例實現—歸納總結知識點。案例教學法與傳統的舉例說明有著本質區別。傳統的舉例說明一般是用來驗證教師講授理論知識的正確性,舉例是為理論服務的。而案例教學法最突出的特點是講課開始于實例,從實例中提出問題,通過分析問題、發現規律、提煉理論,再從理論回到實踐,應用理論去指導實踐[4]。在程序設計中首先引入案例,例如在選擇結構這一章,設計一個猜數游戲,產生一個隨機數,輸入一個整數,與之比較,提示是大了、小了還是猜中了,這個案例涉及三個分支處理;基于同一個猜數案例,加深難度,引入循環,產生一個隨機數,循環輸入一個整數與之比較,提示大了、小了還是猜中了,直到猜中為止,涉及的if多分支語句、while循環語句、隨機數函數rand在案例中也一并掌握了。另外,一般計算機理論課程教學采用的方式是先理論,后實際;先抽象,后具體;先一般,后個別。其實,對程序設計課程可以適當采用這樣的方式:從實際到理論,從具體到抽象,從個別到一般,從零碎到系統。這樣的教學方式更加符合人們對客觀事物的認知發展規律。

(二)任務驅動教學法

任務驅動法適合實施探究式教學,與簡單的案例教學不同,它是采用項目化教學方式,即教師不是圍繞知識點去設計每個單獨的案例,而是針對課程教學內容設計一個項目,這個項目由若干模塊組成,并能夠覆蓋課程的不同理論知識[5]。任務驅動教學法有助于培養學生分析、解決問題的能力以及動手能力[6]。任務驅動法的教學過程主要有(1)創設情景、提出任務;(2)分析任務、發現問題;(3)明確思路、把握重點;(4)自主探究、解決任務;(5)檢查結果、總結經驗[7]。任務驅動教學法對教師的業務水平提出了更高要求,教師不僅要轉變教學觀念,而且對課程需要有很深的理解[8],不能單純按學科體系安排教學內容,而是根據解決問題的思路,跳躍式地結合多種知識。軟件開發是多種技術的綜合體現,僅僅通過案例教學局部講清楚每個知識點,學生的綜合應用能力仍然不強。此時,教師通過創設、分析與解決任務必然能激發學習興趣,取得滿意的教學效果。在C語言程序設計課程中以計算學生成績平均分為例,首先用一維數組和循環結構計算全班50人某一門課程的平均分,繼續增加問題的復雜度,計算50個學生8門課程的平均分,這時需要采用50行8列的二維數組,再引出新問題和新任務,編寫函數計算出每個學生的平均分,并把每位學生的平均分帶回主函數輸出,此時就要采用數組名或指針變量作函數參數,傳遞整個實參數組給函數進行處理,并引出函數如何帶回多個返回值的問題。任務驅動法循序漸進、由淺入深地引入新知識點,在解決問題的過程中舊知識在此過程中也得到了鞏固。

(三)演示教學法

演示教學法就是借助投影儀或網絡教學管理軟件等,直觀地通過教師的示范性操作進行學習。這種教學方法是學習計算機軟件使用方法和操作步驟的一種重要且而行之有效的教學方法,在程序設計教學中同樣非常有用。教學中光是依靠PPT課件來分析和講解程序和算法是遠遠不夠的,而是要當堂編程并演示程序運行結果,讓學生直觀地看到程序運行的過程和效果。實踐證明這種方法非常生動,能夠有效地激發學生的學習興趣,并且在現場編程過程中,高級語言程序設計的知識點、語法、算法也在這一過程中一并得到掌握,另外通過編譯,分析和查找語法錯誤和邏輯錯誤,可以提高學生的分析能力,實現計算思維的培養。以C語言指針變量作函數參數為例,演示教學法可以分4步實施:(1)分析指針變量作函數參數的4種一般形式。(2)設計一個案例,例如編制一個函數fun,實現將一個數組的數組元素逆序交換,在主函數中輸入數組元素,調用函數,最后在主函數中輸出逆序交換后的數組元素。(3)現場編程分別演示實參、形參同為數組名;實參為數組名,形參為指針變量;實參為指針變量,形參為數組名;實參形式同為指針變量這4種情況。(4)歸納總結知識點,讓學生舉一反三編程實現其他功能的函數。

四、新型程序設計教學方法簡介

(一)慕課教學法

“慕課”這一大規模在線課程始于2011年,有勇敢之城(Udacity)、課程時代(Coursera)與教育在線(edX)三大供應商。2013年7月上海交通大學加盟MOOCs三大平臺之一的課程時代Coursera,成為加入Coursera的第一所中國內地高校,和耶魯、MIT、斯坦福等世界一流大學共建、共享全球最大在線課程網絡[7]。“慕課”(MOOCs),顧名思義,“M”代表Massive(大規模),與傳統課程只有幾十個或幾百個學生不同,一門MOOCs課程多達上萬人;第二個字母“O”代表Open(開放),以興趣導向,凡是想學習的,都可以進來學,不分國籍,只需一個郵箱,就可注冊參與;第三個字母“O”代表Online(在線),學習在網上完成,不受時空限制,第四個字母“C”代表Course,即課程的意思[7]。MOOC以連通主義理論和網絡化學習的開放教育學為基礎。課程的范圍不僅覆蓋了廣泛的科技學科,例如數學、統計、計算機科學、自然科學和工程學,也包括了社會科學和人文學科。在“慕課”的世界里,視頻課程被切割成10min甚至更小的“微課程”,由許多個小問題穿插其中連貫而成,就像游戲里的通關設置,只有答對才能繼續聽課。利用“慕課”的平臺,可以獲取全球的優質課程,實現更大范圍的資源共享。除了傳統課堂上人們所慣常使用的錄像資料、閱讀材料和練習題外,“慕課”還會為網友提供互動的論壇,在師生之間搭建一個交流的平臺[8]。“慕課”不同于網絡公開課,互動性更強,“慕課”的出現,為教學設計提供了一種改革的可能———教師可以將在線視頻作為教學的線上環節,要求學生在課堂外先“聽課”,課堂內側重深入的分享、探討和問題解決,真正實現“翻轉課堂”。這一模式將促進教師對教學的反思,以及對教學模式的探索、研究,有助于推動教師角色轉變,從一個講授者、講解者真正變為學習的激勵者、啟發者,學習也將變得更加有效[8]。“慕課”課程所帶來的是挑戰、思考和實踐,而不僅是課程的變化。在程序設計課程中將來也可以引入“慕課”模式,利用現代網絡技術,開發針對不同知識點的程序設計教學視頻,提供在線測試題、上機練習題,程序閱讀題、在線提交與批改實驗報告等,通過論壇實現師生之間、學生之間的與交流與互動,通過全方位的教學方式改變教學方法,共同提高教學質量。

(二)翻轉教學法

利用視頻來實施教學在多年以前人們就進行過探索,當今網絡技術發達,計算機教學也可以通過網絡向外擴展,如開展網絡教學和將教學視頻上傳網絡等,供學生在校外學習。如2006年創立的可汗學院、2009年創立的點對點大學、2010年創立的人人學院等。他們都是與慕課相類似的組織。美國的耶魯等大學已經開始進行這樣的嘗試,并且已經獲得很好的效果。所謂翻轉課堂,就是教師創建視頻,學生在家中或課外觀看視頻中教師的講解,回到課堂上師生面對面交流和完成作業的這樣一種教學形態。“翻轉課堂”特點有:第一,教學視頻短小精悍,通過網絡的視頻,具有暫停、回放等多種功能,可以自我控制,有利于學生的自主學習。第二,教學信息清晰明確,把內容集中在屏幕上,配合講解的畫外音。每一個視頻都針對一個特定的問題,有較強的針對性,查找起來也比較方便;視頻的長度控制在在學生注意力能比較集中的時間范圍內,符合學生身心發展特征。第三,重新建構學習流程。老師提供了視頻,在課前對學生進行“信息傳遞”,在課堂上通過互動來完成“吸收內化”,教師在課堂上給予有效的輔導,教師更多的責任是去理解學生的問題和引導學生去運用知識,同學之間的相互交流更有助于促進學生知識的吸收內化過程。第四,復習檢測方便快捷,學生觀看了教學視頻之后,是否理解了學習的內容,視頻后面緊跟著的四到五個小問題,可以幫助學生及時進行檢測,并對自己的學習情況作出判斷[9]。由于程序設計知識點繁雜,概念抽象,視頻教學和翻轉教學也特別適合程序設計的教學。有效實施翻轉教學法的前提是根據教學內容和教學大綱,劃分出各個章節的知識點,如if語句、switch語句、for循環語句、while循環語句、數組、函數、指針等,將每個知識及其典型案例用屏幕錄像軟件錄制成10min左右的微視頻,上課前提前給學生在課外觀看,上課時通過師生互動輔導學生完成上機編程作業,解答學生在編程中遇到的問題。先看錄像后講課,這是“翻轉課堂”的教學視頻與傳統的教學錄像最大的不同之處。一個最顯著的變化將是,翻轉課堂,從以教師為中心真正轉變為以學生為中心,這實際上是一種傳統與現代的結合體,但其效果遠好于傳統教學。

五、程序設計教學方法的合理選擇與思考

課堂教學中并非獨立地應用一種教學方法,而是在不同的教學階段,根據教學內容,教學對象的不同,選用適合的教學方法進行教學,讓學生在“做中學”,使每一位學生收到最好的學習效果。采用講授法講解時,還要布置一些課堂或課后練習,避免光聽不練,理論與實踐脫節。例如介紹完遞歸函數的思想后,再布置編程題用遞歸函數實現將十進制整數轉換成八、十六進制,這樣既使用了編程技術又掌握了數制轉換的方法,可謂一舉兩得。三種基本的程序結構、數組、函數等概念通常是通過案例教學法來講解,在采用“案例教學”法教學時還要注重知識的脈絡,講清楚知識的結構和教學主線。期末應當布置課程大作業,例如編寫學生信息管理系統,讓學生將各章的知識融合在一起,體現鏈表、結構體、文件等章節知識的綜合應用。指針是C語言的重點和難點。數組、指針、函數三者又是密切聯系的。多種“分散跳躍式”的知識特別適合采用“任務驅動法”,設計一個任務,在解決任務的過程中綜合運用數組、指針、函數等,使學生抓住用指針作函數參數,傳遞數組元素這一教學主線,就可以突破指針這一教學難點。慕課、微課程、翻轉課程等在線課程模式,以及線上、線下結合的課程模式無疑將引發“學習的革命”,給高等教育人才培養和教學方式帶來深刻變化。程序設計課程如何運用這一模式,改變教學方法,提高教學質量,需要更多的思考和實踐。以“慕課”沖擊為契機,加快大學教學、管理的根本變革,實現兩者的融合才是更好的姿態。計算機技術更新極快,學生的自學能力才是最重要的能力,在程序設計的教學中不能只滿足于教會學生編程技能,還要注重創新能力的培養,創新能力本質是提高學生創造性地分析、解決問題的能力。因此教師還要教給學生歸納總結、觸類旁通的學習方法。例如,編程語言都有順序、選擇、循環三種基本程序結構,都有數據類型、運算符與表達式、數組、函數等概念;教會學生歸納和總結,在多門編程課程中觸類旁通,將會使學生在將來的工作中立于不敗之地。

六、結束語

第4篇

>> 微課在高職《C語言程序設計》翻轉課堂中的應用研究 翻轉課堂教學模式在C程序設計課程教學中的應用研究 翻轉課堂在高級語言程序設計課程中的應用 淺談基于微視頻的翻轉課堂模式在“高級語言程序設計”實驗教學中的應用 基于Android的C語言程序設計“翻轉課堂”的應用研究 基于MOODLE的高職院校“C語言程序設計”翻轉課堂教學改革 基于翻轉課堂的C語言程序設計課程教學改革初探 基于翻轉課堂模式的C語言程序設計教學改革 傳統教學和案例教學在C語言程序設計教學中的應用 行為導向教學法在《C語言程序設計》課程教學中的應用 啟發式教學法在C語言程序設計教學中的應用 項目教學法在高職《C語言程序設計》課程教學中的應用 案例教學和競賽在《C語言程序設計》教學中的應用 任務驅動式教學在高職《C語言程序設計》課程教學中的應用 論項目教學法在高職《C語言程序設計》教學中的應用 “項目驅動”教學在《C語言程序設計》教學中的研究和應用 “任務驅動教學法”在《C語言程序設計》課程教學中的應用 案例教學法在“C語言程序設計”教學中的應用 案例教學法在“C++語言程序設計”教學中的應用 基于任務的教學模式在《C語言程序設計》課程中的應用 常見問題解答 當前所在位置:.

[3]何克抗. 從翻轉課堂的本質看翻轉課堂在我國的未來發展[J].電化教育研究,2014,(7):5-16.

[4]Fulton, Kathleen. Upside Down and Inside Out: Flip Your Classroom to Improve Student Learning [J]. Learning & Leading with Technology,2012(6):12-17.

[5]張渝江. 翻轉課堂變革[J].中國信息技術教育,2012,(10):118-121.

[6]秦建華,何高大. 翻轉課堂:理據、優勢和挑戰[J]. 現代中小學教育,2014,(5):17-20.

[7]汪瓊. MOOCs改變傳統教學[J].中國教育信息化,2013,(19):26-28.

[8]Jonathan Bergmann & Aaron Sam. How to make videos your students will love[DB/OL]. http:///2012/05/21/how-to-make-videos-your-students-will-love/,2012-05-21.

[9]金陵. 用“學習任務單”翻轉課堂教學[J]. 中國信息技術教育,2013,(3):20-20.

[10]Baker,W.The Classroom Flip: Using Web Course Management Tools to Become the Guide by the Side [A]. The 11th International Conference on College Teaching and Learning [C]. Jackson Ville: Florida, 2000.

[10]金陵. 設計自主學習任務單[DB/OL]. http:///learn/ pku-21016#/ learn / content? type = detail & id=200062&cid=216351, 2014-10-25.

第5篇

>> 非計算機專業Java語言案例教學實踐 關于非計算機專業visUal Basic語言程序設計教學的思考 關于非計算機專業《C語言程序設計》循環結構教學的探討 淺談C語言程序設計在非計算機專業中的教學 淺析非計算機專業的C語言程序設計教學實踐 高職非計算機專業《C語言程序設計》課程的教學研究 非計算機專業的C語言程序設計教學探索 非計算機專業《Java語言程序設計》課程的教學方法探討 非計算機專業的C語言程序設計教學實踐 關于非計算機專業C語言的教學探討 提高非計算機專業學生編程能力的探討與實踐 淺談非計算機專業計算機教學 淺析非計算機專業計算機教學 中職非計算機專業的計算機教學應與骨干專業相結合 計算機編程語言的發展與應用 芻議計算機編程語言的分析與應用 非計算機專業的計算機教育 淺談非計算機專業的C++教學 高職計算機專業編程實踐教學研究 項目教學法應用于計算機編程語言的探索 常見問題解答 當前所在位置:l。

(3) 運行該程序只需要雙擊該文件圖標就可以在IE瀏覽器環境下運行,在指定的文本框中輸入符合計算要求的數據點擊確定就可以得到計算的結果,如圖3和圖4所示。

圖3 程序初始界面

圖4 運行結果

3小結

通過上述例子我們可以得出以下結論:

(1) 在記事本環境下,僅僅使用了一些簡單的VBScript腳本語句就可以完成復雜的數值計算任務。VBScript是介于HTML語言和Visual Basic、Java等高級語言之間的一種腳本語言,它接近于高級語言的大部分功能,但卻比高級語言簡單易學。

(2) 在運行該程序時,不像其他的程序設計語言需要經過編譯或解釋等步驟,以此來生成目標文件、連接文件以及可執行文件等,使用VBScript在記事本中編寫的程序需要做的工作僅僅是雙擊該文件名,而不會生成其他的中間文件,這樣就大大節省了系統的存儲空間。

(3) 在運行該程序時,對運行環境沒有提出特別的要求,僅僅是需要一個IE瀏覽器。這對于擁有一臺PC機的用戶是輕而易舉的事情。

(4) 當你還在費盡心思考慮程序的在多臺機器之間傳遞的時候,使用在此提倡的方法無需有這方面的顧慮。對于在任何一臺PC機上編寫的 .html文件,你可以輕松在多臺機器上拷貝和運行,而無需進行額外的路徑配置等工作。

當然,我們提倡的這種方法并不是十全十美,如:對于需要大量使用界面圖形來處理的問題,或者需要使用數據庫的問題,該方法就有所欠缺,但是該方法對于僅僅是為了自己方便,進行一些數據處理來說,是再合適不過的了。

全社會的計算機普及,為大學的非計算機編程教育創造了良好的氛圍和外部環境,使廣大非專業人員學習和使用計算機編程語言變得更加容易,如何使學有所用,使高等教育成為社會發展的推動力量,是高校非計算機專業編程教學面臨的嚴重的挑戰,這也是本文的初衷。

參考文獻:

[1] 施吉林, 劉淑珍, 陳桂芝.計算機數值方法[M].高等教育出版社.

[2] 劉瑞新, 汪遠征.Visual Basic 程序設計教程[M].機械工業出版社.

[3] 國防科技工業知識產權管理研究中心.知識產權法律法規選編[M].經濟科技工業知識產權.

收稿日期:2007-1-12

作者簡介:

汪遠征,男,副教授。主要研究方向:基礎數學;

蘆立華,女,助教。主要研究方向:過程挖掘和知識發現。

通信地址:鄭州市東風路5號鄭州輕工業學院信科系

郵編:450002

第6篇

國二,指的是全國計算機等級二級考試,考試時間每年分兩次,上半年時間為3月28日至4月1日,下半年為9月19日至23日,考試級別、內容和類別如下:

1、級別有程序設計、辦公軟件高級應用;

2、內容有計算機語言、基礎程序設計能力;

3、類別有高級語言程序設計類、數據庫程序設計類、Web程序設計類。

(來源:文章屋網 )

第7篇

(南京大學計算機科學與技術系,江蘇南京210046)

摘要:說明計算機組成及其他相關課程在整個計算機系統中的位置,分析計算機組成與其他相關課程之間的前、后關系;闡述計算機組成課程教學如何為先行課程答疑解惑以及如何為后續課程奠定基礎,對計算機組成、程序設計、操作系統等課程的關聯內容進行具體描述。

關鍵詞 :計算機組成;課程內容關聯;操作系統

文章編號:1672-5913(2015)17-0035-04 中圖分類號:G642

基金項目:2013年教育部一英特爾產學合作專業綜合改革項目“計算機系統專業課程體系”。

第一作者簡介:袁春風,女,教授,研究方向為大數據處理系統、Web信息檢索與本文挖掘、計算機體系結構,cfyuan@nju.edu.cn。

1 計算機組成在計算機系統中的位置

圖1描述了計算機系統抽象層的轉換。從圖1可以看出,計算機系統由不同的抽象層構成,“計算”的過程就是不同抽象層轉換的過程,上層是下層的抽象,而下層是上層的具體實現。

計算機組成課程涉及的內容主要位于圖1中寄存器傳送層( RTL)以上的微體系結構和ISA層次,介于軟件和底層硬件電路之間的交界面上,屬于整個計算機學科和計算機系統中最重要的基礎核心內容。該課程是計算機專業最重要的專業基礎課之一,所涉及的內容除了與數字邏輯電路、嵌入式系統等偏硬件類課程有直接關聯外,還與操作系統、編譯程序、高級語言程序設計等軟件方面的課程密切相關。因而,在整個計算機專業教學中,該課程起著重要的承上啟下作用。

計算機組成課程在整個計算機系統相關課程鏈中處于中心位置,該課程教學效果的好壞,對于學生建立計算機系統整機概念和培養學生分析、設計、開發、應用計算機系統的能力至關重要。該課程起到“粘合劑”的作用,在教學過程中應有機結合計算機軟件和硬件,站在高級語言程序員的角度來理解計算機組成與系統結構,通過為程序員描述底層機器級行為把計算機系統中的各個抽象層聯系起來。

2與高級語言程序設計課程的關聯

高級語言程序必須轉換為機器語言目標代碼后才能在計算機中運行,其執行結果雖然由高級語言語句和所處理的數據類型及數據的值來決定,但歸根到底還是由執行程序的計算機低層機器級行為決定。具體來說,在以下課程內容中可以與高級語言程序設計的相關內容建立關聯。

2.1 數據的表示和運算

數據的表示和運算是計算機組成課程中的基本內容,傳統上該課程僅介紹各類定點數和浮點數的編碼表示、非數值數據的編碼表示以及相應的各種算術運算算法及其運算電路,很少把這些內容與高級語言程序中處理的數據建立關聯。事實上,高級語言程序中的數據就是該課程中介紹的數據,只是從不同角度看到的數據的屬性不同罷了。例如,C語言程序中unsigned型數據就是定點二進制數,int型數據就是補碼定點整數,float和double型數據就是IEEE 754單精度和雙精度浮點數;C語言中支持的各種運算就是由該課程介紹的運算電路實現的;各種數據類型的位數就是定、浮點數編碼的位數。

由于計算機中運算數據通路寬度和其他底層機器結構的限制,高級語言程序在進行數據類型轉換或特定運算時會出現一些意外結果,如果不把高級語言程序中的數據及其運算與低層機器結構及機器級數據的表示建立關聯,則很難理解為何會發生這些意外結果。同樣,在講述數據存放方式時,也可把大端/小端、對齊方式與具體程序及指令相關聯,使學生深刻理解計算機系統各層次之間的關聯。

2.2 Cache的基本原理

Cache的基本原理是計算機組成課程的重要內容。雖然從程序員的角度來說,編程過程中根本感覺不到Cache的存在,但是,由于程序訪問的局部性特點,引入Cache后可以保證其命中率更高,從而在絕大多數情況下可以只訪問高速的Cache而使CPU訪存速度加快。因此,程序設計時是否考慮訪問局部性對程序的性能是至關重要的,要做一名高水平的程序員必須深刻理解Cache機制。

因為Cache對程序員透明,所以在程序設計課程中肯定不會涉及Cache問題。如果在計算機組成課程中不將Cache與程序設計關聯的話,學生就不知道在編程時要考慮局部性,從而可能編寫出局部性很差的程序,極大地降低程序的執行性能。

實際上,在高級語言程序設計中很多情況下都存在如何開發訪問局部性的問題,也有很多程序例子可以用于分析訪問局部性和程序性能之間的關系,從而更好地理解Cache的基本原理。

2.3 虛擬地址空間劃分

因為高級語言在計算機系統中屬于操作系統以上的抽象層,高級語言程序中使用的地址,不管是代碼的地址還是數據的地址,對應用程序員(即上述“邏輯地址”定義中的用戶)來說都是感覺不到的。匯編語言雖然在計算機系統中屬于較低抽象層,匯編語言程序員可以為代碼段和數據段定義地址,但是這個地址并不是我們所說的虛擬地址。因此,即便學生有用匯編語言編寫程序的經驗,也無法正確理解“用戶編制程序時所用的地址”這樣的概念。

正確理解“虛擬地址”這個概念,對于學習虛擬存儲器知識點至關重要。將虛擬地址空間的劃分和程序設計中的相關概念建立關聯,有助于學生理解“虛擬地址”概念,也更容易理解“所有程序使用相同的地址空間”這句話。而且,對于學生進一步理解程序設計中涉及的變量作用域和壽命等問題也有很大幫助。

2.4 指令系統設計

指令集體系結構(ISA)是計算機系統中最核心的抽象層,位于軟件和硬件交界面。指令系統設計是計算機組成課程中最核心的內容。傳統上這部分教學著重介紹指令系統設計涉及的指令格式、操作碼編碼、操作類型和尋址方式問題,而不提及指令系統與高級語言之間的關系。事實上,高級語言程序作為指令系統設計的需求,它們之間是密切相關的,高級語言處理的數據及其運算就是指令中的數據及其運算,高級語言語句的實現就是若干條指令構成的指令序列的實現。因此,指令系統設計時,需要從如何滿足高級語言中數據及其運算以及各類語句功能的需要出發,從如何解決高級語言功能的問題人手來講解指令系統的相關知識點。

3 與數字邏輯電路和體系結構課程的關聯

通常,數字邏輯電路在計算機組成之前開設,而計算機體系結構則在計算機組成之后開設,這3門課程的內容位于計算機系統中同一層或相鄰層,它們之間存在較大關聯。

3.1 基本運算部件

半加器、全加器和無符號加法器的內容是數字邏輯電路中的主要內容,包括SN74181芯片、SN74182芯片等都不應作為計算機組成課程的主要內容。如果在課程教學中涉及SN74181、SN74182等芯片及其級聯等內容的話,其意義僅在于讓學生了解現代CPU是如何用快速的先行進位方式來實現加法器的,而不需要讓學生了解如何進行芯片級聯,更不能讓學生產生錯誤的認識,以為現代計算機的CPU是由芯片級聯形成的。

3.2 CPU的組織結構

傳統課堂上,有關CPU組織的內容都是以總線式CPU作為模型機來進行講解的,這樣的模型機實際上都不能反映現實技術,現代CPU中指令的執行都采用高級流水線技術。

為了與計算機體系結構很好地銜接和關聯,計算機組成課程需要細化指令流水線的執行過程。在講解指令流水線之前給出單周期數據通路及其控制器的結構,然后在單周期處理器的基礎上給出流水線處理器的結構,再在流水線處理器中分析一個指令序列中的各指令在指令流水線每個時鐘周期內的數據流動過程,從而為理解指令流水線執行時可能的冒險現象以及解決流水線冒險的處理方法打下良好的基礎。

3.3 數據通路的定時

對于數據通路的定時,傳統教學都會提到CPU的三級時序信號系統和機器周期的概念,事實上這些概念都是在引入Cache之前的處理器設計中應用的,在現代計算機中它們是過時的知識點,不應該作為主要內容,最多只是歷史性或過渡性介紹內容。傳統教學中很少對現代計算機中數據通路定時方式作介紹,而這個內容卻是非常重要的,它是學生理解時鐘周期和主頻以及計算機性能等內容的基礎,需要在教學中增加這部分內容。

4 與操作系統課程的關聯

操作系統是計算機組成的后續課程。操作系統的主要內容是如何管理計算機的資源,而計算機組成課程介紹的就是這些計算機中的資源,如CPU、存儲器和I/O。操作系統需要通過硬件提供的特權指令直接對硬件底層進行控制和處理,這兩門課程內容之間存在非常密切的關聯。這兩門課程之間的關聯主要體現在以下幾個方面。

4.1 異常和中斷處理

異常和中斷是打斷用戶進程正常執行的兩大類事件,它們的發生會引起CPU從執行用戶進程的用戶模式轉入執行系統進程的內核模式。計算機組成課程的傳統教學中,沒有引入CPU運行模式的概念,學生對很多關鍵問題缺乏正確認識。例如,異常和中斷如何引起CPU模式的切換?硬件需要為此提供哪些機制?硬件和操作系統之間如何協調處理異常和中斷?中斷(異常)返回指令與過程返回指令功能的差別以及它們各自在數據通路中的執行過程是什么?

為了更好地與操作系統的相應內容銜接,在計算機組成課程中應該增加或強化以下內容:嚴格區分內部異常和外部中斷,將內部異常的內容放在介紹CPU數據通路和控制器的部分;通過分析具體指令執行過程中可能的異常事件強化內部異常的概念,并通過例子說明異常響應過程的具體操作;引入CPU運行模式,將異常響應過程與模式切換結合起來,在操作系統課程教學時回顧這部分內容并細化操作系統內核中相應的處理細節,這樣,學生可以非常清晰地了解整個過程,包括相關的硬件和軟件部分。

4.2 虛擬存儲器機制

計算機組成和操作系統課程都涉及虛擬存儲器,傳統教學在這兩門中所講的內容很多都是重復的。例如,兩門課程都會講3種虛擬管理方式:地址轉換、頁表和頁表項、TLB,如果不特別強調硬件和操作系統在實現虛擬存儲機制中的角色,會給學生帶來困惑,不知道哪些內容屬于硬件設計需要考慮的,哪些是操作系統需要考慮的。

通過將虛擬存儲管理與指令執行關聯起來講解可以非常具體地說明計算機系統中硬件和操作系統之間協調完成特定任務的過程。同樣,介紹TLB工作原理時也可以與指令的執行過程進行關聯,讓學生了解TLB缺失也是由CPU在執行指令過程中進行地址轉換時發現的。如果用硬件實現對TLB缺失的處理,那么就像Cache缺失處理一樣,CPU凍結當前指令的執行時序,即當前正在執行的指令被阻塞,轉到相應的缺失處理控制邏輯去執行,結束后再回到當前被凍結的指令執行;如果用軟件實現對TLB缺失的處理,那么就像缺頁處理一樣,會引起CPU執行模式的切換,調出操作系統內核進行相應處理。

4.3 系統控制類指令的設計

在計算機組成課程中講解指令系統的設計時,會提到指令系統中有系統控制類指令,但是具體有哪些指令則很少提到。事實上,這些系統控制類指令主要用于操作系統內核程序,并且與機器底層的控制有關。例如,操作系統在進程切換時,需要沖刷Cache和TLB,因此,會有一些與Cache和TLB管理相關的系統控制類指令;自陷和系統調用是從用戶態向核心態轉換的一種方式,因此,指令系統設計時需要有自陷指令和系統調用指令。如果在講相關內容時,提一下系統控制類指令與進程切換和CPU模式轉換等知識的關系,也可以為學生學好操作系統打下良好的基礎。

4.4 輸入/輸出系統

在計算機組成課程中,通常有一個專門的章節介紹I/O系統,而操作系統與I/O系統有著極其密切的關系。

在操作系統的設備管理程序、設備驅動程序和中斷服務程序中都涉及I/O設備、I/O接口、I/0控制方式等內容,而這些是計算機組成課程的基本內容。在講解這部分內容時如果能有意識地說明其和操作系統之間的關聯,將會為學生學習后續操作系統課程打下良好基礎。MIT6.004課程(Computation Structures,相當于國內的計算機組成課程)實驗8設計的實驗內容很有啟發性,它非常恰當地表達了計算機組成和操作系統兩個課程與輸入/輸出系統之間的關系,對學生理解用戶如何從用戶進程陷入操作系統,最終由操作系統內核直接控制輸入/輸出設備這樣的過程很有幫助。

5 與編譯技術課程的關聯

計算機組成是編譯技術課程的先行課程。編譯器的功能是將高級語言程序轉換為機器級代碼,而機器級代碼的相關內容就是計算機組成課程講解的主要內容,因此,計算機組成和編譯技術之間也有很大關聯。

5.1 程序的等價翻譯轉換

在計算機組成第一講中通常會通過程序功能等價轉換的例子來闡述計算機系統層次結構,可以通過例子讓學生初步了解編譯程序的概念。然后,在后續相關內容的講解中,強調經過編譯后得到的機器級程序,強調選擇哪個寄存器來存放高級語言程序變量是編譯器的工作,選擇什么樣的指令序列來實現特定高級語言程序功能也是編譯器的工作,由此來強化編譯程序與計算機組成相關內容之間的關聯,潛移默化地強化學生的計算機系統整體概念。

5.2 流水線調度與編譯優化

計算機組成課程中涉及指令流水線設計,其中數據冒險和控制冒險的處理以及靜態和動態流水線調度等內容都與編譯優化有關。在介紹這些內容時,可以通過例子說明編譯優化的概念。在編譯技術課程中不會涉及計算機結構和指令系統,不會介紹這方面的編譯優化技術,因此安排在計算機組成或計算機體系結構課程中講解比較適合。

6 結語

計算機組成課程內容位于計算機系統最核心的中間位置,它對學生建立計算機系統整體概念,培養學生理解、使用、設計和開發計算機系統起著非常重要的作用。在該課程的教學過程中,如果能夠很好地與高級語言程序設計課程建立關聯,能起到為高級語言程序設計課程答疑解惑的作用,并強化學生在程序調試、程序性能提升、程序移植和程序健壯性等方面的能力。在與數字邏輯電路和計算機體系結構課程的銜接中,還需要更加合理地安排內容,減少重復和陳舊的內容,增加必要的過渡內容。在與操作系統課程的關聯部分,需要把硬件實現部分和操作系統實現部分區分開來,側重講清楚硬件實現部分以及硬件與操作系統之間的接口部分,把操作系統實現的部分留給操作系統課程。在與編譯技術課程的關聯中,應著重讓學生了解編譯程序與機器結構及指令系統的密切關系,并建立編譯優化和指令流水線技術的關聯。

參考文獻:

[1] Yale N P,Sanjay J P.lntroduction to computing systems from bits and gates to c and Beyond[M].2版.北京:機械工業出版社,2006.

[2]袁春風,張澤生,楊若瑜.計算機組成與系統結構課程建設思路與教學實踐[J].計算機教育,2012(2): 62-66.

[3]袁春風,計算機組成與系統結構[M].北京:清華大學出版社,2010.

[4] CMU.Introduction to Computer Systems[EB/OL]. [2015-06-30].cs.cmu.edu/~213/.

第8篇

Abstract: Assembly language has complex instructions and many provisions which lead to the weariness of students. In order to improve the teaching effect of assembly language programming, this article explains how to easily learn assembly language from the comparative perspective of English and C language grammar in order to improve the interest of learning.

關鍵詞: 單詞;詞法規則;語法規則;語法成分;語句

Key words: word;lexical rule;grammar rule;grammatical component;statement

中圖分類號:TP313 文獻標識碼:A 文章編號:1006-4311(2014)19-0193-02

1 緒論

作為最接近機器語言的編程語言,匯編語言可以稱得上是最接近于計算機操作本質的語言。其直接面向硬件的特性,使得在使用匯編語言編程時,能夠清楚感知計算機的運行過程和原理,充分認識應用程序和計算機硬件之間的聯系與交互。相對于高級語言來說,匯編語言對編程者思維邏輯的鍛煉表現尤為突出,對于形成軟、硬兼備的編程知識體系具有舉足輕重的作用,而且指令集合簡約,指令操作直接。很多硬件設施的嵌入式編程使用的都是匯編語言,因為匯編語言更直接,更有效率。例如現在很多數碼產品賴以生存的芯片、主板等,都包含了嵌入式程序,而這些程序中,匯編語言的使用是非常普遍和相當重要的。對于計算機專業語言類課程的學習來說,從匯編語言開始學習更符合循序漸進的學習原理。特別是在計算機技術專業的學習中,匯編語言具有十分重要甚至說不可代替的作用。因學生有英語、C語言學習的基礎和習慣,故本文從英語、C語言語法對比的角度,說明如何輕松學好匯編語言,以便更好地由英語學習、C語言學習自然過渡到匯編語言學習。

2 匯編語言課程的特點

匯編語言是計算機能提供給用戶的最快而又最有效的語言,同時能夠利用計算機所有硬件特性并能直接控制硬件。所以高級語言簡單、易學且開發效率高,而匯編語言復雜、難懂、開發效率低。優點:①用匯編語言所編程序時空效率高。由于匯編語言本質上就是機器語言,可直接、有效地控制計算機硬件,因而與高級語言相比,容易得到運行速度快、執行代碼短、占用內存空間少的高時空效的目標程序。②用匯編語言能設計出高級語言無法實現的程序。正是由于與機器的密切相關性,使得匯編語言能充分利用計算機的硬件特性,編寫出與硬件緊密相關而高級語言又無法實現的程序。缺點:①難學、難理解、難編程、難調試、難維護等。②匯編語言程序可移植性差,它是面向機器的語言,不同的機器CPU不一樣,一個CPU一個指令系統,硬件CPU的不兼容導致程序移植困難。

3 英語與匯編語言的對比(表1)

例如以下程序:

Data segment ;data段開始

X dw 10,20,50,70,-90 ;data段正文

Data ends ;data段結束

Code segment ;code段開始

Assume cs:code,ds:data

Main: mov ax,data

Mov ds,ax

Mov bx,offset x

Mov cx,5 ;code段正文

Mov ax,0

L: Add ax,[bx]

Add bx,2

Loop l

MOV AH,4CH

Int 21h

Code ends ;code段結束

End main ;整個程序書寫結束,從語句main開始執行

該程序的功能是求數據10,20,50,70,-90的累加和

4 單詞的種類

4.1 常量(常數)單詞 ①10進制整形常量。詞法規則:以D結束(D可省略),由0-9構成 如 123D,456。②16進制整形常量。詞法規則:以H結束,由0-9,A-F構成 如 123H,456H。③8進制整形常量。詞法規則:以Q結束,由0-7構成 如 101Q,456Q。④2進制整形常量。詞法規則:以B結束,由0-1構成 如 101B,110B。⑤字符型常量。詞法規則:單引號括起來的字符,其值為其ASCII碼如‘1’的值是41H,’AB’的值是4241H,’ABCD’的值是44434241H,字符順次存放,其值是低位在低地址部分。

4.2 名字單詞 詞法規則:以字母或下劃線開始,由字母,數字,下劃線構成的串。如xyz,flag,名字可以是段名,子程序名,指令的名字,常量名,變量名,寄存器名等。

4.3 運算符單詞 算術運算符:如+,-,*,/。偽指令運算符:如offset,seg,xor。

4.4 操作碼單詞 區分不同的操作(運算),含義必須硬記。如ADD(加法),SUB(減法),MUL(乘法),DIV(除法)。

5 語法成份――表達式

語法規則:由常量,運算符,括號,名字構成。如123+456+x,其中最常用的表達式有:①100:數據100。②[100]:100號單元,100不是數據,是地址,100號單元的內容是數據。③BX:BX單元。④[BX]:BX所指向的單元,并非BX單元。⑤10[BX]或書寫成[10+BX]:BX所指向的單元,下10個單元。⑥[SI][BX]或書寫成[SI+BX]:BX所指向的單元,下SI個單元。⑦10[SI][BX]或書寫成10[SI+BX]或書寫成[10+SI+BX]:BX所指向的單元,下SI個單元,再下10個單元。

6 語句格式

自然語言格式是:動詞(做什么)賓語(對誰做)狀語(怎么做)。匯編語言格式是:動詞(做什么)賓語(對誰做),省掉狀語(運算結果怎么辦,隱含給出)。

語法規則:[名字][:]操作碼目的操作數,源操作數;注解。表示做何種操作的代碼稱為操作碼,參加操作的數稱為操作數,操作數無非是常量,名字,表達式。存放結果的稱為目的操作數,僅參加運算的數稱為源操作數。運算后,目變源不變。

語義規則:目的操作數操作上源操作數,結果送到目的操作數(運算結果怎么辦,隱含給出)。

如 ADD AX,BX表示AX的內容加上BX的內容送AX,(AX)+(BX)送AX。

7 匯編語言與C語言的比較(表2)

8 結束語

計算機由硬件軟件兩部分構成,匯編語言可直接在硬件層上編程序,高級語言有編譯程序,該軟件層遮蓋了硬件層,使得用戶看不到硬件,看到的只是編譯程序的語法約定。故學好匯編語言,對于理解計算機內部運行機制及產品開發尤為重要。

參考文獻:

[1]王成耀.80X86匯編語言程序設計(第2版)[M].北京:人民郵電出版社,2008.

第9篇

關鍵詞:機器語言;匯編語言;計算機高級語言

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)08-0093-02

計算機組為什么有別與其他人類發明的工具,能夠自動、準確的執行人們事先編制好的程序?要回答這個問題我們必須理解機器語言、匯編語言、計算機高級語言。計算機高級語言很多人接觸到或者學習過不難理解;但是機器語言、匯編語言很少有人接觸,包括計算機專業的學生,這些年也逐漸不再開設匯編語言程序設計課程。計算機的層次結構如圖1。

1計算機的機器語言

很多教材對計算機的機器語言概括為計算機能直接執行的語言,用戶必須用二進制(0,1)來編寫程序,要求程序員對所使用的計算機硬件及其指令系統十分熟悉。這樣的解釋很抽象也很難理解。其實機器語言并不難理解,我們用教室的電燈系統來舉例,用Ki表示對應的開關;用1表示開關閉合,用0表示開關斷開;假如教室里有4個開關,分別控制不同的電燈。則教室里電燈系統的指令系統用二進制(0、1)表示出來如表1。

@里的指令系統中0000表示全滅,1111表示全亮。根據這個指令系統編寫了某個程序,Ti表示指令執行的時間周期。程序如表2所示。

這是與電燈系統為例。如果以某機器為例,對ax2+bx+c進行運算,進行程序優化為(ax+b)*x+c;具體機器語言步驟如圖2。

2匯編語言

通過上面兩個例子對機器語言能更好地理解。匯編語言是在機器語言的基礎上出現了符號式的程序設計語言。它用符號ADD表示加;SUB表示減;MUL表示乘;D1V表示除;MOV表示取數等。用匯編語言ax2+bx+c進行運算程序如下。

數據段定義a,b,c,x;

代碼段如下MOV A CCX;取數x至ACC;

MUL a;ACC的值乘于a,放到ACC中,即a*x->ACC;

ADD b;ACC的值加b,放到ACC中,即a*x+b->ACC;

MUL x;ACC的值乘于X,放到ACC中,即(a*x+b)*x->ACC;

ADD c;ACC的值加c,放到ACC中,即(a*x+b)*x+c->ACC;

MOV result,ACC;把結果從ACC送到result單元。

通過這個程序可以知道,匯編語言與機器語言是一一對應的,故需要程序員對計算機的硬件、結構和指令系統都要熟悉。

3高級語言

高級語言對問題的描述十分接近人們的習慣,跟數學邏輯類似,并且有較強的通用性。如FORTRAN.BASIC、PASCAL、C等,比如C語言編寫ax2+bx+c進行運算程序如下。

第10篇

中圖分類號:G642

摘要:針對普通高等院校工程能力培養過程中實效性差的問題,提出以學生工程實踐能力培養為主的自主學習模式和一種漸進式工程能力培養的訓練模式,以C語言編程能力訓練和數據庫工程能力培養為例,從課程的教學模式和方式上進行探索與實踐,通過案例驅動編程能力的訓練和“初步體驗、獨立項目實踐、從業實踐與實訓”的漸進式實踐教學模式,達到學生工程應用能力的培養目標。

關鍵詞:自主學習;工程能力培養;漸進式;案例教學

0 引言

近年來,我國高等教育規模快速擴大,高等工程教育培養規模已經躍居世界第一,但培養學生的質量和工程素質一直存在問題。現行工程教育模式中存在一些共性問題,如在教學過程中存在重理論教學、輕工程實踐、重過程形式、輕能力培養、評價考核機制不科學等問題。普通院校的學生普遍存在基礎差和自學能力弱等問題。

浙江傳媒學院電子信息學院電子信息工程專業的培養方案中,計算機工程應用能力是該專業的能力培養目標之一。為此我們在多年課程教學實踐的基礎上,針對計算機工程實踐能力的培養,建立高級語言程序設計(C語言)、數據結構、Java語言程序設計、數據庫技術與應用的計算機類課程群,以增強工程意識、提高工程素養和工程實踐能力為具體目標,以培養學生的自主學習能力為根本宗旨,以4門課為基礎提出以學生實踐為主的自主學習模式和漸進式工程能力培養訓練模式,就整個教與學的管理過程及評價機制開展深入的探索與實踐。

1 以學生實踐為主的自主學習模式

教學改革的目標是力圖實現本科教學模式的3個轉變——以教為主向以學為主轉變、以課堂教學為主向課內外結合轉變、以結果評價為主向結果與過程評價結合轉變,這3個轉變歸結起來就是以能力提升為最終目的。因此,我們對高級語言程序設計(C語言)的教學模式進行大膽改革,探索以學生實踐為主的自主學習模式。

高級語言程序設計(c語言)主要講授程序設計語言的基本知識和程序設計方法,使學生了解高級程序設計語言的結構,掌握程序設計的思想和方法以及基本的程序設計過程和技巧,具備初步的分析問題和利用計算機求解問題的能力。目前,高級語言程序設計(C語言)課程的教學模式仍然是重教輕學和重理論輕實踐,教學內容的組織也往往是以語法知識為主線,考試內容偏重語言而不是編程,而編程能力的培養只能通過加強實踐達到。

1.1 強化實踐教學。激發學生自主學習

傳統的課程教學都是采用教師在課堂上講授知識,學生課后做作業,然后進行幾次課內實驗的模式。對于這種學習模式,學生只是被動地接受知識,而要掌握c語言程序設計必須進行大量的編程練習。針對傳統高級語言程序設計教學模式的弊端,我們徹底改變原來以理論教學和教師講授為主的教學模式并將其轉變為以學生實踐為主的自主學習模式,將目前高級語言程序設計(C語言)的64總學時(其中理論44學時,實驗20學時)改為96學時(周學時為6學時,課內實驗4學時,課外實驗2學時);全部采用實驗課授課模式,將教學地點從教室移至實驗室,不再進行理論授課,而是由學生自學理論知識,然后上機編程,通過這種形式迫使學生自主學習。

學生在每次上實驗課前或在課余時間都要自學實驗所要求的理論知識,在課內實驗中,根據教師給出的實驗指導書驗證案例,對案例進行改寫,進而模仿案例完成實驗要求的內容。對于程序中出現的語法等問題,我們要求學生自行查書或資料解決。實驗過程中,我們要求每名學生自主完成實驗內容,但在整個學習過程中每個班可分成若干個學習小組,小組成員在課內外可合作學習,相互交流討論和解決問題,一方面提高學習效率并開拓思路,另一方面也可培養團隊合作能力,遇到疑難問題時再由教師答疑。

實驗平臺可采用任一C語言的開發工具,鼓勵學生采用在線判題系統(Online Judge,簡稱OJ),為學生自主學習提供一個更好的平臺,學生可利用OJ系統在課內外隨時學習。教師也可通過分析學生提交的程序實現代碼,發現學生學習過程中存在的問題,及時了解學生對知識的理解和掌握情況,同時也有利于學生間形成互相競爭的機制和一種良好的學習氛圍。另外,課程還提供網絡和視頻教學平臺,便于學生更好地進行自主學習。

學生通過自學和進行大量的上機訓練,逐步熟悉并掌握c語言的基本語法和使用,具備基本的C語言編程能力。通過這種方式,學生變被動學習為主動學習,很快適應大學的學習方法,培養了獨立解決問題的能力、進行程序設計的興趣和學習專業的興趣。

1.2 以案例驅動教學,轉變教師角色

在傳統的教學模式中,教師始終充當主角,大多數教師都會精心組織教學內容,想方設法將知識傳授給學生,但事實上,學生在課堂上卻往往感到枯燥無味,收效甚微,而在實驗課上面對編程題又無從下手,因此教師必須改變觀念。授人以魚不如授人以漁,教師應當更多地承擔引導角色,改變教學模式,令學生變為主角,變被動學習為主動學習。

課程教學完全是以學生上機實驗自主學習為主,但要在教師的引導下進行。在整個教學過程中,教師擬作2~3次課的講授,一是為整個課程作入門鋪墊,主要介紹課程的教學目標、學習方法、課程概論、課程主要知識點、程序設計思想以及程序的基本結構,使學生了解課程的要求以及課程的教學組織形式,了解C語言程序課程概況;二是講解如何上機調試程序,讓學生掌握判斷和定位錯誤,學會分析、解決錯誤和測試程序的方法;三是對課程學習過程進行控制并進行總結歸納。

在整個教學過程中,教師要能及時了解學生的學習進展情況,在實驗課開始時檢查學生的預習情況,在實驗過程中適當給予提示或幫助學生答疑,在每次實驗課程結束后略加小結,然后布置下一次的實驗要求。最重要的是教師要精心設計實驗案例和實驗課程組織方案,給出能利于并引導學生自學的實驗指導書。

實驗內容的組織以程序設計為主線,以編程案例為驅動,側重以編程引導學生對語法知識的深入理解。實驗指導書主要包括實驗目標、知識點預習要求、實驗內容等方面,實驗內容包括驗證案例程序的詳細內容和步驟、要求進行改寫的程序以及要求仿寫和完成的實驗程序。此外,教師還可以另設計一些提高性的內容以供學習能力較強的學生完成。

2 漸進式的工程化實踐教學

數據庫技術及應用是與各專業應用結合比較緊密的應用技術基礎課程,是一門工程性和實踐性都非常強的課程,因此我們主要以工程化實踐教學模式進行數據庫技術與應用課程的教學,根據“初步體驗、獨立項目實踐、從業實踐與實訓”3個層次實行漸進式實踐教學訓練。在教學過程中,我們注重培養學生的工程能力,強化學生的工程實踐意識,從教學內容的組織和實驗環節的設計到課堂教學案例和實驗教學的開展,都圍繞工程素養的培養進行遴選。

2.1 采用工程案例驅動的理論教學模式

在理論課講授方面,我們以工程案例驅動模式進行教學,以網上書店的開發案例貫穿教學全過程,將數據庫基本原理和設計技術融于案例教學過程。同時,根據浙江傳媒學院電子信息工程專業的傳媒行業特色,對教材的內容進行優化整合,增加與新媒體應用相關的多媒體數據庫等新技術內容,加強數據庫工程應用設計及網絡數據庫應用技術能力的培養。在各章的教學中,我們用案例進行分析,逐層引導,全過程地闡述數據庫系統原理及應用中的各類概念和技術問題。

2.2 實行漸進式的工程化實踐教學過程

1)初步工程訓練體驗。

課程的教學除了理論教學外,還有相應的課內實驗教學。實驗內容分成兩部分,一部分是數據庫技術的基本實踐,主要包括特定DBMS的使用、SQL語言的編程練習以及數據庫的連接技術;另一部分是小型數據庫應用系統的開發,采用工程化的基本思想,組織學生分組設計實現一個初步的工程項目,培養學生的自學能力、主動學習能力、團隊協作能力以及初步的工程實踐能力。

在初步工程訓練體驗階段,教師提出工程設計的基本功能和性能要求,包括系統界面設計、基本的數據操作和查詢統計功能設計、性能指標設計等基本要求。學生可自由組成小組,根據教師要求自主選題并自主選擇開發工具和數據庫環境,在完成基本功能要求的前提下,可以結合自己的工程項目設計實現一些特色功能模塊,然后完成項目設計的總結報告。最后,教師對每個小組的作品進行項目驗收,要求每個小組制作PPT進行項目工作匯報并演示所設計的作品,由學生推選出的若干學生評委負責項目評分。工程項目設計成績作為該小組成員平時成績的主要評分依據。

2)獨立工程訓練實踐。

獨立工程訓練實踐要求學生在課程設計階段完成。該階段要求每個學生自主完成一個真實的或模擬的項目開發實踐,以著重培養學生的自學能力、獨立從事工程實踐的能力、基本的分析問題和解決問題能力。

課程設計階段要求學生自學數據庫開發工具和環境,強調獨立設計,強化學生查閱資料能力、自學能力、創新設計和實踐能力的培養。在此課程設計階段,教師除了提出項目設計的基本能力訓練要求和設計作品的基本功能和性能要求外,還給出一系列參考選題讓學生選擇。學生也可以自主選題,但需征得教師同意,以保證選題的質量。為避免抄襲等行為的發生,每個學生的題目和內容必須不同。同時,課程設計階段會要求學生采用與上一次設計不同的工作模式(C/S或B/S),采用工程化的手段和方法完成基本的設計實現工作。

課程設計完成后,指導教師組織學生評委(7人)對學生作品和設計方案進行檢查,最后通過匯報答辯的形式評定作品設計成績。作品設計和匯報答辯成績由學生評委給定,教師在設計過程中負責答疑,在答辯過程中負責點評,但教師有權對成績進行微調。另外,在課程設計結束后,學生要完成課程設計報告,教師對課程設計報告批注評語并給出成績,課程設計的最終成績由作品設計成績和設計報告成績組成。

經若干次實踐證明,上述實踐教學方法既減輕了教師的工作任務,同時又促使學生相互學習并取長補短,在促進學生自主學習、主動學習和實踐的同時,也提高了學生的表達能力;通過課程設計報告,學生提高了撰寫規范的項目設計方案的能力和設計總結報告的水平。

3)從業工程訓練實踐。

從業工程訓練實踐主要指學生在企業實習期間,以行業一線的真實工程項目為背景,參與并完成相應的工程項目設計實現工作(或作為其畢業設計),培養數據庫工程應用實踐開發和運用數據庫技術從事服務外包等實際應用開發能力。

第3階段主要是結合實際數據庫工程項目,尤其是與傳媒應用密切相關的數據庫工程項目的設計與實現工作,如電視節目查詢點播系統、媒體資產管理系統、影視資料編目系統等。這一階段的實踐主要培養學生的實際應用能力,幫助其盡快適應社會需求,在離校前具備應對復雜工程實踐的基本能力。通過3個階段的實踐教學,學生能夠初步具備到一線從事數據庫工程及服務外包等項目開發的基本能力。

3 以能力培養為目標的考核評價機制

教學方法和手段中的一些不足之處,不可避免地會導致考核評價機制不科學和不公平現象的發生。多數課程的考試都采用期末筆試形式,課程考試無法真正做到考核學生的實際工程能力,為此改革評價方式宜與教學模式改革相配套。

第11篇

關鍵詞:C語言 教學方法 教學改革 上機實驗

一、背景

C語言是國內外應用廣泛的計算機語言,它不僅具備高級語言可移植性好、易用性強等優點,又兼顧了低級語言高效、可直接對硬件操作等大部分功能,是計算機編程人員應掌握的一種程序設計工具。C語言程序設計是各高等院校、技工院校計算機及相關專業重要的專業基礎課,該課程既能體現學生的邏輯思維能力和推導能力,又能培養學生的創新精神。但由于C語言功能強大,使用靈活,內容抽象、枯燥,特別是對于數學和英語基礎比較差的學生來說,普遍存在著閱讀程序困難、編寫程序無從下手等問題,并產生不同程度的抵觸心理。因此對于擔任該課程的老師來說,如何教好這門課程,使學生逐步掌握程序設計的思路及方法,并能靈活運用高級語言進行程序設計,是這一門課程的目的和宗旨。

二、C語言程序設計課程教學現狀分析

C語言程序設計課程的掌握情況對后續課程有著至關重要的影響,通常將其作為學生的第一門程序設計語言課程。許多學生此前并未接觸過程序設計語言,對算法、數據結構和程序設計一無所知,一開始對C語言很好奇,但隨著教學內容的深入,大量抽象概念、術語、語法規則的記憶及枯燥無味的例題分析,使學生產生畏難情緒,逐漸失去學習熱情;還有一部分學生雖然課堂上聽得懂,但自己編程時卻無從下手,或者編寫的程序錯誤多,無法分析出錯原因,所以對學習失去了信心;甚至還有個別學生認為C語言已過時、實用性不強,不如面向對象的C++語言或JAVA語言,導致在學習過程中積極性不高。

目前,大多數教師的C語言課程的教學仍然停留在傳統的教學模式上,過度注重語法、算法等細節,以教師“教”為中心,滿堂灌。學生在教師的指導下被動地接受。教師只能保證所授知識的系統性,卻不能充分發揮學生的學習自主性,無法培養學生的創新能力和邏輯思維能力。

三、C語言程序設計課堂教學改革探索

根據C語言自身的特性,我們從教學手段、教學方法等方面進行了一系列的探索及改革,啟發并訓練學生的編程思維,以期能進一步提高該課程的教學效果。

1.以激發學生的學習興趣為先導

興趣是最好的老師,是學生主動學習的主要動力。教師將學生引入C語言課堂時,首先要強調C語言的重要性。第一節課的教學可為學生介紹C語言在日常工作中的應用,如各種大型管理軟件(人事管理、圖書館管理等)、系統軟件(如Windows)都可用C語言實現,讓學生了解該課程與社會的關系;通過實例展示一個用C語言編寫的動畫程序(如滿屏雪花飛舞),抓住學生的眼球,改變學生只有Flash等軟件才能制作動畫的觀念;選擇簡單的數學題目,在計算機上用C語言真正實現數學計算過程。通過演示實用性強的案例能提高學生的學習興趣,使他們體會到C語言的奇妙。隨著課程的深入,可引入趣味性強的算例,如楊輝三角、百元百雞、猴子吃桃、水仙花數等,逐漸培養學生的分析及推導能力,激發學習熱情。

新課內容講授完畢,要及時布置相應的課堂練習,這樣既能加深學生對該知識點的理解,又不會使學生感到課堂枯燥無味。可讓個別學生直接在講臺上的計算機中編寫、運行及調試程序,其余學生獨自書寫程序后相互進行討論、點評,以便教師能夠及時發現學生每節課的掌握情況,從而對癥下藥。教師不可拘泥于一種算法,若發現學生有獨特新穎的算法,應鼓勵學生積極展示個人的編程思路。鼓勵與肯定可使學生增強自信,也可加強學生不斷創新的意識。

2.開發智力,引導學生自主學習

在教學過程中,應以開發學生的能力為主,充分利用程序設計及算法自身的思維方法進行教學。教師要引導學生將知識加以引申,使學生能夠觸類旁通,識一山而知千峰。如在講解同一類問題時不要逐題講解,而應該積極拓展學生思維,在講解一兩個典型例題的基礎上,啟發學生總結歸納出求解這一類問題的基本算法。例如求1+2+3+4+……+98+99+100是循環結構必講的經典例題,經過算法分析,程序思路為:引入三個變量,s變量存放累加和,在未累加求和前其初值為0,i表示已累加的項數,其初值為1,t表示求和多項式中的某一項,其初值也為1。當累加的項數小于等于100時,每當i自增1得到求和多項式中的某一項t后將其累加到s中。講授完該例后,可讓學生分析下面例題的解題思路:2/1,3/2,5/3,8/5,13/8,21/13,……求這個數列的前20項之和。經過分析,學生得知兩個例題解題思路相同,只是循環結束的條件以及t的增值方法不同而已。通過以上兩個典型例題的講解,教師還可以要求學生重新設定范例中各單項式的值而演變成其他的累加問題,如求100個數的偶數和、奇數和、各數的立方和等,引導學生歸納求若干項和的這類問題的通用算法。針對以上問題在選用循環語句的過程中,教師可以點撥學生分別用WHILE循環、DO-WHILE循環及FOR循環編寫同一個題目。這樣,教師雖然只講解了一個例題,學生卻學會了同類問題的解決方法,舉一反三,從而開發了學生的智力,培養了學生自己學習、自己研究的習慣和能力。

3.靈活運用多種教學方法

(1)傳統教學手段與現代化教學手段相結合。傳統的黑板板書不利于教師書寫程序,既浪費時間又達不到預期的效果,必須將板書與多媒體技術有機結合起來。在課堂教學中,課件的使用能大大優化教學過程,豐富課堂內容,使教學過程更形象、直觀、生動。課件的制作要符合學生的年齡及心理要求,以吸引學生的注意力;課前將概念、程序代碼制作成課件,課堂上即時進行調試和運行程序。我們要充分利用多媒體課件,但不能過度依賴課件,教師在使用課件的同時,應將部分重點、難點內容通過板書展示,板書與課件的結合有利于學生抽象思維和編程能力的提高。

(2)任務驅動教學方法。任務驅動教學方法是一種建立在建構主義學習理論基礎上的教學法,教師根據課程內容布置具體的任務活動,學生在教師的幫助下完成既定任務,以此掌握課程內容,達到教學目的。教學中應基于“以教師為主導,以學生為主體”的教學模式,通過案例和問題引入主題,重點講解程序設計的思想和方法,并穿插介紹相關的語法知識。比如講Switch分支語句時,先向學生提問:如何把百分制成績轉換成等級,即90分以上為“優秀”、80~90分為“良好”,70~80分為“中等”,60~70分為“及格”,60分以下為“不及格”?回顧if語句,用if-else的嵌套可以實現,但學生會發現程序比較復雜,且容易出錯,這時引入新的課題Switch分支語句,先將Switch語句的一般形式板書出來,然后對Switch語句的執行過程進行課件動畫分解講解,進而分析上述例題的解題思路,給出源程序代碼,在講解代碼的過程中對Switch語句的注意事項加以強調。這種教學有助于激發學生的求知欲望,培養學生分析問題、解決問題的能力,縮短了學習周期。

(3)對比式教學方法。C語言的概念比較復雜,教學過程中教師通過對比的方式對相似的程序代碼或相關的概念進行分析比較,進而明確差異,而后歸納總結,將會收到事半功倍的效果。例如函數這一章涉及的概念較多,主調函數、被調函數、實際參數、形式參數、局部變量、全局變量等。這些概念容易混淆,若對比講解,學生就很容易理解了。

4.重視上機實驗教學

C語言程序設計是一門實踐性較強的課程,既要求學生掌握程序編寫的基礎知識,更強調學生能夠獨自上機調試運行程序,因此培養學生的實踐動手能力尤為重要。上機實操課時應不少于該課程總學時的50%,在上機實驗課中必須做到循序漸進,對所學的每一部分內容都應要求學生完成一定數量的上機實驗。不能盲目地將課本上的例題作為上機實驗,學生無法理論聯系實際。上機習題既要有基礎題目,又要有趣味性與實用性的題目。實驗時,教師對學生的問題給予提示,啟發學生自己思考并解決問題。自行編寫的程序在上機調試運行中,會有很多意想不到的錯誤,通過改正這些錯誤,可使學生逐步提高對C語言語法的理解能力。學期末應安排綜合性強、知識點涵蓋范圍廣的實驗,學生根據要求查閱相關書籍資料,完成實驗原理、實驗步驟后交由教師批閱,師生討論后學生分組完成實驗。每節實驗課教師均應做好上機成績登記,課后學生需完成實驗報告。上機實驗還應作為期末課程考試的考核內容,重點測試學生程序改錯、編寫程序、調試程序等綜合能力,上機考試的分值不應低于總分的30%。

四、小結

教學方法多種多樣,因人而異,教學過程是一個需要不斷精益求精的過程,只有因材施教,使學生建立程序設計及軟件工程的整體框架,提高學生分析問題與解決問題的能力,才能達到教學的真正目的。

參考文獻:

[1]譚浩強.C程序設計(第二版)[M].北京:清華大學出版社, 2011.

[2]樓俊君.C語言程序設計的教學研究[J].黑龍江科技信息,2008(27).

[3]徐大華.《程序設計C語言》教學思考與探討[J].信息技術,2010(12).

[4]馬新.C語言程序設計課程教學方法與手段的改革與實踐[J].科技信息,2010(33).

第12篇

2014年4月自學考試的秘訣!點擊免費查看>>

專業

層次

學制

主要課程

音樂教育

專科

兩年

大學語文、基礎樂理、視唱練耳、基礎聲樂、基礎和聲、合唱與指揮基礎、基礎鋼琴、藝術概論、民族民間音樂、音樂欣賞、中學音樂教學法、計算機應用基礎、計算機應用基礎實踐、基礎鋼琴實踐、基礎聲樂實踐、

本科

兩年

英語(二)、中外音樂史、中外音樂欣賞、和聲學、音樂作品分析、歌曲寫作、音樂教育學、音樂美學、簡明配器法、歌曲鋼琴伴奏、聲樂實踐、歌曲鋼琴伴奏、聲樂實踐、歌曲鋼琴伴奏實踐、視唱練耳實踐、畢業論文

經濟法

專科

兩年

大學語文、法理學、憲法學、民法學、民事訴訟法學、公司法、經濟法概論、刑法學、合同法、稅法、國際經濟法概論、勞動法、計算機基礎、人力資源管理

本科

兩年

英語(二)、行政處罰法、行政復議法學、國家賠償法、經濟法學原理、企業與公司法、行政法學、勞動法、金融法概論、房地產法、環境法學、稅法原理、行政訴訟法、財務管理學(輔修)

市場營銷專科兩年政治經濟學(財經類)、高等數學(一)、基礎會計學、經濟法概論(財經類)、大學語文(專)、國民經濟統計概論、消費心理學、談判與推銷技巧、企業管理概論、公共關系學、廣告學(一)、市場營銷學、市場調查與預測、計算機應用基礎(含實踐)

本科兩年英語(二)、高等數學(二)、市場營銷策劃、金融理論與實務、商品流通概論、消費經濟學、國際商務談判、國際貿易理論與實務、企業會計學、國際市場營銷學、管理系統中計算機應用(含實踐)

公共關系本科兩年人際關系學、公共關系口才、現代談判學、公共關系案例、國際公共關系、公關政策、企業文化、創新思維理論與方法、領導科學、人力資源管理(一)、現代資源管理(一)、廣告運作策略

行政管理專科兩年大學語文(專)、政治學概論、法學概論、現代管理學、行政管理學、市政學、人力資源管理(一)、公文寫作與處理、管理心理學、公共關系學、社會研究方法、秘書工作 、計算機應用基礎(含實踐)

本科兩年英語(二)、當代中國政治制度、西方政治制度、公共政策、領導科學、國家公務員制度、行政組織理論、行政法與行政訴訟法(一)、社會學概論、中國行政史、中國文化概論、普通邏輯、財務管理學、秘書學概論、企業管理概論

漢語言

文學

專科

兩年

文學概論、中國現代文學作品選、中國當代文學作品選、中國古代文學作品選(一、二)、外國文學作品選、現代漢語、古代漢語、寫作等

本科

兩年

美學、中國現代文學史、中國古代文學史(一、二)、外國文學史、語言學概論、英語(二)、兩門選修課、畢業論文

涉外秘書學

專科

兩年

英語(一)、大學語文(專)、公共關系、外國秘書工作概況、涉外秘書實務、涉外法概要、

本科

兩年

英語(二)、中外文學作品導讀、國際貿易理論與實務、經濟法概論、秘書語言研究、公關禮儀、交際語言學、國際商務談判、中外秘書比較、口譯與聽力等

對外漢語

本科

兩年

現代漢語、實用英語、中國古代文學、中國現當代文學、外國文學、外國文化概論、對外漢語教學概論、英語表達與溝通(實踐環節)畢業論文等

英語翻譯

專科

兩年

英語寫作基礎、綜合英語(一二)、英語閱讀(一)、英語國家概況、英語筆譯基礎、初級英語筆譯、初級英語口譯、英語聽力

本科

兩年

中級筆譯、高級筆譯、中級口譯、同聲傳譯、英漢語言文化比較、第二外語(日 / 法)、高級英語、英美文學選讀、畢業論文

日語

專科

兩年

基礎日語(一二)、日語語法、日本國概況、日語閱讀(一二)、經貿日語、日語聽力、日語口語

本科

兩年

高級日語(一二)、日語句法篇章法、日本文學選讀、日漢翻譯、第二外語(英/法)、現代漢語、計算機應用基礎、日語口譯與聽力、畢業論文

英語

專科

兩年

綜合英語(一二)、英語閱讀(一二)、英語寫作基礎、英語國家概況、英語聽力,口語等

本科

兩年

英語寫作、高級英語、英美文學選讀、英語翻譯、經貿知識英語、口譯與聽力、二外(日語)等

外貿英語

專科

兩年

綜合英語(一二)、英語閱讀(一)、英語寫作基礎、英語國家概況、國際貿易理論與實務、英語聽力、口語、外貿英語閱讀等

本科

兩年

英語寫作、高級英語、英美文學選讀、英語翻譯、經貿知識英語、外貿口譯與聽力、二外(日語)等

公共事業

管理

專科

兩年

計算機應用基礎、公共事業管理概論、社會學概論、管理學原理、人力資源開發與管理、公共關系、社會調查與方法、行政管理學、文教事業管理、計劃生育管理、秘書學概論、計算機應用基礎(實踐)等

本科

兩年

英語(二)、公共管理學、公共政策、公共事業管理、公共經濟學、非政府組織管理、行政法學、人力資源管理(一)、管理信息系統、畢業論文等

工商企業

管理

專科

兩年

計算機應用基礎、基礎會計學、經濟法概論、國民經濟統計概論、企業管理概論、生產與作業管理、市場營銷學、中國稅制、企業會計學、人力資源管理、企業經濟法(輔修)、民法學(輔修);

本科

兩年

英語(二)、高等數學、管理系統中計算機應用、國際貿易管理與實務、管理學原理、財務管理、金融理論與實務、企業經營戰略、組織行為學、質量原理、企業管理咨詢、合同法(輔修)、行政法學(輔修)。

國際貿易

專科

兩年

高等數學、法律基礎、計算機應用基礎、英語、國際貿易實務、國際金融、國際商法、中國對外貿易、WTO知識概論、市場營銷學等

本科

兩年

國際市場營銷學、世界市場行情、國際商務談判、企業會計學、國際運輸與保險、西方經濟學、外國經貿知識選讀、涉外經濟法、經貿知識英語等

金融管理

專科

兩年

證券投資分析、保險學原理、銀行會計學、商業銀行業務與管理、貨幣銀行學、財政學、經濟法概論、基礎會計學、管理學原理等

本科

兩年

管理會計實務、國際財務管理、公司法律制度研究、英語(二)、電子商務概論、組織行為學、風險管理、高級財務管理、審計學、政府政策與經濟學等

會計(電算化)

專科

兩年

英語(一)、大學語文、高等數學(一)、基礎會計學、國民經濟統計概論、數據庫及應用、財政與金融、會計電算化、成本會計、財務管理學、計算機應用基礎、經濟法概論(財經類)

本科

兩年

高等數學(二)、、英語(二)、數據結構、審計學、管理學原理、通用財務軟件、計算機網絡基礎、財務報表分析(一)、金融理論與實務、高級財務軟件、操作系統。加考課程:會計電算化、財務管理學、成本會計、基礎會計學、政治經濟學(財經類)

人力資源

管理

專科

兩年

管理學原理、組織行為學、人力資源管理學、人力資源經濟學、企業勞動工資管理、勞動就業論、社會保障、勞動與社會保障法、公共關系學、應用文寫作等

本科

兩年

企業戰略管理、人力資源戰略與規劃、人力資源培訓、人事測評理論與方法、人力資源薪酬管理、績效管理、人力資源開發管理理論與策略、管理信息系統等

文化事業

管理

專科

兩年

英語(一)、寫作、中國文化概論、文化管理學、文化行政學、文化政策與法規、文化經濟學、文化策劃與營銷、藝術概論、社會學概論、民間文學、計算機

文化產業

本科

兩年

英語(二)、中國文化導論、文化產業與管理、文化產業創意與策劃、文化市場與營銷、外國文化導論、媒介經營與管理、文化服務與貿易

經濟信息

管理

專科

兩年

高等數學、計算機網絡基礎、計算機應用技術、計算機軟件基礎、計算機組成原理、經濟信息導論、計算機信息基礎、信息經濟學等

本科

兩年

英語(二)、應用數學、中級財務會計、計算機網絡技術、社會研究方法、網絡經濟與企業管理、數據庫及應用、電子商務概論、高級語言程序設計、應用數理統計、經濟預測方法。

游戲軟件

開發技術

專科

兩年

英語(一)、高等數學、計算機游戲概論、高級語言程序設計、游戲作品賞析、計算機網絡技術、游戲軟件開發基礎、市場營銷、動畫設計基礎等

本科

兩年

英語(二)、游戲創意與設計概論、可視化程序設計、藝術設計基礎、多媒體應用技術、DirectX、Java語言程序設計、游戲開發流程與引擎原理、游戲架構導論、軟件工程、游戲心理學等

電子商務

專科

兩年

電子商務英語、經濟學(二)、計算機與網絡技術基礎、市場營銷(三)、基礎會計學、市場信息學、國際貿易實務(三)、電子商務概論、商務交流(二)、網頁設計與制作、互聯網軟件應用與開發、電子商務案例分析、綜合作業

本科

兩年

英語(二)、數量方法(二)、電子商務法概論、電子商務與金融、電子商務網站設計原理、電子商務與現代物流、互聯網數據庫、網絡營銷與策劃、電子商務安全導論、網絡經濟與企業管理、商法(二)

信息技術

教育

本科

兩年

英語(二)、物理(工)、數據庫原理、數據結構、計算機網絡與通信、計算機系統結構、軟件工程、數值分析、面向對象程序設計、計算機輔助教育、高級語言程序設計、數字邏輯、中學信息技術教學與實踐研究

計算機

及應用

專科

兩年

大學語文、高等數學、英語(一)、模擬電路與數字電路、計算機應用技術、匯編語言程序設計、數據結構導論、計算機組成原理、微型計算機及其接口技術、高級語言程序設計(一)、操作系統概論、數據庫及其應用、計算機網絡技術

本科

兩年

英語(二)、高等數學、物理(工)、離散數學、操作系統、數據結構、面向對象程序設計、軟件工程、數據庫原理、計算機系統結構、計算機網絡與通信

電子政務

專科

兩年

行政管理學、公文寫作與處理、公共事業管理、行政法學、經濟管理概論、辦公自動化原理及應用、政府信息資源管理、電子政務概論、管理信息系統、計算機應用技術

本科

兩年

主站蜘蛛池模板: 偏关县| 绥江县| 繁昌县| 双流县| 晋宁县| 堆龙德庆县| 开远市| 海原县| 定陶县| 宿州市| 龙江县| 金阳县| 彰化市| 于田县| 淮安市| 长汀县| 建瓯市| 肥西县| 河间市| 淄博市| 梨树县| 宜都市| 凤冈县| 卓尼县| 怀柔区| 延寿县| 铜山县| 偃师市| 平邑县| 石城县| 兰溪市| 贵德县| 精河县| 黄平县| 麻城市| 齐河县| 宿迁市| 正定县| 清原| 思南县| 武宁县|