計算機課程編程范文
時間:2023-10-18 17:38:34
導語:如何才能寫好一篇計算機課程編程,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。
篇1
中圖分類號:G712 文獻標識碼:B
文章編號:1671-489X(2016)09-0094-02
1 前言
在中職計算機課程教學中,對教師教授的理論知識學生通過編程來運用于實際,因此,編程是一個非常重要的教學內容。然而,編程的復雜性和難度往往讓學生感到難以應對。為了幫助學生更加容易地學習編程,可以適當引入機械編程教學方法,幫助學生深化理解記憶基礎的語法知識,同時進行經常的上機練習,將實踐上機與理論知識合理結合,讓學生能夠高效快速地進行編程學習,提高對編程學習的興趣,培養編程能力。
2 構建科學的教學框架
在中職計算機課程的機械編程教學中,構建科學的教學框架是必不可少的。
1)教師要注重理論知識的教授,幫助學生建立深厚的程序語言知識基礎。在基礎理論知識教學中最為重要的幾點:明確程序語言中對變量進行定義、修改的語句;記憶不同變量的類型、所占的內存大小以及運算方式等;掌握控制語句進行循環、組合、計算以及函數調用方法等。
2)在編程中,學生的建模能力是很重要的,教師在編程教學中要幫助學生提高建模能力。教師可以給學生舉出一定的問題,指導學生對問題進行分析處理,從中總結規律,建立合適的數學模型,而后根據數學模型合理設計計算方法,并選擇最佳的數據存儲方式,最后完成代碼的編寫,進行調試運行。學生在編程學習中需要進行這樣的思維方式訓練,學習系統的程序設計方法,如此才能明確把握程序的內容和功能,并針對不同的問題設計出行之有效的程序。
3)傳統的計算機考試以筆試為主,學生在紙質試卷上進行答題,而不是上機操作。這樣的考試方式具有很大的局限性,并不能很好地反映學生對于計算機課程的學習成果。為此,教師可以采用上機考試的方法,為學生提供一定的題目,讓學生根據題目要求編寫程序。教師根據學生的程序編寫情況,就能夠有效判斷學生的學習情況。
3 采用合理的教學方法
應用情境教學法 心理學的研究表明,在適宜的學習環境中,學生的學習熱情和學習效率明顯比在其他環境中要高。因此,在中職計算機機械編程教學中,為了提高教學效率,教師可以應用情境教學法。在教學過程中,教師要根據教學內容,結合學生的興趣所在,為學生設立相應的教學情境。教師在設立教學情境的過程中要注意:首先,教學情境的設立要以提高學生的編程能力為中心;其次,教學情境的設計應當與學生的實際情況相結合,在其中添加與學生興趣相關的元素,這樣才能達到吸引學生的效果,進而增強學生的精神集中度,提高學習效率;最后,教學情境的設計要結合新的課程內容和學過的舊知識,引導學生用已知的知識探究未知的內容[1]。
應用問題教學法 教育究其根本,是為了提高學生對于問題的發現、探究和解決的能力。因此,在中職計算機課程中引入機械編程教學,教師可以采用問題教學法,培養增強學生的問題意識。應用問題教學法,可以增強學生的求知欲,有效提高學生對于編程的學習興趣,培養學生的思維能力和探究能力,進而提高學生的綜合素質。在應用問題教學法的過程中,首先,教師要引導學生學會發現問題,這是進行問題教學的基礎;其次,教師帶領學生對發現的問題進行分析探究,在分析探究過程中就能很自然地導入所要學習的新的內容;最后,引導學生吸收理解新知識,并設法應用,來解決眼前的問題。在這一過程中,學生的學習活動都是圍繞問題來進行的,能夠有效調動學生的學習熱情,促進學生對問題的思考探究,進而提高學生的思維能力和創新意識。
多媒體教學法 隨著科技的發展,多媒體在各中職學校中有了普遍的應用。相較于傳統的板書教學,多媒體教學可以為學生展示更加直觀的知識內容,提高教學容量。在多媒體教學中,教師可以在課件中添加一些與教學內容有關的趣味性圖片,吸引學生的興趣,活躍課堂氛圍。在中職計算機課程編程教學中,教師所要教授的知識往往是生硬而死板的,學生很難從中找到什么樂趣,更難以專注于編程的學習,應用多媒體教學可以在很大程度上改變這一狀況。豐富的教學內容,直觀的知識展現,多媒體課件可以讓編程教學變得簡單而富有活性,教師可以在課件中展示新知識的實際應用,讓學生知道所要學的知識是非常實用,能夠提高學生的重視程度,從而提升教學效率[2]。
4 注重理論結合實踐
計算機課程需要以理論知識作基礎,進行大量的上機實驗。因此,在中職計算機課程編程教學中,教師要注重理論與實踐的有效結合,進行合理的教學安排。對于基礎理論知識的教學,教師可以選取經典例題、布置適當習題等。在中職計算機課程編程教學中,對于學生的思維能力和創新能力的培養以及知識的鞏固記憶,可以通過例題的變化講解來進行。
如在教授VF語言時,對于賦值語句,教師可以選取這樣的例題:在程序中,有變量X等于2,變量Y等于9,請用賦值語句將這兩個變量的數值進行交換。對于這樣的經典而簡單的例題,教師可以進行變化講解,讓學生先思考這樣的實質性問題:如何把橙汁倒入盛滿牛奶的杯子。有的學生思維比較教條,首先會想杯子都滿了這怎么倒?而稍微思維活躍的學生就會想到先把牛奶倒入另一個杯子里,然后就能把橙汁倒進了。類比原例題,就是設置一個中間變量Z充當另一個杯子,令Z=X,X=Y,Y=Z。這樣就能夠讓學生更加容易地理解知識并學會知識的應用。
無論是什么學科的學習,習題是必不可少的一部分。在中職計算機課程編程教學中,教師需要根據課堂內容合理布置習題,讓學生在做習題過程中鞏固基礎的理論知識。
在計算機編程教學中,對于理論和實踐的結合,最好的方式就是在學習一模塊內容后就立刻進行上機實踐。在上機過程中,教師要給予學生一定的指導和幫助,做到教師主導,學生進行自主探究。學生剛剛學完一部分知識時,記憶是最為深刻的,此時進行上機操作,能夠有效達到鞏固應用的作用。學生在實際的上機操作中,會出現各種各樣的錯誤,這是大多數學生很難避免的。對于出現的問題,教師不要直接回答學生,而是指導學生學會使用調試命令進行問題的查找,然后對錯誤的代碼進行修改。在修改過程中,教師可以給學生適當的提示,以免出現學生由于問題難以解決而挫傷學習積極性的情況。對于編程能力較弱的學生,教師可以為其安排難度較低但代碼較多的編程任務,讓其慢慢熟悉編程方法;而對于編程能力較強的學生,教師可以適當提高任務難度,做到因材施教。
5 結語
在中職計算機課程中,學生需要掌握很多知識,而編程更是重中之重。因此,為了提高教學效率,教師要設計合理的教學框架,應用適當的教學方法,結合理論知識與實踐操作,以提高學生編程能力為目標,開展綜合教學,在幫助學生學習掌握理論知識的同時,讓學生學會實際應用,掌握編程技術。
參考文獻
篇2
隨著信息技術的迅猛發展及其應用領域的不斷深化,幾乎所有專業的研究與應用都離不開信息技術。信息化浪潮對高等教育也帶來非常直接的變化,各專業課程設置無不將計算機知識教育作為其課程設置的組成部分。幾乎所有專業的大學畢業生,都要求掌握基本的計算機操作技能,非計算機專業學生需要通過計算機等級考試,而一些和信息技術密切相關的專業,如電子信息、信息管理、電子商務等,課程設置上與計算機專業更是大量重疊,計算機知識教育在各專業中的滲透程度日漸加劇。
1 計算機專業面臨的新挑戰
在計算機知識正在成為各專業基本教育內容的背景下,計算機專業學生的專業優勢受到很大的挑戰,以往在軟硬件知識和應用能力上的獨特優勢似乎在逐漸弱化,與具有特定專業背景的學生相比就業壓力越來越大,由此也引發計算機專業到底學什么、專什么的現實思考,我們必須面臨的問題是:計算機專業的學生專業優勢體現在哪里?
計算機學科是一門技術性、工程性和應用性很強的學科,并有其基礎理論支撐的科學體系。計算機也是一種使用工具,但那種把工具使用等同于計算機專業的狹隘認識,其思維實際上和十多年前認為“會用計算機打字就是會用計算機”如出一轍。計算機專業學生的優勢應該在于:通過系統的專業原理性知識的學習與訓練,熟練掌握基本的應用技能,并能夠“知其然,且知其所以然”,為此專業基礎課程的熏陶必不可少。而編譯原理就是一門介紹這種原理性知識的綜合性專業基礎課程。
2 編譯原理是計算機專業必不可少的基礎知識
計算機專業的理論基礎對培養學生的計算機專業素養具有非常重要的作用。
在眾多的原理性學習課程中,編譯原理主要承擔了語言實現原理、方法和技術的介紹。人們借助計算機減輕自己的勞動強度,提高生產率,完成一些人類無法進行的危險、高難度工作。然而所有這些工作都必須借助程序設計語言書寫的程序來指揮計算機。非機器語言程序功能的實現必須由翻譯程序來完成。正是有了編譯程序、解釋程序、匯編程序等翻譯程序,人們才可以使用自己習慣的語言將需要計算機做的事情描述成程序,并通過這些翻譯程序的工作讓計算機理解并執行??梢哉f,沒有翻譯程序,計算機本文由收集整理不可能象今天這樣得到如此廣泛的普及,網絡也不會有今天這樣大的吸引力,我們的生活、學習和工作將會是另一個樣子。
包括編譯程序在內的翻譯程序承擔了實現語言的功能,它所涉及的知識包括形式語言、自動機理論等語言定義、翻譯與實現的基礎知識,這些知識可以讓學生領悟到計算機理論的精髓,可以讓學生從實現的角度重新審視軟件的開發,有助于學生對軟件的真正認識,對于今后從事應用軟件、語言開發平臺、編譯系統甚至操作系統開發等都是非常有好處的。同時,編譯原理是許多課程的一個綜合性的實踐,它進一步加深了學生對程序設計語言課程中語言基本單位的定義和作用的理解。例如,編譯程序使用的一些數據結構和算法是“離散數學”、“數據結構”以及“算法設計與分析”等課程相關知識的典型應用;編譯程序對目標代碼的存儲組織與分配功能的實現原理又與“操作系統”的相關內容相互滲透;編譯程序對中間代碼的優化功能的實現則是數學、邏輯學、結構程序設計和優化理論的綜合應用和專門化。因此,編譯的原理性研究、學習和實踐,可以多角度提高學生的邏輯思維能力、實踐動手能力、編程調試及綜合應用能力,有助于切實有效地提高學生的專業素質。另外,編譯課程中介紹的知識也是后續許多課程的基礎。所以,編譯原理是計算機專業學生必須掌握的基本原理,編譯原理課程是計算機專業非常重要的專業課程。
盡管經過計算機專業人員的大量努力,大量的工具軟件為我們提供了極大的便利,以至于人們只需要通過若干次點擊鼠標左鍵就可以方便地完成很多工作,但這并不是說所有問題都已經解決,還有很多深層次的工作需要計算機專業人員去完成。如果我們的計算機專業畢業生也只會“點擊左鍵”,很難想象他們會開發出更好的工具,或對計算機技術的發展作出應有的貢獻。
專業理論基礎的學習,可以培養學生的思維方式和洞察力。計算機技術的更新是非常快的,系統的理論基礎可以讓學生在將來更好地適應新技術,可以讓他們在理論框架的指導下尋找解決問題的方法,朝不同的方向發展!因此,“編譯原理”課程應該是計算機專業必須的重要基礎課。
3 編譯技術的應用及需求
編譯原理課程的重要性,不僅僅是因為它所介紹的知識是計算機專業理論知識的重要組成,也在于編譯程序所使用的一些原理、方法和技術在非編譯系統的實際應用中也發揮了很大作用。
例如我們常用的文本編輯工具的實現,涉及到的字詞、語法正確性等內容就是編譯里介紹的詞法分析、語法分析技術的具體應用;又如現在大家上網必不可少的搜索引擎,在處理用戶輸入的查詢要求、對文檔資源的特征分析、提取與描述等工作中都用到編譯的相關知識:一些特定的應用也可以用到編譯中的方法來解決問題,比如用正規表達式描述網絡上某種信息的特征等。
隨著消費類電子產品的大量開發,嵌入式系統的應用需求也不斷增加。在這種情況下,搭建適合的交叉編譯環境的工作日益重要,急需掌握編譯器構造相關原理、方法和技術的從業人員。這不僅說明了編譯知識的生命力,同時也給高等學校計算機專業的編譯課程設置帶來了新的要求。
現實告訴我們,目前的問題不是計算機專業要不要開設編譯原理課程,而是該如何改進編譯原理的內容與教學方式,以更好地適應社會的需求。
4 國內外編譯相關課程的設置情況
我們查閱了國外一些著名的大學計算機專業的課程設置情況,研究了其中與編譯相關的課程安排,發現他們對與編譯相關知識的介紹是非常重視的。
美國麻省理工學院的計算機專業課程設置中,與編譯相關的課程就有structure and interpretation of computerprograms,computer language engineering(包括基本概念、編譯器的功能和結構、基本程序優化技術、理論和實踐的交互作用以及使用工具編制軟件),mulfithreaded parallelism:languages and compilers加州大學伯克利分校工學院的計算機課程設置中,涉及編譯的課程有implarnentation ofprogramming languages,programming languages and compilers,
structure and interpretation of computer programs等:英國劍橋大學的計算機科學課程與編譯相關的有compilerconstruction和advanced compiler design等。
可以看到,這些學校的計算機專業課程有的設置了專門的編譯課程,有的雖然沒有設置專門的課程,但在不同的課程中都安排了專門的內容和相關的知識,不管課程設置的方式如何,編譯在其中都占有很重要的分量。這足以說明國外在培養計算機專業的人材時,是非??粗衅鋵幾g相關知識的掌握的。
在國內,多年來編譯原理一直是各校特別是教育部所屬高校計算機專業的必修課,曾經也是計算機專業碩士入學考試的必考科目,現在某些學校的計算機專業碩士生入學面試和博士入學考試還必考編譯原理。編譯原理課程在我國計算機專業人材培養中起了很重要的作用,新形勢下開發具有自主知識產權的計算機系統軟、硬件,更需要編譯原理課程繼續發揮作用。
5 關于我國計算機專業編譯原理課程設置的建議
一般認為,編譯原理課程是計算機專業最難的課程之一,它是數據結構、語言、算法和軟件設計等知識的綜合體現,學生對這門課程的理解確實會有一定難度,但這正是教師工作需要解決的問題。實踐證明,如果讓學生認識到了課程內容的重要性,并輔之以合適的教學方法和教學手段,取得良好的教學效果是不難的。
為此,我們思考了新形勢下編譯原理課程所涉及內容的教學及課程設置的改革問題,如果必須改變現有的課程設置模式,我們建議在編譯原理課程的設置上,可以考慮采取以下兩種模式:
(1)課程分解式將編譯原理課程根據內容分成兩門課:一門為必修,可命名為“編譯技術”,主要介紹一些為滿足基本應用而需要學生掌握的基礎知識、方法、技術,以達到語言實現理論基礎介紹的目的;另一門為選修,可命名為“編譯理論”,主要介紹偏重原理性的、更深層次的內容,方便有進一步深造需要的學生學習。
(2)內容分解式
可以不單獨設置一門編譯課程,可將課程的內容根據其深淺,涉及到的具體問題,及與其他課程內容的相關性等分解到不同的課程中去,使學生在不同課程的學習中逐步掌握相關知識。
篇3
1)學生水平差異較大由于學生來自不同地區,尤其是城鄉的差別,間接導致了學生計算機認知和操作水平的差異。如果教學中采用“一刀切”的學方式,必然會造成兩極上的分化:具有一定基礎和反應快的學生會覺得課堂教學“吃不飽”,因而不屑于學習新知識;而沒有基礎且反應較慢的學生會因為“吃不了”而消極對待學習。如何權衡這兩方面是教學中須考慮的因素。
2)教學方法單一,教學手段缺乏創新有些教師缺乏創新,沿用傳統的板書教學方式,無法生動、形象的講解知識點,也無法表達自己的教學目標,這樣的教學枯燥乏味,使得學生在教學中“昏昏欲睡”,產生厭學情緒。還有些教師過于追求多媒體教學,整堂課采用滿堂灌的課件來演示教學,雖然做到了直觀形象,但缺少了師生間的互動,尤其是學生的動手實踐和協作學習能力沒有得到充分調動,也無法完成教學目標的要求。
3)教學中理論和實踐相脫節任何課程只有夯實了理論基礎,才能在實踐中理解,在操作上有所建樹。有些學校卻忽視了計算機基礎課實踐性較強這一特點,只是追求知識的系統性,沒有把過于抽象的知識與生活密切銜接,由于學生實踐少,動手能力弱,因此達不到教學效果。還有些教師即使安排了實踐課,但教學中并沒選取恰當的實踐內容讓學生操作,也沒給予有效的操作指導和后期的作業評判,學生無法獲取成就感,慢慢也就失去學習的興趣。
2初探中職計算機基礎課程教學改革措施
2.1針對學生特點,實施分層教學
分層教學法是一種適合中職計算機基礎教學現狀的較理想的教學策略。計算機基礎課程的目的是為學生今后的應用奠定一個較為寬泛的基礎,按不同的專業性質和學生特點,制定不同的分層教學方案。有效的實施分層教學對提高學生的計算機素養有積極意義。在計算機基礎課的教學中主要做好以下幾個分層環節:
1)學生分層。假設A層的學生基礎好,學習興趣濃厚,成績優秀;B層的學生對計算機知識有一定基礎,有興趣繼續學習,成績一般;C層的學生對計算機學習沒有興趣或由于基礎差在學習中存在障礙。確定學生分層后,教師針對各層的學生確定教學目標,將層次教學落實到各個教學環節中。隨著學習的深入,及時調整分層和教學內容,提供更有針對性的指導。
2)備課分層。在確定教學內容后,根據其難度確定如何分層,明確基本教學目標和提升要求。教師按不同難度課前設計好學習問題,同時兼顧題目的實用性和新穎性,能調動學生的學習積極性和興趣,對于各層的學生要求他們在課上完成難度不同的題目。
3)施教分層。在操作輔導時對不同的學生應采取不同的輔導措施:對于C層的學生可采取小組互助法,讓A層和B層的學生充當老師,幫助輔導基礎薄弱的C層,提倡合作學習的學風;對A層和B層的學生宜進行啟發式指導,讓他們經過一定嘗試和探索后,能獨立解決問題,培養學習能力。
4)評價分層。充分關注各層次學生的操作完成情況,及時評價,讓學生能有收獲和提高。對于A層的學生,要求其完成所有題目后能指出操作的不足和改進方法,啟發其更好地完成后繼學習;對于B層學生,除必做題之外,引導其完成選做題,逐步提升操作能力;對于C層學生,以鼓勵為主,適時指出操作錯誤,評價時適當放低要求,以激發學生積極性為主。例:《word圖文混排》的學習。本節課以“賀卡”為主題,實現對word文檔進行圖文混排的方法。教學中對于A層的學生,要求他們根據本節課的要求綜合運用word知識,發散思維,制作具有個人特點和溫暖祝福語的賀卡,素材可以自行從網絡中獲取,作品并不拘泥于教師的案例,從而培養學生舉一反三的能力;對于人數最多的B層學生,教師要引導學生在完成圖文混排操作要點的基礎性目標之上努力實現提高性目標,在合作、探討的模式下掌握混排的知識點,并能對賀卡進行適當的美化和修飾;對于C層學生,只需要他們能夠模仿教師的案例,獨立、熟練的完成制作,培養他們良好的學習習慣,樹立學習的信心、增強學習的動力即可。
2.2創新教學方法,實現不同教學目標
教學方法的合理采用對于實現一堂課的教學目標是極其重要的。計算機基礎課程既有理論,又有實踐,那就更加強調了綜合運用多種教學方法的必要性。
1)對于理論性較強的知識點,如“計算機基礎概述”,可采用問答式教學方法。例:首先可以由教師提出待講內容的知識點(提出問題)、然后學生自己看書(分析問題)、最后教師對重點知識進行講解(解決問題)。這樣可以快速的讓學生把握知識點,加快學習進度。
2)對于“計算機硬件”知識,可使用角色扮演法。角色扮演法是教師在課堂活動中讓學生扮演各種角色,學生不論是親身體驗或是從旁觀察,都務必將注意力專注于活動的進行過程中。要求學生依靠已有的知識或課前收集的素材,去處理扮演過程中出現的各種問題,達到加深對專業知識的理解,并能靈活運用的目的。例:讓學生扮演電腦銷售員、打算配置兼容機的消費者。這些角色的表演要求學生對計算機硬件知識有一定了解,這就可以促使學生在課前課后自己上網查詢資料或到電腦店具體考查,促進了學生自主學習,同時對學生認識并了解計算機硬件的構成及各部件功能起到積極的推動作用。
3)對于操作技能要求較高的“計算機應用型軟件”的學習,可采取任務驅動的教學方法。任務驅動教學法是指學生在教師的幫助下,圍繞一個共同的任務為中心,在解決問題的動機驅動下,通過對學習資源的主動應用,進行自主探索和互動協作的學習,在完成既定任務的同時,引導學生產生一種學習實踐的活動。例:在《word字處理》中,我們確定以“設計簡歷表”、“設計海報”等作為該知識的實訓項目。經過“興趣導入、明確任務—嘗試練習、找出方法和不足—交流討論、自我提高—課堂練習—評價小結”等一系列過程,充分體現了“以任務為主線、以教師為主導、以學生為主體”的教學原則,從而引導學生掌握知識、技能和方法,最終達到預期的教學目標。
4)對于操作系統的基本操作、Internet概述等知識點,可采用講、演、練相結合的教學法或者分階段教學法,即把準備階段、教師示范階段、學生模仿階段、練習與總結階段貫穿于整個教學過程。
2.3加強實踐教學環節,強化上機操作技能
計算機基礎課程一般都是操作性較強的知識,足夠的實踐練習不僅可使學生牢固掌握教學內容,還可以提高學習興趣,因此教師在備課時設計符合學生實際特點而又實用的操作內容是教學的根本。例:對于“word圖形處理”這部分內容,教師在通過幾個課時基礎知識的講解后,要求學生綜合運用所學的知識點對素材進行排版設計,制作一張海報。首先老師可以帶領學生分析海報的設計理念,引導學生突破設計創意;然后根據素材分組討論,設計制作方案。待每組匯報設計方案后,師生再共同完善方案;最后要求每組按照方案來具體制作海報。制作的過程就是強化知識點的過程,讓學生把知識聯會貫通,加強實踐操作技能的融合。而在學生實踐過程中,教師要勤于檢查,發現問題及時解決,并把握好進度。同時做好評價記錄,重點考核學生利用所學知識解決實際問題的能力,關注學生良好的學習態度,培養學生學習習慣的養成。
2.4合理選用教材,加強學習內容的選取
篇4
關鍵詞:高職專業;計算機編程;課程改革
中圖分類號:G424文獻標識碼:A文章編號:1009-3044(2010)18-5011-01
Abstract: Computer Programming courses in our major institutions have undertaken, in which C-language programming is not only widely adopted by all schools, but also society has been widely used. In this paper, C language curriculum reform, for example, analysis of the higher professional computer programming courses in C programming language teaching situation, discuss the reconstruction of the field of learning and learning environment design, sets out in this computer programming class on the higher professional curriculum reform.
Key words: higher professional; computer programming; courses reform
語言作為計算機編程類課程之一,在高職院校相關計算機專業的教學中作用重大,它不僅是學習其他課程的一個基礎,也能夠鍛煉學生的一種編程思維方式,鍛煉學生的實際操作能力。但是,現階段高職專業C語言教學的現狀并不樂觀,暴露出許多問題,使得課程改革成為高職院校的一種必然舉措。
1 高職專業計算機編程中c語言程序設計課程教學現狀
目前,無論是在本科院校還是高職院校中,計算機專業都將C語言作為其專業基礎必修課之一,甚至一些非計算機專業也設置了這一門課程,而C語言同時也是當前較為流行的一種程序設計語言,在各個在、領域中應用廣泛。但是,C語言在高職專業的教學中卻通常無法實現預期效果。筆者總結了這種情況出現的原因,具體概括如下:
1) C語言課程的固有特點決定其不易被人們學習和掌握C語言這門課程固有的特點是:具有豐富的數據類型和運算符、沒有嚴格的語法限制、程序設計比較自由、用戶可以自定義數據類型,從而增加了初學者的學習難度。另外,C語言是一門編程類課程,因而要求學生邏輯思維能力達到一定的水平,然而,高職院校的學生缺乏此方面的能力訓練,進而使其在編程中沒有嚴密的邏輯。
2) 學生個體之間差異化較大對于高職院校來說,其近年來的擴招舉措大大地降低了生源的整體素質和質量,這樣是學生之間存在著很大的差異性,從而阻礙了計算機編程類課程教學工作的進行。C語言本身就是一門難度較大的學科,而高職院校學生的學習能力和綜合素質參差不齊,其對于部分學生來說是比較容易理解的,而對于有些學生來說,是一項巨大的學習任務,從而是教學質量整體水平較低。
2 學習領域重構
計算機編程類課程中,C語言是一種綜合了多種高級語言在內的一種綜合性語言,并且具備匯編的功能。根據當前C 語言的發展形勢來看,其在各個領域的廣泛應用已經成為一種必然趨勢,其在未來會有更好的前景。高職院校中,C語言是計算機編程的一門基礎課,是學生學習其他編程類課程的基礎。課程的定義是以工作過程的開發理論為基礎,有每個反映不同工作過程的學習和行為領域所構成的一種行為領域。當前高校的培養方案中可以看出,在計算機專業的培養中,仍然沿用著本科院校體系的課程設置安排,而據此開設的C語言課程不能完全反應出開發領域的行為。因此,當前的高職院校計算機編程類課程改革必須要C語言教學進行重構設計:
1) 重構學習領域在計算機編程類教學中,講授C語言的同時,應注意緊密聯系一些與本專業學習相關的其他課程,或者是增加一些應用性較強的相關科目,這一內涵是集傳統科學體系與職業教育為一體的課程體系的變革,而培養的側重點已經轉變為技能的培養而非簡單的編程理論和課程。
2)調整學習領域順序高職專業教學中,應首先開設一些專業課程,或者應用類課程,之后在針對這一門課程來開設C語言,這樣學生就可以在有了良好的專業基礎上,理解和掌握C語言,從而使得學生對于C語言的學習可以相對容易一些,并且通過C語言可以編寫出實用的程序,使學生學到的編程技術可以在自己熟知的領域內很好地運用,有利于激發學生的學習興趣,調動他們的積極性,使其從主動學習一度難學的課程,增強其探求欲望。
3 學習情境設計
3.1學習情境設計的涵義
學習情境的設計需要以工作過程為基礎的指教理論作為基礎,只有從傳統的學科體系中徹底跳出來,才能做到從職業教育本身的教學目標出發,實現對微觀教學內容的設計和安排,才能調動起學生學習的積極性。根據行動體系對C 語言的教學內容進行調整安排,對學習體系進行結構化設計,把工作過程作為參照,將實際過程型知識與基礎陳述型知識進行整合,實現理論與實踐的豬呢整合。因此,在計算機編程類課程改革中,應重視學習情境設計,以使得學生感受更加真實情境,在編程操作中,感受C語言的實際作用。
3.2如何實施學習情境
每一個學習情境的設計,都是基于工作過程導向設計的學習的一個完整的過程,是集信息、咨詢以及評價等各個環節為一體的整體,在教學方法上,需要由傳統的教師講學生聽的模式轉變為師生的互動學習,在學習過程中,推薦才用那個任務型驅動教學方法,具體實施過程為:由教師給學生提出學習任務,并且將相關知識點進行簡要講解,學生分組對資料進行搜集和整理,自行對硬件電路進行設計,由教師幫助及你選哪個修正,軟件編程由教師輔導,檢查各組學生工作情況,進行過程性考核。這些工作都完成后,指導教師還應對于學習情境進行總結,以吸取經驗教訓,為以后的學習情境提供參考。采用基于工作過程導向的任務型教學模式在幫助學生對明確學習目標方面起著推動作用,促進通過實踐培養學生動手能力和創新能力。在任務型教學模式的實施過程,實質上是由學生親自動手,進行實踐的過程,是啟發學生創新思維的過程。學生在完成學習任務的過程中,需要開發大腦思維,并且動手實踐,進行探索。在任務型教學模式中,既使得學生的實踐能力有所提升,又強化了學生的創新精神和團隊合作意識。
綜上所述,高職專業的計算機編程類課程中,現行的教學體制與教學方法存在著許多問題,可見課程改革是勢在必行的。如C語言的課程改革可以使學生具有更加明確的學習目標,和學習的主動性,也有利于激發學生關于C語言課程的學習興趣,更加滿足高職教育的要求,同時增強學生的應用能力與綜合素質。
參考文獻:
[1] 劉麗揚.淺析高職計算機教學實踐中高職學生編程能力的培養[J].魅力中國,2009(16).
[2] 羅洋.關于高職計算機軟件專業編程語言教學的思考[J].遼寧高職學報,2008(7).
[3] 趙玉平.關于高職學生計算機語言編程能力培養的探究[J].烏魯木齊成人教育學院學報,2006(3).
篇5
關鍵詞:整合; 微機原理與接口技術; 匯編語言
1.前 言
《微型計算機原理及應用》與《匯編語言程序設計》是計算機應用專業的兩門較重要的基礎課程,是軟件專業的必修專業課。它是后繼計算機語言課、操作系統、數據庫原理等課程的基礎,也是教學難度和學習難度較大的兩門課程。原來的兩門課程雖側重點不同,但有些內容也有重復現象,況且兩者有密切聯系,如果分開開設,則不能使學生對計算機的組成框架及系統語言有總體的認識,教學效果也不好。這對本來就難學的《匯編語言》與《微機原理與接口技術》的老師和學生無疑都是一個挑戰。面對這種困難, 結合著我們對學生的接受能力以及認知規律的了解, 我們嘗試將這兩門課程整合為一門《匯編語言與接口技術》, 將它們放在一起可減少兩門課程的為數不少的重復內容, 從整體上看學生的課時減少了, 可是對這兩門課的學習時間卻沒有減少, 使教學更加方便, 而且學生的學習效果也會有所提高。我們從以下幾方面論述了這項課程改革的必要性。
1.1我校課時壓縮迫使課程改革.
[1]好多高校都在加大課程整合的力度, 減少課程總學分, 拓寬基礎, 加強通識教育。在這種趨勢下,《匯編語言程序設計》的課時不斷被壓縮。課時減少后, 教師既要介紹復雜的指令系統, 又要介紹程序結構, 難免會顧此失彼。通常學生學習結束后, 還不明白這門語言的用途, 并且容易產生厭學情緒, 對后續課程《微機原理與接口技術》產生畏懼心理。從內容上看《匯編語言程序設計》和《微機原理與接口技術》都對計算機的組成與工作原理、匯編語言源程序的基本構成以及與外部設備的接口問題進行了講述, 有很多相連之處。因此, 將這兩門課程合并, 優化兩課內容, 有利于整個教學計劃的安排, 也有利于教學。
2.合理安排匯編語言與微機原理與接口技術的課程內容.
《微型計算機原理及應用》與《匯編語言程序設計》有好多知識點是重疊的,《匯編語言程序設計》中的內容主要是微處理器的結構、8086指令系統和匯編語言程序設計,《微型計算機原理及應用》把這些知識點都包含進去。 (如表 1 所示)
[2]將兩門課程合二為一勢必要對教學內容進行壓縮, 那么選擇什么樣的教學內容較為合適呢? 我們采用的教材是《微機原理、匯編語言與接口技術》該書通過80286、80386、80486、Pentium和Itanium(安騰)微處理器和IBM PC機的硬件和軟件分析以及總線技術,闡明微型計算機的組成原理以存儲器、輸入輸出接口芯片與微型計算機的接口方法。同時還包括匯編語言程序設計和接口技術兩部分內容。匯編語言程序設計是微機應用系統的系統軟件和應用軟件的設計基礎,接口技術是微機應用系統硬件組成的基礎。該書內容較全面,實例豐富。學習微型計算機的匯編語言程序設計和接口技術必須理論聯系實際。該書在介紹基本概念的同時,列舉了大量典型而有意義的例題和習題。更加注重實驗環節。
[3]這門課程實踐環節尤為重要,實驗是實踐環節的一個重要組成部分。可以提前幾周把實驗題目布置下去,讓學生充分準備。一般我們對實驗的要求是:硬件原理圖、流程圖、調試成功的匯編語言程序。從我們實驗課堂來看學生都很重視,而且大家對實驗的興趣也非常濃厚,都能積極地參與到實驗中去。通過實驗的實戰練兵,可以進一步鞏固所學理論知識,使學生對微機原理系統有了系統的認識,通過實驗,使學生對這門課從理論到實踐跨出了關鍵性的一步。這是一個升華的過程,是一個質的飛躍,為學生今后的畢業設計乃至將來的工作打下了良好的基礎。
3.考試方法.
按照教改計劃確定的培養目標和對學生在知識與能力等方面的要求,教師在給學生期末總成績時,本著重平時、輕期末,既注重課堂教學又重視實踐教學的原則進行考核??己宿k法:平時成績+期末試卷成績=總成績。平時成績:作業+課堂表現+實驗(20分),共計30分;期末試卷成績:70分,加大平時的考核力度,作業和課堂表現可以側重于知識的掌握,實驗和期末成績既有知識的掌握、知識的運用、又有綜合性和創造性。這種方式,可以促進學生時時注重學習,有利于學風和考風的好轉,可以杜絕僅憑期末一次考試就一錘定音的方式。
4.結束語.
通過計算機專業課程的整合,開拓了整體教學的新視野,同時也給我們許多新的啟示,給教學工作增添了活力。課程優化是我們教改工作的具體體現,今后,我們還需進一步研究與探討課程整合的新思路,以培養出更優秀人才。
參考文獻:
[1]許穎梅. 對匯編語言和微機原理課程整合的探討[J]. 福建電腦,2007.01.
篇6
[關鍵詞]:可編程 計算機 電梯 遠程 監控
目前,電梯已經成為了人們生活中不可缺少的重要交通工具,所以,電梯能否高效安全的運行是相當重要的,而僅靠以前的人工方法來應對故障,出現了很多局限性問題,且運行效率十分低下。隨著計算機在電梯上的普遍應用,電梯運行效率和安全性得到了有效提高。運用可編程計算機控制器能可以遠程在線監控電梯的運行情況,人們只需在計算機前就能遠程監測電梯故障,還能結合現場情況合理調度電梯,盡早發現故障,降低維修成本,節約修理時間,還可提高電梯運行效率。
一、PCC――可編程計算機控制器概述
PCC(全稱為Programmable Computer Controller),中文名字是可編程計算機控制器,最初是由奧地利貝加萊公司推出的,它是對傳統PLC的完善,除了具有PLC的所有功能外,還兼有通用計算機的大規模數據處理能力、高運算速度和大存儲容量。PCC最大的優點就是能實現像大型計算機一樣的分時多任務操作系統和多樣化的應用軟件運行平臺。PCC運用了系統總線與I/O總線分離的總線技術,存儲器、處理器、遠程主站、網絡模塊等運行在系統總線上;I/O總線上的模塊主要用于機器或系統接口,如數字量和模擬量I/O模塊、定位模塊、智能I/O處理器等。PCC具有網絡通信的能力,如B&R2003、2005、2010等都可以進行RIO、以太網、CAN BUS、PROFIBuS、NET2O00等網絡通信。
二、電梯遠程監控的作用
電梯遠程監控的作用主要有:監測故障、語音服務、監控服務、遠程保養和診斷。這些作用概括起來就是:
(一)監測故障
關人故障、安全裝置動作、電源異常、控制系統異常、門開閉異常、不能啟動故障。
(二)語音服務
與監控中心直接通話引導語音、乘客被困在轎廂時轎廂內自動播放安撫語音。
(三)監控服務
全天24小時聯網監控、受困乘客與監控中心直按通話、監控中心與轎廂乘客主動通話、故障情報分析、維修人員工作反饋。
(四)進行遠程故障診斷
各樓層門開關工作狀態、各樓層門安全開關動作狀態、各樓層召喚按鈕動作狀況、轎廂各按鈕動作狀態、轎廂安全觸板動作狀態、轎廂門安全開關動作狀態、極限開關動作狀態、平層誤差狀況、超載開關狀態。
三、電梯遠程監控系統中可編程計算機控制器的主要組成
遠程監控就是通過使用計算機網絡實現集中監控,除了能了解電梯的運行工作狀態,還能在最短時間里處理電梯故障。遠程監控系統主要包括信號傳輸子系統、現場信號采集/發送子系統和監視中心三大系統。采集信號的工作主要是由電梯控制中心完成,各個電梯(現場)與監視中心之間的聯系通過公用電話網進行傳送。其主要功能有:電梯緊急故障時應答遠程電梯轎廂內受困人員的詢問;查詢緊急狀態電梯的有關信息;非定期的特定要求電梯的數據查詢請求;根據初步的故障分析,統一調度管理安排技術人員赴現場維修服務等。
PCC控制電梯的遠程監控體系結構如圖1和圖2所示,各臺電梯的PCC從站完成對電梯運行控制和運行狀態的數據采集,PCC主站通過現場總線PROFIBUS與各控制從站進行通信。并將采集到的電梯運行數據發送到本地終端計算機。遠程終端計算機通過Internet網絡與本地終端計算機相連,執行對各電梯(現場)的遠程監控。
圖1為PCC控制電梯的遠程監控系統,系統中PCC主站與下位機PCC從站之間采用RIO(遠程擴展)方式進行通信,PCC主站通過各PCC從站完成對各電梯的運行控制及其運行數據采集任務;PCC主站與上位機本地終端計算機之間采用PROFIBUS方式進行通信,PCC主站將采集到的電梯運行數據信息傳輸到本地終端計算機;本地終端計算機與遠程終端計算機之間通過公用電話網絡進行通信,遠程監控中心得到電梯運行數據信息后,通過監控中心的故障診斷專家系統對數據信息進行處理,并根據診斷結果將相應的緊急處理控制指令通過公用電話網絡發送到本地終端計算機,由PCC主站將控制指令傳送到對應的PCC從站,完成對電梯運行故障的緊急處理。
圖2為PCC從站電梯的主控制系統,其主要的作用是采集轎廂外上廠下呼梯信號、轎廂內選層信號、轎廂位置信號和電梯門狀態信號,并且通過綜合判斷和處理這些信號,最終確定轎廂的運動方式,把控制指令發送給VVVF變頻器、主回路接觸器、轎廂開關門電路、運行狀態顯示電路和抱閘電路,最終實現最優服務。
四、可編程計算機控制器在電梯遠程監控中的運用
這是指運用可編程計算機控制器來采集故障信號,電梯的故障信號是通過信號采集器來采集受監控電梯設備的運行信號、層樓信號、安全回路信號,在整個遠程監控系統中每臺電梯需要設置一套信號采集器,與本地終端計算機進行串行通信。PCC控制電梯的故障信號可以通過系統的各控制從站PCC來采集,不需要增加信號采集器。
電梯的遠程監控系統要完成遠程監控的任務,需要采集以下信號:快車信號、慢車信號、上行信號、下行信號、轎廂位置信號、開門信號、關門信號、開門限位信號、關門限位信號、門鎖信號、檢修信號、司機(或自動)信號、重復開門信號、重復關門信號、直駛信號、超載信號、門區信號、上行減速信號、下行減速信號、上行強迫減速信號、下行強迫減速信號、上行方向限位信號、下行方向限位信號、轎頂安全窗開關信號、轎頂急停開關信號、安全鉗開關信號、轎廂限速器開關、熱保護繼電器信號、各層樓層門鎖開關信號、轎門鎖開關信號。
為了確保采集的信號不影響電梯控制系統的正常工作,信號采集一般采用并聯引出法,即各控制從站的PCC除了執行對本臺電梯的運行控制外,還負責采集本臺電梯的運行信號、層樓信號、安全回路信號。因為電梯控制系統的輸入和輸出都是數字量信號,所以其信號采集不需要專用的A/D轉換信號采集裝置,而是可以通過PCC遠程擴展主站模塊和各個PCC遠程擴展從站的通信,由PCC主站通過軟件控制程序讀取各個PCC從站I/O模塊的狀態來完成故障信號的數據采集
綜上所述,將可編程計算機控制器應用于電梯控制,實現了在CAN總線技術的輔助下進行站――主站――本地用戶終端計算機相互間的數據通信,利用互聯網通信技術將遠程控制計算機和本地用戶終端連接從而實現對PCC控制電梯的遠程監控,在線掌握電梯的運行情況,實時在線檢測電梯運行故障,保證了電梯的安全運行,是現代化建筑智能化的發展要求。
參考文獻:
[1]余華,孫德寶.智能大廈中的電梯群控系統[J].電工技術雜志.2002,(1):37~39.
篇7
關鍵詞:計算機監控;SOCKET技術;多線程編程
中圖分類號:TP393.1 文獻標識碼:A 文章編號:1007-9599 (2012) 08-0000-02
隨著信息時代的飛速發展,迎來了互聯網與局域網的繁盛時期。在社會的各個方面,計算機網絡都得到了大的普及和應用,但其給社會帶來更多益處的同時又伴隨著相應的管理和安全方面的問題。我們常說,互聯網是一把雙刃劍,在我們獲得利益的同時又存在著許多的弊端。為有效的控制人們對互聯網的合理應用,逐步出現并應用的局域網計算機活動監控管理軟件就為人們對計算機的利用提供了合理的控制和管理,進而避免了非法軟件的安裝和時間的浪費,使計算機網絡呈現出更加綠色健康的網絡環境。
一、線程同步套接字(SOCKET)編程原理
(一)Windows socket的實現
TCP/IP的socket提供三種類型套接字:,流式套接字(SOCK_STREAM),數據報套接字(SOCK_DGRAM)和原始式套接字(SOCK_RAM)。流式套接字對傳輸控制協議進行使用,為用戶提供了面向雙向、連接的數據流傳輸服務,此數據并不會出現錯誤,也沒有重復的現象,且能夠按照一定的順序進行接收。其系統內部設置了流量控制,防止了數據流的超限現象;數據作為字節流,并沒有長度的限制,可以使數據獲得有序的、大批量的傳輸。數據報式套接字對用戶數據報協議進行使用,為用戶提供了良好的無連接服務,其以獨立的形式對數據包進行發送,但并不提供無錯保證,這樣數據就會出現重復或者丟失,且不具有有序的接收順序。原始式套接字接口允許對較低層協議,如IP、ICMP直接訪問,常用于檢驗新的協議實現或訪問現有服務中配置的新設備。一般而言,套接字有兩種規范:1. Windows sockets規范,其占居的主流地位,是Microsoft依據Berkely Socket規范對windows下的網絡編程接口進行的一種開發形式;2.基于UNIX系統的Berkely Socket規范。
(二)線程同步技術
對于多線程技術而言,其能夠實現系統的并行處理,這樣,就不會出現CPU時間被某一任務長時間占用。Win32 SDK函數可以對多線程的程序進行設計,并為用戶提供了操作系統原理中的臨界區,各種互斥、同步等操作。在VisualC++6.0中,也可對MFC類庫進行使用來實現對多線程的程序設計,并進一步促使了編程的便利。線程的恢復、創建、掛起、終結和通信等工作的完成,是Win32對API函數的改善和促進。線程的同步可通過關鍵代碼、事件對象、互斥對象三種方式得到實現。
(三)鉤子技術
鉤子是系統的一種處理消息的程序,通過對系統的調用,將鉤子掛入到系統中,在Windows的消息處理的機制中,其可作為一個監視點。當進行鉤子的設置時,Windows的消息在傳遞過程中會出現一定的改變,而窗口的某些消息可以得到鉤子函數的監視,其所監視的窗口也可能會是其它進程創建的。一旦消息到達,應用程序就會對特定事件和窗口消息進行截獲的處理。此時,鉤子函數就可以對該消息進行加工處理,也可不用進行加工處理,仍能夠進行該消息的傳遞此外,還能夠對消息的傳遞進行強制使其結束。鉤子鏈是Win32系統為鉤子建立的,一個鉤子鏈可以被視為一個指針列表,它的指針會面向鉤子的處理函數,鉤子鏈如同棧的運作方式,在最后對鉤子進行加入,并獲得控制權。線程的事件不僅能夠被HOOK技術攔截下來,Windows系統中的事件也可以被攔截下來。通過鉤子的利用,可以對進程發生的事件進行捕捉。Windows的過濾事件和處理事件的回調函數可通過鉤掛給出,此種函數也被稱之為“鉤子函數”。相應的事件一旦發生,該函數口就會受到Windows的調用。
二、系統的實現
(一)系統功能的設計
當服務器的程序開始進行運行時,監聽線程就會有所啟動,其能夠不停的對新的客戶端的連接請求進行接收。若客戶端所發送的用戶合法,那么就會在管理集合中進行新的客戶端的添加。此外,服務器端對操作命令進行隨時的接收,并對客戶端計算機進行有效地操作。當服務器被客戶端成功登陸以后,就會對來自服務器的消息進行監聽和響應,之后在把結果傳輸給服務端。成功登陸之后,管理集中會進行服務端的添加,服務端同時也會對心跳包進行發送。而這里的心跳包是在服務器與客戶端之間,對對方進行一個命令字的定時通知,在依據給定的時間進行間隔的發送,如同心跳一樣,即被稱作心跳包。心跳包的使用,可以得知服務器端與客戶端的相連狀況。
(二)監控管理的實現
在計算機系統中,管理員會通過服務器,來監控多個客戶端。而這些控制活動的完成都是向客戶端發送消息來形成的。其中,每一個模塊都包含著一些小的模塊,而這些小模塊的功能如下:
1.主線程可對端口進行掃描,并進行子線程的創建,端口的掃描工作由子線程來進行,之后對是否開放的結果進行一個返回。其對線程的并發進行了利用,并伴隨臨界區、互斥量、信號量等對線程的控制利用。在實際的設計中,會進行多線程的創建,其類別如CPort Scan功能,如果得出的端口經過掃描,發現數量少于線程數,端口數就等于創建的線程數。
2.在應用程序中,對WH—KEYBOARD Hook進行安裝,可起到監視WM—KEYUP和WM—KEYDOWN消息的作用。其中,安裝WH—MOUSE Hook監視,可對Peek Message或Get Message函數的鼠標消息進行返回,對Hook監視進行使用,將其輸入到鼠標消息中。依據Hook的技術規范,Hook API要寫在DLL中,在主程序中,進行Hook函數的調用。
3.通過Screen2Bitmap和Bmp2Stream兩個函數的應用,可實現程序的屏幕抓取。Screen2Bitmap可對屏幕進行截取,并將圖片進行保存,之后在返回到位圖的旬柄當中;Bmp2Stream可對位圖旬柄進行接收,并對這一個位圖進行有效的編碼,在將其進行拷貝后保存在緩沖區里。在服務器端,程序會通過屏幕的抓取命令對客戶端進行圖像的截取要求,如嘗試失敗,就會返回,反之,就會len參數中進行圖像數據的傳遞,之后服務器端來完成圖像數據的接收。
三、結束語
總而言之,實現局域網計算機活動的監控,是有效地通過Internet技術,在TCP/IP協議的基礎之上,對軟件結構進行合理的組織,而用戶對電腦運行情況的了解則是通過局域網內的監控系統來實現的。其監控系統的客戶端主要通過鉤子技術、多線程技術、SOCKET技術的應用,在C/S模式中有效地進行計算機的監控??蛻舳诉M行信息的收集,并將信息發送給服務端,在完整的呈現給管理人員,整個過程都在監控系統的進行下有序良好的進行,使管理人員在局域網內能夠實現正常的管理和監測,進而促使了計算機管理的準確性和高效性。
參考文獻:
[1]劉海林,陳世欣,龔仕華.基于HOOK技術的計算機監控系統設計與實現[J].廣東技術師范學院學報,2008(12):1-3
[2]楊竹青.基于HOOK技術的實驗室軟件監控系統研究[J].職業技術學院學報,2009(13):1-3
篇8
基于自主研發的新穎異構多核工程科學計算加速協處理器(ESCA)體系結構,實現了圖像Laplace變換算法。針對ESCA架構特點,采用子字并行計算和訪存延遲隱藏等機制,進行了一系列并行算法優化,并在四核ESCA處理器原型上對圖像Laplace變換算法的進行了性能評測。實驗結果表明,對于計算密集型計算任務,ESCA處理器具有良好的計算加速效果。
關鍵詞:異構多核;協處理器;計算密集型;Laplace變換;并行計算
中圖分類號: TN492
文獻標志碼:A
Implementation of Laplace transform on heterogeneous multi-core
engineering and scientific computation accelerator coprocessor
Abstract:
Engineering and Scientific Computation Accelerator (ESCA) is a heterogeneous multi-core architecture to accelerate computation-intensive parallel computing in scientific and engineering applications. This paper described an implementation of Laplace transform on the hybrid system based on ESCA coprocessor, and the performance of Laplace transform on the quad-core prototype ESCA was exploited. The experimental results show that the ESCA can accelerate program of compute-intensive applications fairly well.
Key words:
heterogeneous multicore; coprocessor; compute-intensive; Laplace transform; parallel computing
0 引言
高性能計算(High Performance Computing, HPC)廣泛應用于金融、制藥、交通、銀行、證券、醫療、教育以及科學計算及信息化服務等領域[1],已成為衡量一個國家核心競爭力的關鍵指標。近年來受應用需求和系統實現技術的驅動,高性能計算機的核心評價指標已經從高性能計算轉向高效能計算[2],即每瓦特能耗下所能實現的性能(Performance-per-Watt,Flops/W)?!爸魈幚砥?協處理器”的混合計算體系結構[3-4]以其獨特的效能優勢[5],已經成為高性能計算機系統體系結構研究的主要趨勢之一。同時,片上多核處理器作為摩爾定律的一種新的延續形式,已經成為處理器性能持續增長的必然途徑[6]。對此,文獻[7-8]面向科學計算、數字信號處理和多媒體處理等科學與工程計算應用領域,提出了一種自主研發的異構多核處理器——工程科學計算加速協處理器(Engineering and Scientific Computation Accelerator,ESCA)體系結構。
ESCA處理器是一個具有強大計算性能的協處理器,采用經典存儲器接口方式,與商用主流的通用微處理器(如Intel CPU、IBM Power PC等)或嵌入式微處理器(如ARM、 SPARC等)有效協同,實現基于混合計算體系結構的高性能計算機系統。其中,主處理器上運行操作系統,主要負責執行系統任務和控制任務(如響應中斷、操作外設等),并根據應用特點將并行計算任務分配到協處理器計算節點上;ESCA處理器負責對具體的計算任務進行加速。這種“主處理器加協處理器”的混合異構多核架構可以提供強大的計算能力,廣泛應用于計算密集型的科學與工程計算應用領域[9]。
圖像信息處理是一種典型的計算密集型應用,而Laplace變換在圖像處理中的應用非常廣泛。本文深入分析了ESCA體系結構的特點,基于ESCA架構實現了圖像Laplace變換算法,并進行了一系列并行算法優化。實驗結果表明,對于計算密集型計算任務,ESCA處理器具有良好的計算加速效果。
1 ESCA體系結構
ESCA處理器主要包括計算陣列、控制內核、指令高速緩存、總線接口單元以及直接存儲訪問引擎幾大部分,體系架構如圖1 所示。其中,計算陣列集成多個計算內核(Processing Element,PE),以單指令多數據流(Single Instruction Multiple Data, SIMD)模式并行執行以提供高計算能力;控制內核負責ESCA處理器與外部的通信,同時取指令發送給PE計算陣列進行運算操作,控制程序的正確執行并收集程序執行過程中的各種狀態(異常、中斷等)。指令高速緩存用于存儲近期可能用到的ESCA計算任務程序,為控制內核提供快速的取指響應??偩€接口單元則主要用于進行片內外數據通信,匹配外部Local Bus接口時序和Local Memory接口時序,控制數據通路,根據不同的位寬比例進行數據拆包和打包工作,并且產生相應的控制信號。
控制內核是ESCA處理器的控制中樞,它包含多個控制狀態寄存器。這些控制狀態寄存器參與全局編址,可供Host訪問和查詢。而ESCA處理器芯片根據這些控制狀態寄存器的設置執行相關操作,如指令高速緩存的預取、計算任務的開始執行、調試模式、DMA傳輸配置等。此外,控制內核讀取指令并進行初步譯碼,識別該指令是在控制內核處理器核中執行的(如同步指令、Load/Store指令、跳轉指令、控制內核級別的簡單計算和比較指令等)還是要傳遞給計算陣列進行的(如用于運算加速的計算指令、網絡傳輸指令等)。計算陣列則是進行并行計算,它支持向量模式及子字并行,同時在計算陣列實現了條件執行和條件中斷,以及間接尋址等功能。PE之間的互聯網絡采用層次化方式構建,具有很高的可擴展性和靈活性。
2 圖像Laplace變換算法在ESCA上的實現
2.1 圖像Laplace變換基本原理
拉普拉斯算子是最簡單的各向同性微分算子,具有旋轉不變性。一個二維圖像函數的拉普拉斯變換是各向同性的二階導數,定義為:
另外,拉普拉斯算子還可以表示成模板的形式,如圖2所示。從模板形式容易看出,如果在圖像中一個較暗的區域中出現了一個亮點,那么用拉普拉斯運算就會使這個亮點變得更亮。因為圖像中的邊緣就是那些灰度發生跳變的區域,所以拉普拉斯銳化模板在邊緣檢測中很有用。
2.2 Laplace變換算法在ESCA上的實現
2.2.1 任務劃分
由于ESCA系統是以“主處理器加協處理器” [10]的混合計算模型執行的,主處理器(商用CPU)在處理數據相關性不大的計算類和復雜繁瑣的非計算類具有優勢,而協處理器(ESCA處理器芯片)則適合用來處理計算性強但邏輯性不強的大量平行數據。所以需要進行合理的任務劃分,使二者協同工作,共同完成計算任務,能充分利用各自的架構優勢,發揮出強大的計算能力。
ESCA系統中主處理器(Host)與協處理器(ESCA芯片)之間按照offload mode協同完成具體應用:Host端先對原始數據進行預處理,然后創建初始化ESCA處理器芯片線程空間,將相關指令和數據從系統主存下載到ESCA芯片的片外存儲器中,之后再啟動ESCA芯片執行;ESCA芯片接收到啟動控制信號后,由控制核控制內核從初始地址開始取指運行,配置計算陣列對待處理數據的DMA加載過程。當一次批量運算所需的數據都從片外存儲器通過DMA方式載入到計算陣列的局部存儲器之后,所有PE在SIMD模式下執行并行計算。當計算陣列完成該次計算任務后,由控制內核配置計算陣列的結果數據到片外存儲器的DMA下載過程。當ESCA芯片的所有計算任務完成后,控制內核將操作完成的控制信號寫入特定狀態寄存器,Host查詢到該狀態,將ESC外存儲器的結果數據讀回,通過相應處理得到最終結果。ESCA系統執行圖像Laplace算法的具體程序流程如圖3所示。
2.2.2 分塊存儲
從式(3)可知,在對圖片進行Laplace變換時,每計算一個像素點都會用到原始像素矩陣的3×3的小矩陣,而BMP格式圖片的像素點在存儲器中是按行存儲的,所以在計算時,需要多次訪問局部存儲器。因此需要將圖片像素進行分塊存儲,使每一塊的數據大小為ESCA計算陣列所能處理的大小,就能減少ESCA計算陣列對局部存儲器的訪問次數,提高訪問效率。
ESCA的一個處理單元有16×16個寄存器,在子字并行(Subword)技術[11]下,一個寄存器可以存放4個像素值,除去用作臨時變量的16個寄存器,ESCA處理單元一次能批量處理64×15個像素點,在ESCA計算陣列規模為2×2的情況下,ESCA計算陣列一次能批量處理64×60個像素點。因此可以在Host端先對二維BMP圖片進行分塊,每塊大小為64×60個像素點,以塊為單位部署到ESCA的局部存儲器中。計算時,每次傳遞一塊數據到計算陣列,經計算陣列計算后,結果數據再以塊為單位放回到ESCA局部存儲器中。最后,由Host端將ESCA局部存儲器中的結果數據矩陣還原成Bmp圖片。
考慮到邊界元素的影響,原始數據塊之間會有部分數據重疊,每個數據塊包含的實際像素點為56×52個,這也即結果數據塊的大小。所以對于尺寸為W×H的Bmp圖片,分塊后個數為N,則:
2.2.3 分塊計算
在對圖像數據完成分塊處理后,由ESCA計算陣列對分塊數據批量完成Laplace變換。計算陣列是ESCA的計算核心,由多個處理單元組成,構成了一種片上輕量級集群結構,通過片上互聯網絡進行有效互連,在控制內核的控制下以SIMD方式實現高效并行計算。為了方便管理和控制,處理單元以方陣形式組織,根據應用需求,可以從2×2的規模,方便的擴展到4×4,甚至16×16的規模。
在本文中,計算陣列由2×2共4個處理單元組成。將分塊數據的64×60個像素點的塊數據按列分成4個64×15個像素的小塊,再分配到計算陣列的4個處理單元中去。由于相鄰處理單元數據不存在數據相關性,所以4個處理單元可以完全的高速并行進行計算。除去邊界元素,每個處理單元一次批量計算出來的像素點為56×13個,計算陣列一次批量計算出來的總的像素點為56×52個。
2.3 性能優化
2.3.1 子字并行機制
為了對性能進行進一步優化,除了在計算陣列的多個處理單元能實現SIMD并行外,還可以在處理單元內通過子字并行(Subword)機制實現SIMD并行。所謂子字并行,是將多個短數據(即子字)打包并封裝到一個寄存器中,利用數據并行操作對一個寄存器中的所有子字進行并行處理,是一種低功耗、小規模的SIMD并行。
對于圖像Laplace變換這項具體應用,ESCA處理單元的寄存器是64位,而8位BMP圖片的1個像素點為8位,考慮到計算的中間結果可能超過8位,故用16位來存儲,ESCA的1個寄存器可以存儲4個像素點。利用子字并行機制,1條指令能同時對1個寄存器內的4個像素點的數據進行并行處理。
在Host端圖片像素是順序存儲的,如圖4所示,相鄰的點并不在相鄰寄存器的對應位置。
為了減輕Host端數據處理的負擔,盡量保持數據的原始性,由ESCA的計算陣列通過多媒體數據重排指令來完成這一過程。對于進入ESCA計算陣列的原始數據,通過數據重排由圖4到圖5;對于ESCA計算陣列計算出來的結果數據,則通過數據重排由圖5到圖4。
2.3.2 訪存延遲隱藏
為了解決存儲帶寬對ESCA系統性能提升的制約,還可以通過減少訪存開銷來提高系統性能[12]。通過計算陣列局部存儲器實現的雙緩沖(dual-buffer)機制,在計算陣列的一塊Local Storage進行計算的同時,往另一塊Local Storage里灌數據,兩塊存儲器交替進行計算,可以最大限度地隱藏訪存延遲,提高效能,具體實現方式如圖6所示。
在這個過程中,由于片內外數據傳輸以流水方式通過DMA控制器進行,在進行大批量數據傳輸之前,需要先通過
DMA 通道命令進行傳輸參數配置,并觸發DMA控制器通過正確的DMA隊列向總線接口發起鏈路請求,進而向片外存儲器控制器發起連續的讀寫請求。數據傳輸延遲時間(以時鐘周期為單位)的估算公式為:
DMA數據傳輸時間=DMA命令配置開銷+
DMA控制器隊列響應及仲裁開銷+
DMA傳輸過程主要包括計算陣列對片上存儲器原始數據的讀取和將計算陣列結果數據寫入片上存儲器。通過前面的討論可知,原始數據的一次批量讀取為64×60個像素點,結果數據的一次批量寫入為56×52個像素點,其中1個像素點占16位,代入式(5)可以計算得到如表2所示結果。
3 性能評測
本文采用UMC 0.18μm 1P6M CMOS工藝實現了1個片上集成4個計算內核的ESCA處理器原型芯片,其指令寬度128b,目標工作頻率250MHz,單精度浮點性能4 GFlops,片上網絡帶寬8GB/s,存儲器采用256-bit的eDRAM。選擇的主處理器測試平臺為Inter Core2 Duo CPU 9400,工作主頻為2.53GHz,1.99GB內存。測試中,分別基于“Intel處理器+四核ESCA芯片”以及獨立的Intel CPU處理器2個平臺對不同尺寸的8位256色BMP圖片執行Laplace變換。其中,前者Intel處理器只執行簡單的任務分配,計算加速任務完全由ESCA芯片執行。由于ESCA芯片通過計算陣列片上存儲器實現的dual-buffer機制實現了訪存延遲隱藏,實際程序運行時間計算公式為:
相比2.5GHz的Intel CPU,工作頻率為250MHz 的ESCA芯片通過采用4個計算內核同時執行子字并行計算,并且有效隱藏數據訪存傳輸延遲,可以獲得1.10~1.16倍的性能加速比。由于ESCA芯片工作頻率遠低于Intel CPU,因此體現了ESCA處理器良好的計算加速效果。評測中也發現,圖片尺寸ESCA系統加速性能有直接影響。由于ESCA芯片計算陣列一次批量處理的像素點為56×52個,假設圖片尺寸為M×N,那么M和N分別為56和52的整數倍時,ESCA的計算整列每次批量運算都為滿載運算,計算效率最高。當增加ESCA芯片個數或者計算陣列規模時,計算時間會相應減少,但訪存時間會成為制約系統性能提升的瓶頸。
4 結語
ESCA處理器是一款自主研發的新穎異構多核處理器工程科學計算加速協處理器,片上集成多個計算內核工作在SIMD模式,具有高的計算性能,內核之間通過高效的片上網絡進行通信,具有高的網絡通信帶寬,可以針對計算密集型應用進行有效計算加速。本文基于該“主處理器+ESCA協處理器”系統實現了圖像Laplace變化算法,進行了一系列并行算法優化,并在四核ESCA處理器原型芯片上進行性能評測。實驗結果表明,對于計算密集型計算任務,ESCA處理器具有良好的計算加速效果。如何解決訪存時間對系統性能提升的制約問題,將是我們后續研究的重點。
參考文獻:
[1] BELL G, GRAY J. Whats next in high-performance computing?[J].Communications of the ACM,2002, 45(2): 91-95.
[2] HOFSTEE H P. Power efficient processor architecture and the cell processor[C]// Proceedings of the 11th International Symposium on High-Performance Computer Architecture. Washington, DC: IEEE Computer Society, 2005:258-262.
[3] BARKER K J, DAVIS K, HOISIE A, et al. Entering the petaflop era: the architecture and performance of Roadrunner [C]// Proceedings of the 2008 ACM/IEEE Conference on Supercomputing. Piscataway: IEEE, 2008:23-33.
[4] KOCH K. Roadrunner and hybrid computing[EB/OL].[2013-02-20].http://lanl.gov/orgs/hpc/salishan2007/koch.pdf
[5] FENG W C.Top500 official website[EB/OL]. [2013-02-20].http:///
[6] KUMAR R, TULLSEN D M. Heterogeneous chip multiprocessors[J]. IEEE Computer Science, 2005, 38(11): 32-38.
[7] WU D, DAI K, ZOU X, et al. A high efficient on-chip interconnection network in SIMD CMPs[C]// Proceedings of the 10th International Conference on Algorithms and Architecture for Parallel Processing. Heidelberg: Springer-Verlag, 2010: 149-162.
[8] WU D, ZOU X, DAI K, et al. Implementation and evaluation of parallel FFT on ESCA architecture[J]. Journal of Zhejiang University: Science C (Computer and Electronics), 2011, 12(12): 976-989.
[9] CHEN P, DAI K, WU D, et al. The parallel algorithm implementation of matrix multiplication based on ESCA[C]// Proceedings of the IEEE Asia Pacific Conference on Circuits and Systems. Piscataway: IEEE, 2010: 1091-1094.
[10] ANDRE R B, CHRISTOPHER D, TROND R H, et al. State-of-the-art in heterogeneous computing[J]. Scientific Programming, 2010, 18(1): 1-33.
篇9
[論文關鍵詞]高職院校 計算機課程 質量提升
隨著計算機在各行各業廣泛應用,計算機應用技能已經成為人們從事生產、經營、管理等工作不可或缺的基本技能之一。廣大高職院校的職能就是為社會培養、輸送合格的社會主義建設者,計算機技能理應成為高職院校畢業生必備的基本技能。經過多年的建設與發展,高職院校計算機基礎教學的軟硬件不斷得到改善,教學經驗也日益豐富,但看到成績的同時,必須清醒地認識到,當前高職院校計算機課程教育中還存在一些不利于提高高職院校學生計算機素質的問題。在這種情況下,高職院校加強計算機課程教育的探索與研究,對提升教學質量、學生素質,都具有十分重要的現實意義。
一、高職院校計算機專業課程教育現狀分析
根據教育部最新公告數據顯示,2014年高職院校擬招生專業共有1081個,其中專業點有48668個。截至目前,全國共有高職院校1297所。中央部門主管的高職院校有4所;地方主管的高職院校共有997所,其中教育部門主管的有389所,其他部門主管的有537所,地方企業主管的有51所;民辦高職院校有316所。據不完全統計,在這些院校中有近76%的專業均開設有計算機課程,說明各高職院校高度重視計算機課程?,F在的高職院校計算機專業在教學內容的設置上,按照計算機硬件、軟件進行區分,其中軟件課程又可以細分為編程、軟件應用、網絡技術三種不同的類型。在教學內容編排、設施配備、教師編組等方面都存在不少矛盾和問題。為進一步了解高職院校計算機專業課程教育現狀,筆者選取四川10所高職院校,對相關情況進行研究分析。
1.高職院校計算機課程教育的目標。高職院校以培養學生職業技能和實際動手能力為主要目標。高職院校開設計算機課程的主要目的就是培養學生的基本計算機能力,使學生能夠熟練掌握計算機操作技能,能夠更好地適應未來工作的需要。同時,計算機已經成為學生掌握其他知識的重要工具,例如利用計算機網絡,學生可以充分利用網絡資源,自覺抓好學習。隨著計算機技術的飛速發展,新技術、新裝備層出不窮,這給計算機教師提出了新的更高要求,教師必須不斷加強學習。高職院校計算機教育必須堅持以學生為本,拓展學生自主學習的視野,提高學習效率。
2.高職院校計算機課程的基本設置。筆者所調研的10所高職院校中,相關計算機課程的設置主要基于對學生基本計算機知識和基本應用技能的培養。計算機專業的課程設置多數是偏硬和偏軟進行課程設置,偏軟的課程又分為編程、應用軟件的使用和網絡技術三大類。至于偏向于編程的專業,一般開設basic、C語言、FoxPro、C++、VB、JAVA應用技術等課程。與軟件應用有關的課程主要包括Authorware、Director、API、ToolBook等,并涉及多媒體制作、網頁設計、動畫制作、網絡通信等。這些課程的設置一方面扎實了學生的計算機應用基礎,但由于課程內容設置涵蓋了硬軟件應用的各個方面,存在某個方面的知識學習深度不夠,全而不深的問題;另一方面由于課程設置存在重復和主題不清等問題,導致學生專業知識比較寬泛,缺乏深度,畢業生很難迅速適應計算機專業崗位的工作。
3.高職院校計算機課程教育的特點。計算機課程有別于其他課程,具有操作性強、實踐性突出、對教師知識更新要求高、必須具備良好的軟硬件操作技能等特點。計算機專業基礎課通常包括計算機基本原理、操作系統、文字錄入、文檔處理、表格應用等內容,通過這些課程的學習,學生能夠具備必要的計算機基礎知識,能夠熟練掌握計算機的基本操作技能,可以掌握常用軟件的應用技能。軟件設計則開設C語言、VB、VC、數據庫等程序設計內容,學習這些內容可以使計算機專業學生熟練掌握計算機軟件設計及編程的技巧,初步具備軟件編程能力。網絡知識課程通常開設有網絡技術基礎、網絡技術實務、網絡組建、網絡技術應用等課程,學生學習這些課程能具備組網、建網、管網的能力。專業技能則是在學生掌握了較為扎實的計算機基礎知識后,對計算機專業學生進行專業提升訓練而設置的課程,學生的專業技能可以得到全面鍛煉和提升。
二、高職院校計算機課程教育存在的主要問題
近年來,網絡技術、計算機技術的廣泛應用有力地促進了計算機相關行業的發展,同時也帶動了計算機教育行業的快速發展。據不完全統計,全國幾乎所有的高職院校都開設了計算機專業課程,筆者所選取的10所高職院校中,開設有計算機應用專業的占61%,開設動漫制作專業的占33%,開設信息管理專業的占82%,一些高職院校還存在一個專業同時分為若干個專業方向的現象。由此可見,高職院校的計算機專業設置缺乏統一的標準,存在隨意性;專業培養定位不清晰,存在“堆砌”現象。在具體的教學過程中存在以下問題:
1.學生的計算機基礎參差不齊。高職院校的生源復雜,導致學生計算機基礎差異大,來自城市的學生接受過良好的計算機文化教育,具備較為扎實的計算機知識基礎;來自鄉鎮的學生,由于計算機軟硬件條件有限,所以計算機基礎較為薄弱。計算機基礎的不同,導致學生對計算機學習的反應不同,計算機基礎較好的學生會認為學校開設的計算機基礎課程過于簡單,不能激發其學習興趣、不能滿足其學習愿望;但計算機基礎較弱的學生卻會感到計算機知識難度較大,學習吃力。
2.課程設置缺乏科學性。計算機的工具性特征十分突出,這就決定了計算機教學應當圍繞培養學生動手操作能力來展開。然而,一些高職院校在設置計算機課程時,缺乏充分的調研論證,只是循規蹈矩地依循傳統的教育教學方式,注重知識體系的完整性和教學的系統性,按照理論授課、上機實習等傳統路子進行教學。而且,理論講授的內容大多跨度較大,因為一些高職院校為了提升學校教師的資歷水平,采取自編教材的做法,往往一本教材匯集了眾多課程的內容,教師在教學過程中很難在有限的課堂時間內使學生完全掌握教材上的內容,導致學生感到學習困難,趕不上趟,甚至產生厭學心理,影響學生后續課程的學習效果。
3.教學手段較為單一滯后。受高職院校學生素質的影響,教師往往還沿襲傳統的“教師登臺、學生聽講”的模式組織教學,由于課時少,課堂教學的時間十分有限,教師很少給學生預留一些自我消化、自由反思的機會,導致學生對計算機知識的學習失去興趣。有的教師雖然具有很高的學術水平,知識也非常豐富廣博,但由于受到學校條件的限制,不能利用各種現代化的技術手段來滿足課程教學的需要,學生缺乏對教學的有效參與,僅僅滿足于“帶上一雙耳朵聽講”,學生自主參與教學活動的積極性大打折扣。特別是對于多媒體技術、動畫技術等對直觀性要求較高的教學內容,如果不能將幻燈等顯示手段有效地運用到教學過程中,學生理解的難度就將會進一步加大,很難實現預期的教學效果。
4.調研測試結果不容樂觀。為了真實了解高職院校計算機課程教育現狀,筆者從10所高職院校中選取2所學校的108名計算機專業學生進行計算機課程測試。選取的這2所高職院校均開設了多媒體制作專業,均開設了Authorware課程,課時均在50課時以上。筆者給出題目,要求學生自行設計一件多媒體作品,要求其中包括文本、圖形處理、設計動畫效果、建立用戶交互、建立程序的框架與分支、在作品使用多媒體信息、使用變量和函數、進行打包文件和程序的等。對各個環節進行分值分配,總分為100分。作品設計時間為2小時。最終的評分結果是:50分以下的有76人,50~60分的有23人,60~70分的有9人。通過該測試,可見學生的計算機知識學習掌握程度與教學目標要求還有很大差距。
三、新形勢下提升高職院校計算機課程教育質量的對策
高職院校作為培養應用型專業技術人才的重要平臺,理應加強對學生技能與動手能力的培養,特別是在當前國際交流與合作日益頻繁的情況下,社會對具有良好職業技能人才的需求十分迫切。但是,一些高職院校計算機課程設置、教育理念與教學方法已經背離了這一培養目標,因此,采取切實可行的對策措施,全面提升高職院校計算機課程教育質量是十分迫切的。
1.優化計算機教育培養目標。一方面,一部分高職院校畢業生由于專業不對口、專業技能不扎實等原因而成為就業“困難戶”;另一方面,一些計算機專業崗位由于招不到合適的人才,而不得不縮小員工規模。這說明高職院校計算機教育培養目標與社會對人才的需求存在偏差。因此,高職院校應當積極改革創新,逐步建立以提高學生綜合技能、動手實踐能力為核心的,以培養學生知識素養為主要內容的高職院校計算機教育培養目標體系,充分調動教師與學生兩個主體的主動性,不斷創新深化教育改革,并在此基礎上逐步實現教學內容、教學手段和教方法的改革。
篇10
今信息時代,科學技術發展迅猛,知識更新越來越快,對人才的計算機知識和能力的要求也越來越高。軍校是培養新型軍事人才的基礎,也是打贏信息化戰爭的基礎。因此,軍校計算機課程的設置對于學員計算機能力的培養至關重要。目前,很多軍校計算機課程設置仍然不夠科學,重理論教學,輕實踐教學,沒有系統的計算機課程培養方案。軍校計算機課程教學亟待改革。
軍校計算機課程教學現狀分析
新生計算機知識基礎參差不齊?,F如今計算機課程在中學就以廣泛開設,不過軍校的新生來自于不同地區不同學校,亦或者來自于各個地域的基層單位,除了地域性教學的差距,還有不同的學校對于計算機課程的重視程度有所區別,有些幾乎沒有開設過計算機課程,有些幾乎涵蓋了大學階段的大部分教學內容。這些原因導致了新入學學員的計算機基礎參差不齊,即使相同學科的學員對于計算機理論和操作的掌握都有區別。在某些學員看來已經完全掌握的課程對其他學員而言就像“天書”般難懂。新生入校之后往往會合班上課,教員按照統一的教學大綱、教學進度進行講解。由于新生的知識接受程度不一樣,所以他們對知識的理解、掌握水平參差不齊。通過粗略估算,一個教學班中往往最多有大約50%的學員能夠在課堂上掌握所學知識,按時獨立完成作業;40%的學員能夠聽懂所講內容,作業單獨按時完成有一定的難度;至少有10%的學員上課跟不上教員的教學進度,作業不能完成。這樣的局面使得軍校計算機教學工作變得更加困難。
教學重理論教學,輕實踐教學。目前,軍校計算機課程尤其是大學計算機基礎、計算機應用等課程在課時安排上雖然設置了一定的實踐課時,但實踐教學組織實施的水平以及學員的學習質量還有待改進。同時在理論教學環節,多借助于多媒體教學手段,以教員講、演為主,學員參與度不高,課堂掌握度差。實踐教學課時安排上,缺乏系統的實驗培養模式方法,學員上機實驗目的性不強,沒有針對性的實驗操作任務,進而造成一部分學員在實驗課堂上瀏覽網頁、玩游戲,導致實驗教學效果不盡人意。
計算機基礎課程在理論課時與實踐課時的設置上要比例協調。以某軍校大學計算機基礎課程為例,現在的課時安排為30學時理論。但此課程作為學員的大學計算機入門類課程,應注重實踐掌握效果,在理論教學的過程中要保證充足的實踐鞏固操作時間,才能達到該課程所需的教學效果。
課程考核方式不夠科學
軍校中對于計算機課程的考核基本上都采用紙質化理論考核,這對于實踐性極強的計算機基礎學科顯然是不合理的。尤其是程序設計基礎課程,課程本身對學員編程動手能力有一定的要求,但期末考核卻只是采取紙質化考試,無法真實地對學員的編程實踐能力進行檢驗。亦或者大學計算機基礎課程,對學員的Windows掌握和office操作都有一定的要求,但紙質化考試根本無法對學員的操作能力進行考核。同時,目前計算機課程的成績基本以期末紙質化考試成績為主,忽略了學員平時課堂的表現,學員不注重中間的學習過程,課堂不積極,睡覺、開小差情況嚴重,學習氛圍不濃,從而使得大多數學員抱著平時上課無所謂,考前臨時突擊也可以拿到學分的思想,課程整體學習質量差。
軍校計算機課程教學改革的方法與策略
針對目前軍校中計算機課程教學存在的問題。筆者認為新時期在軍校可以從以下一些方面對計算機課程做出改革。
根據生源的不同進行差異性計算機課程設置
針對新生計算機水平差異性較強的現狀,因材施教,改革教學內容。一般軍校新生在入學分班的時候,同樣教育背景的學員分到一起,這樣可以根據不同的班級(專業)設置不同的計算機教學體系。高考進入軍校的學員,在第二學期統一開設50學時的《大學計算機基礎》課程,該課程學時較少,著重帶領學員鞏固熟練操作計算機、辦公軟件和計算機網絡基礎知識。而部隊生在第二學期開設60學時的《大學計算機基礎》課程,該課程學時較多,教員能夠利用充足的課時對計算機基礎知識進行系統的講解與演示,提高學員計算機、辦公軟件的熟練操作能力,掌握計算機網絡基礎知識。通過《大學計算機基礎》課程的學習,使學員能夠獨立完成對計算機的組裝、調試和維護的工作,同時差異化教學安排,基本拉平學員的計算機基礎水平。從第三學期開始,根據學員各個專業的不同,開設《程序設計基礎》、《數據庫基礎及應用》和《多媒體技術及應用》這三門課。文科類專業開設《數據庫基礎及應用》和《多媒體技術及應用》,主要培養學員熟練使用數據庫,對信息進行獲取、分析、處理、應用的能力,以及簡單的多媒體操作技術;理科類專業開設《程序設計基礎》、《數據庫基礎及應用》,著重培養學員基本的邏輯思維能力、編程能力以及項目開發的基本技能,同時具備應用計算機進行信息處理和開發管理信息系統的初步能力。差異化設置課程,能夠根據學員的基礎和專業需求進行針對性的素質培養,帶動學員的學習主動性。
加大實驗教學環節權重,加強計算機實驗室建設
計算機課程注重實踐操作,在理論教學的過程中,不斷加強實踐操作,可以設置理論與上機1:1或1.5:1的學時比例。根據理論課程,安排針對性的上機實驗內容,編寫相對應的實驗手冊,以幫助學員正視實驗課程,提高上機實驗效果。同時,計算機上機實驗,既是掌握知識的方法,又是一種勞動技能的訓練。如學員動手操作,進行打字訓練,訓練十指的擊鍵速度和雙手的互相配合能力;利用計算機建立數據表格、編排文稿、繪制圖形、編寫程序等,都是動手勞動創造的過程。使用計算機既是一種腦力勞動,也是一種需要付出體力的技能勞動。軍校學員大運動量的體能訓練較多,計算機上機實驗是一種要求高準確度的、細膩的手工技能勞動,是對軍體訓練的補充。
加大實驗教學環節權重,勢必對軍校計算機實驗室的規模具有一定的要求。因此,在計算機課程改革的過程中還需要加強計算機實驗室的建設,增加實驗室計算機數量,提高實驗室計算機配置,為學員計算機培養提供充足的硬件保障。
改革計算機課程考核模式
針對計算機課程實踐性強的特點,將課程考核設置為理論考核60%,實驗考核40%的比例。平時理論課堂設置30%的平時表現成績,主要包括課堂表現和上交作業兩部分,平時成績100分采用減分制,課堂表現差者一次扣5分,作業一次不按時提交扣5分,扣完為止。實驗上機平時表現同樣設置30%的平時成績,以100分來計算,主要包括上機表現和實驗報告冊完成情況這兩部分,上機實驗時看網頁、玩游戲發現一次扣5分,每次實驗課作業不按時完成并提交者,一次扣5分。在期末考試前,合計整體平時成績為0分者,不得參加期末考試。這樣將計算機課程平時的學習情況和學生的切身利益相聯系,促進了學生注重學習過程,認真完成實驗上機,積極完成課后作業。