前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的計算機編程技術學習主題范文,僅供參考,歡迎閱讀并收藏。
>> Java多線程編程技術的研究 基于案例驅動教學法的“計算機網絡編程技術”教學改革研究 項目驅動教學法在《Java EE Web組件編程技術》課程中的應用 基于JAVA編程技術的網絡數(shù)據分析 面向方面編程技術的研究 數(shù)控編程技術中提高尺寸精度的研究 C語言編程技術的分析研究 淺談《Delphi編程技術》的實例教學法 PLC編程技術的靈活教學與運用 芻議java編程技術在物流信息平臺的應用 探究分析JAVA語言的開發(fā)平臺及J2EE編程技術 《數(shù)控加工自動編程技術》課程的教學研究 高職JavaEE編程技術課程改革的探索與實踐 基于有效教學的《網絡編程技術》實驗教學的探索 極限編程技術在軟件開發(fā)中的重要作用研究 C#中的數(shù)據庫編程技術研究 數(shù)控機床自動編程技術中尺寸公差的研究 基于面向方面編程技術(AOP)在信息系統(tǒng)中的研究與實踐 基于模型的葉輪測量離線編程技術研究 編程技術國內市場需求的方向研究 常見問題解答 當前所在位置:l改為.jsp,即用JSP進行動態(tài)網頁開發(fā),隨后將Servelet、JavaBean、EJB等內容逐步添加進去,經這一步學習,可將動態(tài)網頁的設計與實現(xiàn)融入的系統(tǒng)開發(fā)中,使學習者掌握動態(tài)網頁的特征及相應的開發(fā)技術,了解動態(tài)網頁與靜態(tài)網頁的區(qū)別,同時進一步的熟悉JAVA編程技術在案例中的實際應用,再由此擴展到利用JDBC連接數(shù)據庫,實現(xiàn)新聞一級標題的增、刪、改、查;可以使學習者深刻理解JDBC工作原理。
最后將整合后的所有資源即為軟件部分、課件部分、視頻部分、學習文檔、練習題等幾個部分放入教學資源網站中供學習者學習。
(三)教材建設
本項目改革可先形成講義、實驗、案例、習題等教學資源資料,在此基礎上經過不斷的修改,爭取在以后形成案例驅動的Java編程技術教材。
四、案例驅動的Java編程技術教學模式改革效果
Java編程技術是計算機專業(yè)實踐性很強的專業(yè)課,經過本項目的研究與建設預期的課程效果是:學生對程序設計的興趣大大提高,從原來的被動學習變?yōu)楦母锖蟮闹鲃訉W習;同學們的實際編程能力能夠大大提高,同學們對Java編程技術會由原來的零散的知識點變?yōu)楦母锖蟮南到y(tǒng)掌握,并且能夠學以致用。
1.讓學生學到知識點在具體項目中應該如何使用,在項目中加深對Java編程技術各知識點的理解。
2.讓學生學會如何從界面設計開始動手寫一個實際項目,切實鍛煉學生的編程思維,提高學生的實際編程能力。
3.可為計算機專業(yè)其余專業(yè)課的授課模式與學習方法的改革和改進提供一定的參考。
案例驅動的Java編程技術教學模式改革,注重企業(yè)實際編程實例在高校教學中的應用,注重產學研結合;教學內容上重視就業(yè)與發(fā)展能力,重視課程內外經驗的一致性;學習過程上注重任務驅動的項目導向學習,注重學生創(chuàng)新能力的培養(yǎng);在學習方法上,注重“以學生為中心”,實行團隊式與服務式及教室與實訓一體化的學習;教學評估上注重動手能力和技能評價。會對學生的編程思維和編程技能提供一個有效的訓練平臺,為同學們后續(xù)的就業(yè)工作鋪平道路。
參考文獻:
[1]陳,耿永軍,閆洪亮.《JAVA程序設計》課程教學改革探討[J].信息系統(tǒng)工程,2010.
教學與科研相結合是培養(yǎng)高素質研究生的有效途徑。高水平的人才培養(yǎng)是通過研究生高水平的學術成果來反映的,高水平的學術成果主要源于大量的高水平的科學研究,而嚴格的教學環(huán)節(jié)在培養(yǎng)研究生扎實的學術功底、嚴肅的科學態(tài)度、創(chuàng)新性的思維,以及在產生高質量學術成果方面起到了一個關鍵的基奠作用。本文從研究生網絡課程教材體系建設中需要注意解決好的四個問題出發(fā),討論計算機及相關專業(yè)碩士研究生網絡課程教學與教材體系建設思路、教材體系建設與教學方法改革問題。
1研究生“計算機網絡”課程教學與教材體系建設的指導思想
在研究生網絡課程教材體系建設中需要注意解決好四個問題。一是課程內容的先進性與前瞻性問題;二是研究生與本科課程內容的銜接問題;三是理論教學與能力培養(yǎng)的并重問題;四是自主學習和因材施教問題。
1.1課程內容的先進性與前瞻性問題
研究生的教育必須突出“研究”,教材要能夠反映學科前沿的研究成果與發(fā)展趨勢。一本好的研究生網絡教材或教學參考書應該是:在保持網絡理論體系的基礎上,跟蹤當前技術的發(fā)展,綜述最新研究的領域、課題、方法、成果與趨勢,讓讀者能夠直接了解當前研究的前沿問題、方法、進展與趨勢。
與傳統(tǒng)的數(shù)學、物理、化學學科相比,計算機學科應用性人才培養(yǎng)的要求更高,技術發(fā)展速度更快。而在計算機學科中網絡技術的發(fā)展與知識更新的速度尤為突出。因此,保持計算機網絡課程內容的先進性與前瞻性更為重要,也更加困難。因此要很好地解決這個問題,必須將教學與科研工作緊密地結合在一起,發(fā)揮科研教學團隊的作用,以高水平的科學研究支持高質量的課程與教學體系的建設。南開大學網絡實驗室在多年來一直注意開展以下幾個方面的工作:
(1)通過科研預研工作實踐,了解當前熱點問題的研究現(xiàn)狀與進展。
(2)跟蹤美國ACM和IEEE/CS最新制定的計算機學科課程體系,重視學術交流。
(3)跟蹤和瀏覽國外知名大學教學網站,研究和了解網絡課程教學內容、教材與主要參考書,以及作業(yè)與實驗、教學方法與教學過程控制方法改革的動向。
(4)選擇國際流行教材,分析如何處理新的技術發(fā)展與教學內容的關系,梳理技術的內在關系與發(fā)展主線。
(5)跟蹤國際知名網絡設備制造商與網絡軟件公司的研究工作,以及技術認證與考試內容的變化,了解產業(yè)界對技術與人才需求的變化。
(6)參與信息化規(guī)劃與建設工作,通過與產業(yè)界、政府各級管理人員的合作,了解我國信息化發(fā)展的現(xiàn)狀與社會對網絡人才的需求。
以上工作在我們把握研究生教材內容的先進性與前瞻性方面起到了重要的指導作用。
1.2本科與研究生課程內容銜接問題
計算機及相關專業(yè)的碩士研究生一般在本科階段都修過計算機網絡課程。同時,由于學生不是來自一個學校或同一個本科專業(yè),所以學生在網絡技術方面的基礎差異很大。這個問題在研究生招生規(guī)模擴大后更為突出。教師很難在某個起點上安排教學內容。任課教師比較為難,照顧到基礎比較差的學生,基礎好的學生認為“吃不飽”;考慮到基礎比較好的學生,基礎差的學生反映“跟不上”。無論老師想什么辦法,都無法解決好這對矛盾。這是在很多大學都很普遍的問題。經過多年的實踐我們逐漸認識到:要保證教學質量,必須根據研究生培養(yǎng)目標,改變教學方法,強調“自主學習”和“因材施教”。要為實現(xiàn)學生的“研究”、“自主”學習和教師的“因材施教”創(chuàng)造條件,就必須從課程教學目標定位入手,研究本科與研究生教學一體化、理論教學與能力培養(yǎng)一體化的網絡教材體系。
1.3理論教學與能力培養(yǎng)并重問題
團隊成員通過總結多年指導研究生學位論文的體會認識到,學生的實際工作能力需要他們在參加科研項目和完成開發(fā)任務的過程中提高。在多年指導和審閱相關學科碩士與博士學位論文的過程中,導師們深刻地感覺到:有相當比例的研究生在本學科領域眼界不寬,網絡應用系統(tǒng)設計與編程能力亟待提高。如果能夠在他們準備學位論文之前認真地訓練這一方面的能力,那么他們的論文的研究深度與論文水平還能夠有較大幅度的提高。研究生能力培養(yǎng)可以通過網絡環(huán)境中的課題、大編程量的訓練來實現(xiàn)。提高網絡軟件編程的實際工作能力對于研究生今后的研究工作與就業(yè)將會有很大的幫助。而這些編程課題應該是由教學科研團隊從研究工作與開發(fā)的課題成果中提煉出來,將科研成果有選擇的轉化為“近似實戰(zhàn)”的研究生訓練課題。這種訓練對學生深入理解網絡原理與實現(xiàn)方法會有很大的幫助,對于日后的科研工作和提高學位論文質量也是很有益的。
1.4自主學習和因材施教問題
從研究生自身學習的角度應該強調“研究性”與“自主性”,學生應該變被動的“聽課、做筆記”轉向主動的、研究地學習和提高。從任課教師與導師角度應該強調“因材施教”。
從我們多年的教學經驗看,同一屆的研究生實際能力差異都很大。研究生教學更多的應該是根據不同的學生、不同的研究重點、不同的起點,有不同的訓練方案,不能沒有區(qū)別。導師的因材施教應該體現(xiàn)在:指導學生根據自己的基礎、研究方向,選擇不同類型、不同編程量,或不同的難度級的課題自主的完成訓練,循序漸進地提高實際能力。教師要做到這一點,需要做很多艱苦細致的工作和積累很多教學資料。經過10多年的積累與團隊成員的集體努力,我們初步完成了一些基礎性的工作。
研究生教材不應該僅是一本一學期使用的教科書,更應該是一本技術參考書,甚至是一本手冊。導師可以根據需要選擇教材中部分內容,作為基本的學習要求。學生學習的過程應該在導師的指導下有選擇地自學和閱讀,完成編程訓練。有些內容可能第一次僅僅是讀過和了解,如果今后科研、開發(fā)工作需要,可以再回過頭來繼續(xù)閱讀和參考。
為了適應研究生“研究性”與“自主性”學習的要求,我們設計的《計算機網絡高級教程》內容的覆蓋范圍寬,涉及當前網絡研究的多個領域;《計算機網絡高級編程技術》總的編程訓練量大,問題近似實戰(zhàn),難度差異也比較明顯。為了有利于學生自主學習,我們對每個課題都提供了入門所需要的資料、工具與實現(xiàn)方法的范例,學生可以通過自學的方式完成訓練要求。
2 《計算機網絡高級教程》教材的編寫
研究生教材體系由《計算機網絡高級教程》與《計算機網絡高級軟件編程技術》兩部相互配套的教材組成。主教材《計算機網絡高級教程》重點討論了網絡研究的最新發(fā)展與研究的熱點問題,力求達到“反映計算機網絡前沿研究成果與發(fā)展趨勢”的要求。
《計算機網絡高級教程》分12章按網絡技術發(fā)展的三條主線討論了技術的演變與發(fā)展。其中:
第1章對網絡技術研究與發(fā)展的階段、重點問題和基本概念,以及各個階段的標志性技術作了一個概要的總結。
第2章討論了廣域網(WAN)技術的演變與發(fā)展趨勢。
第3章討論了局域網技術,尤其是對高速局域網(Gigabit Ethernet與10 Gigabit Ethernet)和無線局域網(WLAN)技術作了較為系統(tǒng)地討論。
第4章討論了城域網(MAN)概念的演變,以及寬帶城域網組建技術與接入網技術。
第5章對IPv4協(xié)議近年來的發(fā)展與演變過程作了較為全面地總結和討論。
第6章對IPv6的基本內容與應用方法進行了較為系統(tǒng)地介紹。
第7章對移動IP的基本概念與關鍵技術作了系統(tǒng)地介紹。
第8章對傳輸層分布式進程通信的概念,以及TCP、UDP協(xié)議進行了系統(tǒng)地討論。
第9章對應用層協(xié)議與Internet應用系統(tǒng)設計技術進行了系統(tǒng)地討論。
第10章對無線自組網絡(Ad hoc Network)與無線傳感器網絡(WSN)、無線網格網(WMN)的概念、特點、體系結構,以及關鍵技術的研究與進展作了比較全面地總結和介紹。
第11章討論了網絡安全與網絡管理技術。
第12章對國外大學與產業(yè)界在評價研究成果時常用的網絡性能分析開源工具、網絡模擬開源工具及其應用進行了系統(tǒng)地介紹。
在準備這本書的資料和寫作的過程中,作者有兩點體會最為深刻。一是盡管Internet技術與Ad hoc網、WSN、WMN在設計目的、應用的領域與技術特點上差異很大,但是在研究方法上基本上是相通的,并且在高層又都匯集到Internet之中。二是盡管作者認真地在這個領域已經工作了20多年,但是網絡技術發(fā)展得實在是太快了,個人的研究工作與閱歷不可能涉及到各個領域。個人與團隊的研究工作也只能是限制在網絡技術中的幾個比較窄的方面,深度也十分有限。因此在系統(tǒng)地總結網絡技術領域的研究與進展時感到難度很大。盡管也經常與同行交流和請教,仍然是力不從心。但是本著對學生學習負責的態(tài)度,還是堅持完成了寫作任務。這部教材應該說是匯聚了很多人的研究心血,作者只能是將個人能夠理解的部分按照自己的思路整理出來,以便讀者學習和研究。作者試圖在相關章節(jié)的后面注明某些研究工作總結與論文的出處,以及相關的參考文獻、文檔與標準,請有興趣的讀者自己去閱讀相關的文獻與標準。
3 《計算機網絡高級軟件編程技術》教材的編寫
高素質創(chuàng)新性計算機人才應具有較強的實踐能力。社會對網絡人才的需求十分強烈。但是真正懂網絡技術,能夠具備深入到網絡協(xié)議內部的高層次網絡應用系統(tǒng)設計和網絡軟件編程能力的軟件人才是非常缺乏的,也是社會急需的高級人才。研究生要能夠做出有自主知識產權、創(chuàng)新性的成果,就必須踏踏實實地苦練內功。編著《計算機網絡高級軟件編程技術》一書,是希望對高級網絡軟件人才的培養(yǎng)貢獻一點力量。
《計算機網絡高級軟件編程技術》的特點可以總結為以下幾點。
(1) 在總結了20多年科研工作經驗與研究生教學工作實踐經驗的基礎上,構思了教材的寫作思路與全書的內容結構。
(2) 參考了國內外知名大學網絡課程訓練與著名信息技術企業(yè)在員工網絡軟件編程訓練中的相關資料與文獻。
(3) 結合了網絡技術在Internet、無線網絡與信息安全等3條發(fā)展主線,總結提煉出22個網絡軟件編程題目。
關鍵詞: C語言 教學模式 教學改革
隨著計算機科學技術的迅速發(fā)展,計算機科學技術已成為廣泛應用技術[1]。隨著目前高科技的發(fā)展,需要專業(yè)的計算機人才,程序設計技術是專業(yè)計算機人才所必備的基礎能力之一;與此同時計算機學科與其他學科的結合越來越緊密,程序設計技術已經成為高校計算機專業(yè)乃至一些非計算機專業(yè)學生的必修課程,程序設計技術課程是以某種程序設計語言為載體,使學生掌握程序設計的基本思想和方法,各個專業(yè)依據培養(yǎng)目標和具體的課程設置選擇某種程序設計語言作為授課內容。
C語言編程技術作為程序設計技術中尤為重要的一種應用語言,也是計算機課程中一門基礎的計算機程序設計技術課程。C語言以強大的功能和廣泛的應用成為高校工科院系的首選程序設計語言,不但是計算機專業(yè)的專業(yè)基礎課,而且是物理、水利建設、電子電氣、自動化控制、食品等非計算機專業(yè)的語言類基礎課;作為高校非計算機專業(yè)的主要程序設計語言課程之一,C語言在計算機等級考試中占有重要地位,既是二級備選科目之一,又是三級網絡、信息管理技術、數(shù)據庫的上機考核內容。通過這門課程的學習,不僅可使學生獲得程序設計的思想,鍛煉邏輯思維能力,而且可為后續(xù)課程的學習打下基礎[2]。
1.C語言編程技術課程現(xiàn)有課堂教學模式的問題分析
傳統(tǒng)C語言教學方式主要由理論教學和上機教學組成,首先由課程教師對C語言課程的基礎理論知識進行講解和演示,學生再進行上機實際操作,然后根據教材和實際授課情況安排一些輔學習訓練。但是C語言與其他程序設計語言比較,基礎理論知識具有比較抽象且涉及的知識點多,想要在規(guī)定學時內以常規(guī)的授課方式針對學生講授C語言的基本思想和方法,難以達到理想的效果;目前我國高校上機教學往往因為課時少及課下學生很少進行鞏固而出現(xiàn)效果差[3]。
張逸琴[4]調查發(fā)現(xiàn),大部分學生對C語言課程積極性不高、學習的主觀能動性不強,主要是因為在對于C語言在學習中不但基礎理論知識概念復雜,編程過程中規(guī)則苛刻,而且程序設計過程和算法比較抽象,在學習程序設計編程中出錯率高,編程很難掌握。但是作為高校計算機專業(yè)的主要程序設計語言課程,學生往往通過背誦完成考試,這樣培養(yǎng)出來的學生缺乏創(chuàng)新意識、邏輯思維能力、自學能力和研究能力。
2.C語言編程技術課程的實踐教學模式改革
對于目前社會高科技需求的計算機人才,熟練掌握C語言的應用比掌握復雜的理論更有實際意義。因此,在教學中我院非常重視教學方法和手段的改革,根據不同的教學內容采用不同的教學方法和手段,打破傳統(tǒng)教學模式的缺陷和局限,調動學生學習C語言的主動性和積極性[5]。
2.1現(xiàn)代化教學手段
現(xiàn)代化教學手段是利用多媒體和網絡技術,能夠以聲音、視頻、圖形、語言等直觀生動形象的形式,使課堂呈現(xiàn)多樣性、新穎性、趣味性、直觀性,能夠激發(fā)學生的學習興趣,調動學習積極性。我在教學過程中通過PPT演示文稿、系統(tǒng)演示、案例分析和討論等方式進行理論教學;通過網絡教學平臺進行教學資源、自主學習、在線測試、提交作業(yè)等形式進行網絡輔助教學。
2.2案例驅動教學法
在課堂上采用“案例驅動”的教學方式,用“案例”引出相關知識點,課堂上圍繞一個“案例”展開相關教學,然后對此“案例”項目進行拓展訓練和對案例的學習進行總結與回顧。最后讓學生實現(xiàn)案例中的相應功能,課后學生再完成課后案例中對應的功能。
在案例教學方式中,可以對“案例”稍作修改加強學生對程序的各項參數(shù)的學習;所用的案例可以重復使用,從而進一步加強學生的學習;在案例教學方式中要把重點、典型的框架和算法的要點進行提取并進行單獨多練、多講學習。
2.3分組教學
課程中將學生分為若干學習小組,每組4―6人,每組組內自己解決問題,組內在學習過程中相互幫助,共同提高,組間相互借鑒,互有競爭,最后匯總所有解決方案。對比出最優(yōu)的解決方案向其他同學介紹。課堂討論以小組為單位,提出本組的意見或解題辦法,可以充分調動學生學習編程設計的積極性,調動大家發(fā)現(xiàn)新方案,培養(yǎng)學生的創(chuàng)新意識和協(xié)作意識,激發(fā)學生對C語言的學習興趣,增強學習的主觀能動性。
2.4學生示范教學法
課程后教師可以布置練習題目檢測學生對教學知識的理解和掌握程度,學生因缺少監(jiān)督及自覺性,常常會借助互聯(lián)網、書本等其他途徑尋找練習題目答案,而不是通過獨立思考完成。鑒于這樣的情況,可以安排少量課時講解題目實施“學生示范教學法”。在“學生示范教學法”中可以讓一個同學上臺講所設計的編程,學生設計編程會展現(xiàn)給全體同學,在設計的編程展現(xiàn)過程中出現(xiàn)的錯誤,教師可以及時改正、更正、講解,并且介紹避免此類編程錯誤的技巧和方法。
3.結語
為了適應現(xiàn)代社會人才需求,在課堂教學中幫助學生掌握C語言的基本方法和理論并將其融入今后的專業(yè)學習之中,必須對C語言課程的課程體系和教學方法進行改革。改革傳統(tǒng)的C語言課程體系,引入適合學生的教學手段和方法,理論和實驗相結合,任務和案例相結合,培養(yǎng)學生的程序設計思維能力和計算機程序設計動手能力。通過C語言課程的學習使學生初步掌握和了解結構化程序設計原理,運用C語言的基本要素進行基本的結構化程序設計,掌握利用計算機解決問題的基本思路和方法,能夠解決專業(yè)學習遇到的相關問題。在本院和老師的努力下,一定能將這門課程講授好,為社會不斷培養(yǎng)高能力的計算機人才。
參考文獻:
[1]孫玉霞.基于教育心理學的C語言教學探討[J].湖北師范學院學報(自然科學版),2011,01:105-108.
[2]劉彩虹,郭政,于建海,王錦.C語言教學探討[J].信息與電腦(理論版),2011,02:113.
[3]鄧松,何火嬌,彭瑩瓊.C語言教學改革探討[J].計算機教育,2008,16:55-56.
1、《C語言程序設計》:講述了C語言的基本概念、各種數(shù)據類型的使用技巧、程序流程控制、數(shù)組、函數(shù)、指針以及有關程序設計的方法等內容。是計算機專業(yè)和非計算機專業(yè)的一門技術基礎課程,也是程序設計的啟蒙語言課程。通過本課程的學習,使學生更好地了解和應用計算機,培養(yǎng)學生應用計算機獨立解決問題的能力。
2、《編程技術》:本書詳細的敘述了編程的初學者應該掌握的事項與技巧。
3、《代碼大全》:從軟件質量和編程思想等方面論述了軟件構建的各個問題,并詳細論述了緊跟潮流的新技術、高屋建瓴的觀點、通用的概念,還含有豐富而典型的程序示例。
(來源:文章屋網 )
關鍵詞:網絡工程專業(yè);網絡程序設計課程;教學內容
截至2008年,我國已經有143所高等學校開設了網絡工程本科專業(yè),其中大學類高校89所,“211”大學21所,學院類高校54所,高校所在地覆蓋全國26個省和直轄市[1]。網絡工程專業(yè)培養(yǎng)的是具有良好科學素養(yǎng),系統(tǒng)地掌握網絡工程技術的基本理論、方法與應用,有較強的獲取新知識的能力、創(chuàng)新能力和實踐能力,能從事網絡工程及相關領域中的系統(tǒng)研究、設計、運行、維護和管理的高級工程技術人才。因此,該專業(yè)不僅要求學生掌握與網絡工程相關的基礎知識與理論,以及各種網絡系統(tǒng)設計、建設與維護技術,如網絡協(xié)議體系、網絡互連技術、網絡服務、信息安全、組網實踐、網絡測試與管理等相關知識,也要求學生掌握基本的網絡應用軟件與系統(tǒng)開發(fā)知識與技術,滿足畢業(yè)生在今后的工作與學習過程中的多元需要。
為了讓網絡工程專業(yè)的學生掌握一定的網絡應用軟件與系統(tǒng)開發(fā)知識,很多高校都開設了網絡程序設計或網絡編程課程。然而,由于網絡工程專業(yè)在大多數(shù)高校的開設時間不長,相關任課教師對網絡程序設計課程的教學還缺乏足夠的經驗,因此對教學活動中的一些基本問題,如課程內容設置與學時分配、實踐環(huán)節(jié)內容與安排等還缺乏統(tǒng)一的認識[2-3]。本文依據網絡工程專業(yè)的培養(yǎng)目標,結合我們在教學過程中
的體會,對該課程教學活動中的基本問題進行了初步探討,闡述了作者對這些問題的理解和認識。希望本文能引起更多同行對網絡程序設計課程的關注,從而盡快提高該課程的建設水平。
1教學目標與特點
1.1教學目標
根據網絡工程專業(yè)的培養(yǎng)目標,我們認為網絡程序設計課程的教學目標是讓學習者了解網絡程序設計的基本概念和常用的網絡編程接口,理解網絡程序設計的基本原理,掌握基本的網絡程序設計模型,同時具備進一步學習新的網絡編程知識與技術的能力。網絡工程專業(yè)的網絡程序設計課程應重點教授基于網絡編程接口的網絡程序設計基礎知識,為后續(xù)使用和開發(fā)網絡應用系統(tǒng)打下基礎。有別于信息管理類專業(yè)面向Web的網絡程序設計,本課程的中心內容是基于操作系統(tǒng)套接口的客戶/服務器程序開發(fā)技術。
1.2課程特點
程序設計課程對計算機類專業(yè)的學生來說并不陌生,但其多針對具體的程序設計語言,以學習某種程序設計語言的基本語法和用法為主。網絡編程接口在本質上與編程語言無關,因此網絡程序設計與以前
作者簡介:紀其進(1974-),男,講師,工學博士,研究方向為計算機網絡與多媒體通信;朱艷琴 (1964-),女,教授,工學博士,副院長,研究方向為計算機網絡與信息安全。
的程序設計課程并不相同。網絡應用程序具有以下兩方面的主要特點:
1) 程序結構較為復雜。網絡程序至少涉及客戶端與服務器兩方面,且需要雙方協(xié)同配合,因此程序的結構和邏輯都比較復雜。
2) 網絡程序設計對操作系統(tǒng)知識和網絡知識的依賴性很強。比如,多線程技術是避免程序在交互過程中發(fā)生阻塞的基本手段,因此開發(fā)者至少需理解操作系統(tǒng)的進程與線程的概念及多線程程序設計技術。再如消息驅動是Windows系統(tǒng)的基本機制,Windows網絡應用程序開發(fā)也需要理解消息驅動機制。利用網絡接口編程需要理解底層網絡協(xié)議,特別是與網絡接口直接相關的運輸層協(xié)議知識。
2內容設置與學時分配
運輸層以下的網絡協(xié)議功能在操作系統(tǒng)內核中實現(xiàn),或利用系統(tǒng)應用編程接口(API),通過專業(yè)的函數(shù)庫實現(xiàn)[4]。盡管IEEE已經制定了網絡編程的接口標準,各操作系統(tǒng)通常也支持標準接口,但一般會結合系統(tǒng)自身特點,對標準接口進行修改或擴展。因此,實際網絡編程接口實現(xiàn)與操作系統(tǒng)密切相關。當前,Windows系統(tǒng)占據了工作站(含臺式機)與小型服務器市場的主要份額,Unix系統(tǒng)(含Linux)則在服務器特別是大型服務器市場中仍然占據主導地位??紤]到學生畢業(yè)后的實際工作情況,接觸Windows系統(tǒng)的機會應該更多。因此,教學內容選擇的指導思想是以Windows平臺網絡編程接口為主,同時兼顧標準網絡編程接口。
網絡程序設計是網絡工程專業(yè)的一門骨干專業(yè)課程,教學內容較豐富,實踐性要求高。根據網絡程序設計課程的教學目標和特點,我們?yōu)樵撜n程安排了以下課堂教學內容:
第1章 網絡程序設計基礎知識。本章介紹網絡編程相關的基本概念和知識,內容包括網絡程序設計概念、進程與線程的基本概念、TCP/IP協(xié)議及其在操作系統(tǒng)中的實現(xiàn)、基于客戶/服務器模式的網絡應用程序模型等。
第2章 基于Berkley套接口的網絡程序設計。Berkley套接口是事實上網絡編程接口標準,它出自于Unix系統(tǒng),Windows系統(tǒng)也盡可能地與之兼容。本章重點闡述Berkley套接口的基本用法,包括套接口編程的基本概念、面向連接的套接口編程、無連接的套接口編程及原始套接口編程等。
第3章 Windows程序設計基礎。在Windows平臺上進行網絡程序設計離不開Windows系統(tǒng)編程知識。本章介紹Windows編程的基礎知識,包括Windows操作系統(tǒng)的基本原理、Windows API的實現(xiàn)機制與調用方法及Windows消息機制。
第4章 Winsock網絡編程接口規(guī)范。Winsock是Windows系統(tǒng)中的套接口實現(xiàn),經歷了Winsock1.1到Winsock2.2版本的發(fā)展。本章在第3章的基礎上全面介紹Winsock網絡接口規(guī)范及其使用,包括Winsock1.1及Winsock2.2的擴展能力。
第5章 基于MFC 套接口類的程序設計。MFC利用面向對象技術,對基本的Windows API進行了封裝。Winsock編程接口的主要功能被封裝成為CAsyncSocket和CSocket兩個類。本章將通過實例說明這兩個類的用法。
第6章 Windows多線程網絡編程技術。多線程可以避免網絡應用程序被某個調用阻塞。本章介紹多線程技術的必要性、Windows系統(tǒng)的多線程機制、MFC對多線程的支持及多線程機制在網絡編程中的應用等。
第7章 Winsock編程接口I/O模型。支持異步網絡程序開發(fā)是Windows系統(tǒng)的特色,為此Winsock引入了5種I/O模型實現(xiàn)非阻塞的套接口工作模式。本章分別介紹5種異步I/O模型的原理與使用。
第8章 Winsock編程接口選項與I/O控制命令。套接口選項和I/O控制命令是在套接口建立以后對其各種屬性進行操作。本章介紹Winsock編程接口的基本選項及主要I/O控制命令的用法。
第9章 網絡程序設計實例。網絡編程技術具有很強的實踐性,學習與分析實例可以更好地理解基本知識與技術。本章通過講解分析實例中的各種網絡編程技術鞏固前面所學的知識,為以后的綜合應用打下基礎。
本課程重在教授網絡編程的基礎知識與技能,內容選擇主要是為了滿足教學需要,而非求全求深。因此,部分網絡編程相關知識沒有在課程中出現(xiàn),如Winsock對網絡服務質量的支持、IPv6版本套接口等。
本課程的重點內容在第3~6章。其中第3章是整個網絡編程的基礎部分,而第4章和第5章則包括了Windows平臺下網絡程序設計的基本知識,第6章的多線程技術是無阻塞同步網絡編程的基本技術。第7、8兩章內容與操作系統(tǒng)關系較密切且較抽象,是課程的難點。我校為該課程安排64 學時,其中理論講授48學時,實驗教學16 學時。根據重點難點內容分析結果,我們按表1分配課堂教學學時。
3課程實踐環(huán)節(jié)
3.1實踐環(huán)節(jié)的必要性
傳統(tǒng)的網絡課程教學方法多以講授計算機網絡基礎理論為主、少量的驗證性實驗為輔。網絡程序設計本身是一門實踐性非常強的課程,對引導學生掌握最新的網絡編程技術,培養(yǎng)學生的動手能力、協(xié)作精神和創(chuàng)新能力都具有重要作用。在學生學習過程中,如不注重理論和實踐緊密結合,則不僅所學基本知識難以得到深入理解和鞏固,更不能將其靈活運用于解決新的問題。因此,教師在系統(tǒng)講述網絡編程基礎知識的同時,要充分調動學生的主動性,認真完成網絡編程實驗的教學。
3.2教學組織與學時分配
實驗是基本的實踐教學手段。通過實驗教學,學生可以更快地實現(xiàn)從概念理解到實際編程能力的轉變。每次實驗前,教師首先講解實驗的設計目標、要求和所需的編程技術,要求學生做好充分的準備工作,進行初步的需求分析和程序設計。在實驗過程中,教師通過解答學生提出的需求分析、設計與實現(xiàn)問題,為學生提供幫助。實驗結束后,學生需按一定的格式規(guī)范按時提交實驗報告;教師通過實驗報告檢查和評價學生的實驗質量。如有條件,可組織學生對實驗結果進行簡短的討論,讓學生總結和分析自己的實驗體會。
我們根據網絡程序設計課程的教學大綱和實驗大綱制定了實驗計劃。實驗包括驗證型、設計型和綜合型實驗三種。驗證型實驗主要讓學生理解所學的網絡編程知識,通過重復課堂示例掌握某一項網絡編程技術。設計型實驗需要學生利用某一項網絡編程技術,根據具體問題要求設計并實現(xiàn)一個網絡應用程序。綜合性實驗需設計并實現(xiàn)一個相對復雜的網絡應用程序,其中需用到多種網絡編程知識和技術。全部實驗內容包括Berkley套接口編程實驗,Winsock套接口編程實驗,利用原始套接口進行PING 程序的設計及實現(xiàn),基于MFC套接口類的網絡編程,電子郵件程序的設計與實現(xiàn)(SMTP客戶端、POP3 客戶端程序)或FTP客戶端實現(xiàn)及聊天室軟件的設計及實現(xiàn)。實驗報告與其他課程基本類似,有相應的實驗題目、實驗目的與要求、實驗步驟和實驗結果等內容。實驗結果要包括實驗過程中的問題分析、解決方式及心得。表2總結了實驗的內容與學時分配計劃。
有條件的學校還可以集中1周左右的時間進行課程設計。課程設計以課程教學內容為基礎,實現(xiàn)一個具有一定規(guī)模和實用價值的網絡應用系統(tǒng)。課程設計對所學的理論知識及實驗中所學的各種方法與技巧進行綜合性應用,對培養(yǎng)學生綜合分析能力、編程動手能力具有重要作用。課程設計報告包括系統(tǒng)需求分析、功能設計及各模塊詳細設計等,類似于計算機類畢業(yè)設計論文格式。
4結語
網絡工程專業(yè)是近年來為滿足社會信息化需求而出現(xiàn)的相對較新的專業(yè)。該專業(yè)目前還沒有一個明確的規(guī)范,開設該專業(yè)的各個院校對某些課程的教學尚缺乏統(tǒng)一的認識。本文以該專業(yè)的培養(yǎng)目標為依
據,結合個人教學過程中的體會,探討了網絡工程專業(yè)網絡程序設計課程的基本問題。文中討論了該課程的教學目標與特點,給出了具體的課程內容設置和實踐環(huán)節(jié)安排建議,希望對完善網絡工程專業(yè)以及網絡程序設計課程建設具有一定的借鑒意義。
參考文獻[ 規(guī)范格式]:
[1] 劉悅,張遠,賈忠田. 高等學校網絡工程本科專業(yè)的科學規(guī)范探討[J]. 計算機教育,2008(4):120-121.
[2] 王一飛,吳素芹. 網絡編程技術課程教學研究與探索[J]. 科技信息,2008(34):20.
[3] 馮健昭,肖德琴. 網絡編程教學改革探索[J]. 現(xiàn)代計算機,2009(8):69-70.
[4] 葉樹華. 網絡編程實用教程[M]. 2版. 北京:人民郵電出版社,2010.
Discussion on Network Program Design for Students Majoring in Network Engineering
JI Qi-jin, ZHU Yan-qin
(School of Computer Science and Technology, Soochow University, Suzhou 215006, China)
關鍵詞:數(shù)據結構;建構式教育理論;理論教學;實踐教學
近年來,在產業(yè)界急需大量軟件開發(fā)人員的情況下,普通本科院校計算機專業(yè)學生的就業(yè)率持續(xù)走低。網絡、報紙等媒體對計算機本科教育現(xiàn)狀多有批評,甚至出現(xiàn)了大學不如培訓公司的極端觀點,嚴重影響了學生對專業(yè)課程的學習興趣、動力和信心。數(shù)據結構是計算機專業(yè)的核心基礎課程,上承程序設計語言、離散數(shù)學,下啟操作系統(tǒng)、編譯原理等課程,其重要性不言而喻。一方面,數(shù)據結構學科具有難度大、抽象層次高、概念繁雜等特點,學生很難掌握,更不要說將抽象理論與就業(yè)實踐需求相結合。另一方面,國內主流數(shù)據結構教材和相應的傳統(tǒng)教學模式側重于培養(yǎng)學生的計算機學科基礎理論素養(yǎng),而將如何通過組織數(shù)據結構教學活動積極推動就業(yè)的問題留給了任課教師[1]。這造成了學生學習數(shù)據結構的目標不明、信心和動力不足。筆者面向就業(yè)需要明確了數(shù)據結構的兩大主要教學目標,并在實際教學過程中實踐建構式教育理論,嘗試解決學生對專業(yè)認識不清、學習興趣不足、編程基礎薄弱等問題。一些做法得到了學生的認可和配合,成功地激發(fā)了學生的學習主動性、在一定程度上培育了學生的創(chuàng)新精神。
1面向就業(yè)需求的數(shù)據結構教學目標
教育要服務于社會生產需求。數(shù)據結構教學也必須緊扣這一根本目標。本節(jié)從滿足就業(yè)需要的角度闡明了數(shù)據結構教學的兩個主要目標:
1) 培養(yǎng)超越具體程序設計語言技巧的編程技術。
現(xiàn)階段是一個傳統(tǒng)的生產生活方式迅速向電子化、信息化轉變的時期。人們需要開發(fā)和維護更多、規(guī)模更大的計算機系統(tǒng)來滿足生產和生活的需要[2]。這就決定了具有熟練編程技術的程序員在很長時期內都將受到產業(yè)界的青睞。大學對學生編程技術的培養(yǎng)始于程序設計語言的教學,如C語言,Java語言等。但是現(xiàn)今編程語言繁多,各種新概念層出不窮,常常出現(xiàn)學生無所適從或者質疑某門語言課程已經過時無用的現(xiàn)象。甚至很多教師也在爭論講授何種編程語言。筆者看來掌握編程技術(而不僅僅是語言),回歸編程的本質問題更加重要,無謂地追趕時髦不可取。作為編程語言課程的后續(xù),數(shù)據結構教學的重要目標就是幫助學生理解編程的本質、鍛煉編程技術以及學習提高編程技術的方法。
2) 培養(yǎng)圍繞復用的軟件開發(fā)方式。
隨著軟件規(guī)模的日益增大,軟件開發(fā)模式逐漸從“從無到有”的模式過渡到“從有到有”的模式,即復用現(xiàn)有的豐富的軟件資產,開發(fā)新的應用系統(tǒng)。事實上,復用的思想已經被廣泛的用于軟件開發(fā)實踐之中,從各種各樣的程序庫、軟件開發(fā)包、軟件構件、Web服務等各種可復用資產已經簡化了軟件開發(fā)的難度、提高了軟件開發(fā)的效率也極大地改變了軟件開發(fā)的模式。數(shù)據結構學科本身就是對軟件復用思想的一種實踐,它通過總結大量軟件系統(tǒng)中反復出現(xiàn)的數(shù)據結構(如表、樹、圖、集合等),定義和實現(xiàn)處理這些數(shù)據結構的基本操作,最終達到能夠在不同項目開發(fā)中反復應用的目的。這些基本數(shù)據結構和算法已經被實現(xiàn)為可復用的產品隨著程序設計語言,如C++ STL、C# collections, Java collections等,并得到了廣泛的使用。因此,數(shù)據結構教學的另一個重要目標就是引導學生習慣圍繞復用的軟件開發(fā)方式,能夠使用和定制已有的數(shù)據結構和算法庫。
其他傳統(tǒng)的數(shù)據結構教學目標,如培養(yǎng)學生面向實際問題進行算法設計和分析的能力,培養(yǎng)學生計算機學科的基本理論素養(yǎng)和思維方式等也非常重要。但普通本科院校學生對理論內容的接受能力以及將理論和現(xiàn)實就業(yè)需求相聯(lián)系的能力相對較弱且教學時間有限[3],筆者認為重點突破本節(jié)給出的兩個更具體、更可達的教學目標,并在實現(xiàn)這種具體教學目標的過程中潛移默化地培育學生的計算思維和理論素質,將會取得更佳的效果。
2建構式數(shù)據結構教學
教學理論研究以及教學實踐反饋均表明,學生主動學習的效果遠較被動地接受老師灌輸?shù)男Ч玫亩唷R虼?,為實現(xiàn)上述教學目標,在建構式教育理論的指導下,筆者探索并采用了一系列建構式教學措施,激發(fā)學生的主動性和興趣,取得了較好效果。
建構主義認為,學習并非學習者對教師所授知識的被動接受,而是學習者以自身已有知識和經驗為基礎的主動建構過程[4]。知識不僅是通過教師傳授而得到,更是學習者在一定的情境中,利用必要的學習資料,通過同化新知識、順化自身知識結構的方式而獲得。建構主義提倡在教師指導下的、以學習者為中心的學習,也就是說,既強調學習者的認知主體作用,又不忽視教師的指導作用,教師是意義建構的幫助者、促進者,而不僅僅是知識的傳授者與灌輸者。學生是信息加工的主體、是意義的主動建構者,而不僅僅是外部刺激的被動接受者和被灌輸?shù)膶ο?。下面從理論教學和實踐教學兩個方面介紹我們采用的一些教學措施。
2.1理論教學措施
課堂教學是數(shù)據結構教學活動的主要部分,充分利用課堂教學時間,激發(fā)學生學習數(shù)據結構的興趣和信心,幫助學生建立學習數(shù)據結構的環(huán)節(jié)非常重要。我們采用了如下措施:
1) 組織小型討論。
好的開始是成功的一半,好的課堂教學須在上課之初就抓住學生的注意力,讓學生帶著輕松、愉快的心情聽課。我的做法是在課堂的前5分鐘,提出一個學生感興趣的話題,組織若干個有3~5位同學參與的小型討論。到一個學期結束時,每位同學都有至少一次的發(fā)言機會。討論的主題可以靈活設置,如時事、技術、社會熱點等。有時,課堂中間學生比較疲憊、注意力下降的時候,也可以穿插一點討論,改善課堂環(huán)境。大多數(shù)學生非常喜歡這種討論活動,積極參與其中,成為課堂的一部分,從被動上課轉變?yōu)橄矚g上課。
2) 重建理論知識所針對的問題。
國內的經典數(shù)據結構教材側重嚴謹?shù)睦碚?,較少討論各種概念、算法出現(xiàn)的背景以及探討的問題是否仍然具有現(xiàn)實價值。而回答這些問題能夠幫助學生重建理論知識所針對的問題原型,重現(xiàn)解決方案的提出、發(fā)展乃至最終成熟的整個過程,更有助于培養(yǎng)學生解決實際問題的能力,養(yǎng)成批判性、創(chuàng)新性思考的習慣。眾所周知,關于樹的存儲方法很多,有雙親表示法,孩子表示法和二叉鏈表表示法[5],其中以樹的二叉鏈表表示法使用最廣,但其他存儲方法也有其適合的應用。例如,在利用樹表示各個集合,求集合中的等價類時,雙親表示法更為合適。每一個集合都用樹的雙親表示法存儲時,并設樹的根結點的值為集合名,集合中的每個成員都對應一個結點,這樣很容易找到一個元素所屬的子集(順著雙親指針找樹的根結點)。
3) 組織“我來講”活動。
數(shù)據結構涉及很多抽象的概念和算法,初學者很難理解。而教師則對理論內容比較精熟,常常傾向于從理論的角度逐步遞進、展開講解,這就增加了學生的學習難度。教師和學生在教學語言上的鴻溝是影響教學效果的一個重要障礙。教師當然可將抽象的理論概念與生活中更形象的概念進行類比,幫助學生理解,也可以將復雜的算法過程用多媒體動畫模擬出來,直觀地展示給學生,幫助學生掌握。但一方面,根據建構主義理論,教師和學生的知識背景不同,由教師設計概念類比語境和算法模擬動畫實際上仍然是基于教師的知識結構對知識點進行的同化和順化,而不是對學生知識體系的直接建構。另一方面,教師的經驗和智慧有其局限性,未必總能夠找到最適合的類比語境和動畫模擬。為此,筆者采用了充分發(fā)揮學生智慧的方法,組織“我來講”活動,要求學生通過設計算法的動畫模擬,創(chuàng)建概念的類比語境等方式進行學習,并隨機選擇學生走上講臺對抽象理論概念和復雜算法進行說明。這樣不但能夠調動學生思考問題,還能幫助那些無法完成自我知識體系建構的同學從學生的視角去理解同一個問題。例如,對于n維數(shù)組是元素為n-1維數(shù)組構成的線性表這一遞歸的類型定義,可采用符號推理的方式,培養(yǎng)學生的理論素養(yǎng),而同時可鼓勵學生根據自己的理解將抽象理論具體化,建立幫助理解和記憶的現(xiàn)實語境。
2.2實踐教學措施
數(shù)據結構是幫助具有基本編程語言基礎的學生錘煉編程技術的關鍵課程。它揭示了程序設計的基本面,即如何處理相互之間存在一種或多種數(shù)據關系的數(shù)據元素所構成的集合、如何設計算法并分析算法的優(yōu)劣。若沒有相應的配套實驗指導學生如何將理論應用于實際問題,只是泛泛而談、紙上談兵,學生容易迷失在數(shù)據結構的一連串復雜概念和算法之中,而不知道學習數(shù)據結構的意義何在。為實現(xiàn)教學目標,筆者鎖定實驗內容設置和實驗考核等兩個關鍵環(huán)節(jié),實踐了如下措施,取得了較好效果。
2.2.1實驗內容設置
實驗內容設置是進行實踐教學的最重要部分。從覆蓋知識點的角度看,實驗內容須面向數(shù)據結構教學目標,即實驗內容須能夠鍛煉學生的編程技巧,如算法設計、調試、測試以及調優(yōu)等能力,還能夠讓學生體會到圍繞復用開展軟件開發(fā)的威力以及思路。從覆蓋教育對象的角度來看,實驗內容須面向大多數(shù)同學并充分考慮優(yōu)秀同學,即實驗內容須劃分不同的層次,讓大多數(shù)學生能夠很容易入手,并讓有能力、有余力的學生能夠不斷地深入,直至形成綜合型課程設計。
基于以上考慮,并借鑒同行經驗,筆者開展三個層次的實驗教學活動,一是要求所有學生都完成的實驗內容,要求學生采用不同的數(shù)據結構實現(xiàn)同一個問題并進行對比分析,例如,分別使用靜態(tài)數(shù)組和動態(tài)分配的連續(xù)內存區(qū)實現(xiàn)順序表,使用整型、字符型數(shù)組或者鏈表實現(xiàn)長整數(shù)的乘法,使用帶頭結點或不帶頭結點的循環(huán)鏈表模擬約瑟夫環(huán)等;二是組織程序設計競賽,讓部分學有余力的同學能夠在算法設計、程序實現(xiàn)和調試、優(yōu)化等方面得到鍛煉和提高;三是設計綜合型課程設計鍛煉學生解決問題的綜合能力,并通過適當分組,培養(yǎng)學生團隊協(xié)作精神和能力,鍛煉學生解決問題的綜合能力的目標,最終達到以點帶面全面提高學生能力的目的。
2.2.2實驗考核手段
考核手段在教學環(huán)節(jié)中至關重要??己耸侄问菍W生學習和鍛煉自身能力的風向標。為保證每位同學都能積極完成實驗并有所收獲,避免抄襲和敷衍的現(xiàn)象,筆者采取了綜合型的考核手段。其一,提交實驗成果,即程序及其運行結果;其二,記錄實驗過程、分析實驗結果以及總結實驗得失的實驗報告,對實驗報告進行選優(yōu)講評,培養(yǎng)學生撰寫科學實驗報告的能力;其三,每位同學必須面向教師講解自己編寫的程序,包括主要思路和細節(jié)性語法,優(yōu)秀的同學可走上講臺宣講自己的實驗方案和程序設計技巧。這就基本杜絕了學生相互之間抄襲程序和實驗報告的現(xiàn)象,使得學生真正能夠思考問題,并盡力動手完成實驗。綜合上述三種手段的綜合型考核方法既能夠達到督促大部分同學完成實驗、鍛煉動手能力目的,又能夠達到培養(yǎng)優(yōu)秀同學的目的。特別地,優(yōu)秀同學宣講活動能夠使學生觀摩到如何從學生的視角從無到有的解決問題的過程,這能夠培養(yǎng)學生解決實際問題的信心并激發(fā)其學習積極性。
3應用中遇到的問題
建構式教學模式在應用和推廣過程中遇到的主要問題來自三個方面。其一,目前學生的課業(yè)負擔較重,習慣于被動“填鴨”而不習慣于主動“求索”,這是推動和開展建構式教學模式的主要障礙。其二,建構式教學活動,需要師生的密切交流,但現(xiàn)有師資不足難以滿足實際需求。一個可能的解決方法是綜合多門課程和多個老師,建構整體的知識框架和學習體系,避免課程教學中的重復勞動,提高師資的利用率。另一個可能的解決方法是利用互聯(lián)網技術,建立在線教學園地。其三,建構式教學模式仍然處于探索階段,各學科缺乏建構式教學素材。從筆者在實踐教學的體驗來看,應盡量從學生的學習背景和能力成長規(guī)律出發(fā)而不僅僅是從學科背景出發(fā),為學生建構知識體系設計更平滑的路線。
4結語
筆者提出將“培養(yǎng)超越具體程序設計語言技巧的編程技術”和“培養(yǎng)圍繞復用的軟件開發(fā)方式”作為普通本科院校的數(shù)據結構教學目標,在建構式教育理論的指導下,設計并實踐了一系列建構式教學措施,分析了應用建構式教學模式所遇到的一些問題。
未來將開展兩個方面的工作。一是通過問卷調查、統(tǒng)計分析等手段定量地分析建構式教學方法的實際效果;二是創(chuàng)造和積累建構式教學素材,如研究數(shù)據結構課程設計過程中不同類型學生的知識建構路線,挖掘并推廣其中優(yōu)秀的知識建構方法。
參考文獻:
[1] 教育部高等學校計算機科學與技術教學指導委員會. 高等學校計算機科學與技術專業(yè)發(fā)展戰(zhàn)略研究報告暨專業(yè)規(guī)范(試行)[M]. 北京:高等教育出版社,2006:8-101.
[2] 蔡敏,鄭尚志,梁寶華.“數(shù)據結構”課程教學改革之我見[J]. 計算機教育,2009(4):50-51.
[3] 揭安全,李云清,楊慶紅,等. 項目教學模式指導的“數(shù)據結構與算法”教學改革[J]. 計算機教育,2008(22):21-23.
[4] 郝長勝,賈茹. 運用建構主義理論構建程序設計基礎的新型教學結構[J]. 計算機教育,2007(1):24-25.
[5] 嚴蔚敏,吳偉民. 數(shù)據結構(C語言版)[M]. 北京:清華大學出版社,2008:135-136.
Application of Constructivism Theory in Data Structures
SUN Lianshan, ZHAO Xiao
(College of Electrical and Information Engineering, Shaanxi University of Science & Technology, Xi’an 710021, China)
[關鍵詞]模擬列車;控制系統(tǒng);開發(fā);應用
[中圖分類號]U284 [文獻標識碼]A [文章編號]1005-6432(2014)27-0128-02
當下,計算機技術廣泛應用于社會生產各個領域,在最近幾年飛速發(fā)展的高鐵產業(yè),計算機也在其中扮演著舉足輕重的角色,計算機技術給高速鐵路的發(fā)展注入了新的活力,極大地提升了高速鐵路的發(fā)展速度,而計算機技術上的一個漏洞也曾經給高鐵的運行帶來過毀滅性的后果,我們的項目就是實現(xiàn)計算機對模擬列車的控制,從而可以在線下模擬列車的運行,讓公眾在校園以及博物館就可以接近全真地觀察、了解列車的運行,而模擬列車系統(tǒng)中開發(fā)的實驗運行方案同樣可以服務于真實的列車,從而節(jié)約成本,進一步加快高速鐵路發(fā)展速度,提升高速鐵路運行效率。
1 模擬列車控制系統(tǒng)概況
我們的模擬系統(tǒng)是基于美國的Digitrax公司提供的硬件設備基礎上進行開發(fā)的,依托于美國鐵路列車模型1997年標準的Loconet協(xié)議框架進行設計的。通過對該套設備零件包括列車、信號燈、軌道、道岔等共200多個,我們利用計算機對其進行逐一編號,從而可以實現(xiàn)對它們的單個控制,同時也可以分別接受各個設備向計算機傳輸?shù)男盘枴N覀儗F(xiàn)實中的列車運行的真實場景搬到了系統(tǒng)平臺上,通過計算機使各個獨立設備建立聯(lián)系,從而可以實現(xiàn)道岔自動扳動,信號燈根據相應區(qū)間信號來自動進行顏色變化等設備關聯(lián)性變化,完成對現(xiàn)實列車運行的全真模擬。
2 系統(tǒng)的創(chuàng)新性主干控制技術
我們軟件編程語言主要用了C#,Java和C語言。主要用到的軟件編程技術有多線程技術,xml解析技術,Socket網絡通信技術,串口編程技術。為了提高系統(tǒng)的互動性,我們還加入了Android技術。可以利用手機與列車互動。除了這些基本技術之外,我們還應用了一些在模擬控制系統(tǒng)領域較為先進的技術。
2.1 Loconet串口協(xié)議
Loconet是一種以太網協(xié)議,是美國鐵路列車模型于1997年提出的標準協(xié)議框架,通過Loconet我們就可以把模擬系統(tǒng)平臺上的所有設備通過網絡的形式結合起來。
2.2 DCC數(shù)位列車控制
DCC列車數(shù)位控制原理是對軌道分別加一個直流電壓和一個交流電壓。直流電壓用來為列車供電,為列車亮燈、運行提供能源及動力。而交流電壓是用來給列車傳遞信號的,不同的交流電壓會被列車模型翻譯為不同的指令,從而實現(xiàn)對列車的控制。這樣做的好處就是可以同時對多輛列車進行逐一的控制,為每輛列車提供個性化運行方案。
我們的實驗設備,是將這兩種技術結合在一起,實現(xiàn)列車運行模擬的高精度仿真。
2.3 Socket通信技術及Andriod技術
我們利用Andriod技術開發(fā)出在手機里的控制程序,再通過Socket通信技術將手機入網,實現(xiàn)手機對列車模擬系統(tǒng)的操作。
3 自主開發(fā)的人機友好界面及設備
3.1 可實時反應軌道狀態(tài)的檢測界面
在模擬列車運行的過程中,我們的計算機可以實時地接受軌道系統(tǒng)返回的信號,從而檢測軌道的情況,包括列車所在區(qū)間段,各個信號燈的顯示狀態(tài),以及道岔的扳到位置。及時搜羅系統(tǒng)信息并反饋給操作人員,便可以隨時根據軌道情況調整運行方案,提高運行效率,避免軌道上可能發(fā)生的事故。參觀者也可以通過檢測界面了解他們想要獲取的相關信息,從一個簡單的界面就可以了解列車常規(guī)的運行情況,極大地降低了普通人了解學習鐵路知識的難度,使得一些專業(yè)的鐵路知識變得直觀且簡單易懂。
3.2 安卓手機程序控制列車運行
我們在編譯計算機控制程序的同時,也開發(fā)了手機上的控制移動終端:用Andriod技術開發(fā)手機控制應用,再利用Socket技術將手機接入計算機的wifi網絡,使得每一個在手機上安裝我們的應用程序的用戶都可以實現(xiàn)對于列車系統(tǒng)的控制。極大地增加了人機互動性,使得參觀學習可以更為自由,參觀者根據自己的需要對模擬列車系統(tǒng)進行控制,使得參觀更為自由、隨意。
關鍵詞:數(shù)據庫課程體系;教學改革;教學特色
中圖分類號:G642 文獻標識碼:B
文章編號:1672-5913 (2007) 24-0110-04
1數(shù)據庫課程體系改革的背景
隨著IT產業(yè)的迅速發(fā)展,可視化程序設計、計算機網絡技術、數(shù)據庫技術、多媒體技術和軟件工程等計算機技術已經出現(xiàn)了大融合,網絡數(shù)據庫技術已經成為數(shù)據庫技術的主流。而以前數(shù)據庫課程建設主要針對關系數(shù)據庫的理論和設計方法,偏重理論教學環(huán)節(jié),實踐環(huán)節(jié)較為薄弱,也不涉及網絡編程,與應用性人才培養(yǎng)模式的要求不相適應。為了加強實踐環(huán)節(jié),培養(yǎng)高等技術應用型人才,從01級開始,在計算機類專業(yè)的教學計劃中新增了“網絡數(shù)據庫技術及應用”、“C/S結構應用軟件設計實習”和“B/S結構應用軟件設計實習”三門以實踐為主的課程,并構建了數(shù)據庫課程體系(程序設計基礎à關系數(shù)據庫設計技術à網絡編程技術à網絡編程實踐à畢業(yè)設計提高),該課程體系有相應的理論教學、實驗教學、課程設計、課程實習等教學環(huán)節(jié),不僅五個階段本身各有其側重點,而且五個階段之間前后有密切的聯(lián)系。該課程體系在教學計劃中處于關鍵的地位,在計算機類專業(yè)集中實踐環(huán)節(jié)中占有相當大的比重,并對該專業(yè)學生順利完成畢業(yè)設計提供了技術支持,已成為教學計劃得以順利實施的關鍵環(huán)節(jié)。
要提高教學質量,就要組建教學團隊,建設精品課程[1]。在數(shù)據庫課程體系的改革研究與實踐中,我們重點對課程體系中的二門核心課程“數(shù)據庫原理及應用”和“網絡數(shù)據庫技術及應用”進行了教改和建設,并分別在2003年和2005年獲得了浙江省高等學校精品建設課程。自2005年以來,“網絡數(shù)據庫技術及應用”課件獲2005年浙江省第四屆高校教師自制多媒體教學軟件評比二等獎,“網絡數(shù)據庫技術課程建設與實踐”項目獲2006年寧波工程學院教學成果獎一等獎,“數(shù)據庫課程體系的改革研究與實踐”項目獲2007年寧波市人民政府教學成果獎二等獎。
2數(shù)據庫課程體系的改革研究與實踐
在數(shù)據庫課程體系的五年教改實踐中,項目負責人組織教學團隊主持完成了“教學模式、教學措施、教學目標、教學方法和教學軟件”的改革成果,具體內容如下。
2.1數(shù)據庫課程體系的“五階段”教學新模式
近五年來,該課程團隊的教研活動涉及了數(shù)據庫、程序設計、網絡、多媒體等領域。通過國家教育部計算機重點試點專業(yè)教學改革的探索,又經過多年數(shù)據庫課程體系教學與科研工作的實踐,建立了“程序設計基礎(可視化程序設計+ASP程序設計)à關系數(shù)據庫設計(數(shù)據庫原理及應用)à網絡編程技術(網絡數(shù)據庫技術及應用)à網絡編程實踐(C/S結構應用軟件設計實習+B/S結構應用軟件設計實習)à畢業(yè)設計提高(開發(fā)基于C/S和B/S結構的網絡數(shù)據庫應用系統(tǒng))”的計算機類專業(yè)數(shù)據庫課程體系的“五階段”教學新模式,取得了較好的教學效果?!拔咫A段”教學新模式的具體實施步驟如下。
在程序設計基礎階段開設“可視化程序設計”和“ASP程序設計”課程,通過程序設計的基礎訓練,培養(yǎng)學生良好的編程、調試技能和動態(tài)網頁的制作方法,學會有關集成工具軟件的使用,為以后的設計、技術和實踐做準備。
在關系數(shù)據庫設計階段開設“數(shù)據庫原理及應用”課程,主要介紹關系數(shù)據庫的基本概念、基本理論和設計方法,同時介紹數(shù)據庫應用系統(tǒng)設計案例,以培養(yǎng)學生對中小型數(shù)據庫應用系統(tǒng)的結構設計和行為設計的能力。課程結束后馬上進行一個為期二周的數(shù)據庫課程設計,以加強這方面的訓練。
在網絡編程技術階段開設“網絡數(shù)據庫技術及應用”課程,主要介紹SQL Server 2000數(shù)據庫管理系統(tǒng)、客戶/服務器(C/S)應用系統(tǒng)、瀏覽器/服務器(B/S)應用系統(tǒng)等內容,以培養(yǎng)學生采用基于C/S和B/S結構技術來開發(fā)網絡數(shù)據庫應用系統(tǒng)的能力,為下一步的實踐和提高做準備。
在網絡編程實踐階段開設“C/S結構應用軟件設計實習”和“B/S結構應用軟件設計實習”以實踐動手為主的課程,教師以興趣小組的形式指導學生,學生以小組的形式合作開發(fā)小型實用項目,計算中心的開放式實驗室提供給學生充足的上機時間,從而使學生們在實踐中得到了鍛煉。
在畢業(yè)設計提高的最后階段,我們的主要做法是:教師部分科研項目吸收優(yōu)秀學生參與,從而鍛煉了學生參與科研的能力;教師以學生興趣小組的方式指導學生畢業(yè)設計,教師給題,學生選題,教師指導。通過這二項措施,帶動了學生學習網絡數(shù)據庫的積極性,提高了學生網絡數(shù)據庫應用系統(tǒng)編程的能力。
通過“五階段”教學新模式近五年的實踐,學生的網絡數(shù)據庫設計能力及實際網絡編程動手能力均有了較大的提高。在畢業(yè)設計中采用C/S和B/S結構開發(fā)網絡數(shù)據庫應用系統(tǒng)的計算機類專業(yè)的學生比例逐年提高,取得了較好的實踐效果。浙江省2005屆畢業(yè)設計(論文)抽查結果表明[2]:我校計算機類專業(yè)學生的畢業(yè)設計(論文)在選題、教師指導、收集處理信息與實際動手能力、綜合應用基本理論與基本技能能力、文字表述與圖表質量、規(guī)范要求六個方面指標名列各校前茅,并以總分77.97的分數(shù)榮獲全省??朴嬎銠C類專業(yè)畢業(yè)設計(論文)抽查結果評比第一名。
2.2數(shù)據庫課程體系的“四加強”教學新措施
第一,加強課程建設力度,不斷完善教學文檔。近五年來,我們編寫了較為合適的講義和教材,不斷完善了課程教學大綱、實綱和課程設計大綱等教學文件,在課程教改方面取得了顯著的成績。近幾年在課程建設中,我們主要突出了實踐動手能力的培養(yǎng),突出了B/S和C/S等成熟和先進技術的應用,突出了實用和典型案例的講解。在上述“三個突出”思想的指導下,“VB網絡程序設計”、“網絡數(shù)據庫技術及應用”和“數(shù)據庫原理及應用”教材已分別由科學出版社、西安電子科技大學出版社和人民郵電出版社在2003年、2004年和2006年主編和編著出版。
第二,加強教學軟件開發(fā)質量,構建網絡教學環(huán)境。我們構建了基于WEB的教學網站和適應性網絡教學平臺,同時電子在線網站在教學管理中得到了應用,受到了較好的效果。這些不僅有利于進行計算機多媒體的輔助教學,而且能為學生提供一種個別化自主學習的環(huán)境,促進了學生主動學習的積極性,達到了助教助學的目的。
目前高職院校電子技術方面的課程主要有模擬電子技術基礎、數(shù)字電子技術基礎、電子技術基礎實驗、電子電路計算機輔助分析、單片機原理及應用等課程。高職院校在課程安排時要盡量在相關專業(yè)都開展一些基礎性課程,并且各相關專業(yè)的教師也要能夠熟練掌握相通專業(yè)的基礎課程知識,從而融合專業(yè)基礎課程,有利于培養(yǎng)學生的綜合素質。
電子技術基礎知識比較抽象復雜,難以理解,因此學生很難對其產生興趣,因此電子技術專業(yè)教師在教學過程中將進一步在理論教學時加入一些經典案例的講解,提高學生對電子技術的學習興趣,意識到學習電子技術的重要性。教師要能夠善于發(fā)現(xiàn)學生的興趣愛好與特長,充分挖掘學生的潛能,舉辦多樣化的教學活動以提高學生的主動參與性。例如舉辦電子設計大賽、電子技術知識競賽等等活動,來培養(yǎng)學生的團隊合作意識與獨立思考問題、解決問題的能力。由于電子技術一些基礎知識與模型具有抽象性特征,學生在學習過程中很難掌握知識要點。因此,電子技術專業(yè)教師在教學過程中會逐步靈活運用計算機軟件來輔助教學。計算機技術在近幾年來得到了迅猛發(fā)展,各類計算機輔助技術也不斷研發(fā)出來,例如計算機輔助設計、計算機輔助工程及計算機輔助制造。我國在上個世紀九十年代就開設了計算機輔助分析這一課程,在教學過程中計算機輔助軟件也在不斷升級更新。
目前我國高職院校在電子技術教學過程中普遍應用CAI軟件,教學質量與效果得到了顯著提高。一些教師在課程設計中使用計算機輔助軟件來繪制電路圖、設計并印制集成電板等等,這些計算機輔助軟件的加入改善了電子技術教學效果。在以后的電子技術教學過程中,教師將進一步擴大計算機輔助技術的應用范圍。例如通過仿真實驗,讓學生使用EWB軟件進行電子系統(tǒng)仿真設計,并在計算機上通過模擬實驗來進行驗證,在仿真實驗成功之后再進行實際操作。數(shù)字電路具有概念清晰、邏輯性強等特點,但是在進行系統(tǒng)設計時較為繁瑣。教師可以通過開設系統(tǒng)編程技術這門課程,加強編程邏輯器件應用教學來使學生掌握一些編程技術。高職院校還可以為此設立電子系統(tǒng)設計開放實驗室,并保證裝備器材齊全,為學生開創(chuàng)一個實驗場所。
二、電子技術教學目標將以社會需求為導向
目前,我國高職院校的教學內容較為陳舊,實踐性不強,不能滿足社會崗位的需要,與電子技術快速發(fā)展的現(xiàn)狀不符。為解決這一問題,我國高職院校電子技術專業(yè)在設置課程教學目標時將逐步以社會需求為導向,根據社會崗位的需要來合理調整電子技術人才培養(yǎng)目標,以滿足社會的需求。高職院校在以社會需求為導向的教學目標設計時會從以下幾個方面出發(fā)。
高職院校將改變電子技術專業(yè)的教學方式,樹立以學生為課堂主體、教師為主導地位的意識,處理好教師與學生之間的關系。教師將逐步明確自我定位,在教學過程中做好引導工作,讓學生擁有自由的學習空間,讓學生能夠獨立思考、相互討論,幫助學生完成電子設計。教師還應該在課堂教學活動中加強師生互動,相互合作,共同進步,這樣有利于激發(fā)學生的創(chuàng)新意識,有利于構建和諧的師生關系。
另外,高職院校還要能夠根據電子技術專業(yè)課程要求與學生的需求來配置教學資源,充實電子技術課堂教學設備,充分利用并優(yōu)化教學資源,為電子技術學生創(chuàng)造良好的學習環(huán)境。教師可以在課程設計活動中靈活運用先進的計算機技術,將書本中一些難以理解的抽象復雜的內容通過仿真實驗變得更加直觀,更加容易理解。教師還可以通過一些經典案例的模擬再現(xiàn),拓寬學生的知識面,加深學生對書本知識的理解。
為進一步保障電子技術教學任務高質量的完成,為電子技術的健康發(fā)展提供源源不斷的動力,電子技術教學過程中會提高教師的總體素質。教師的專業(yè)素質與綜合素質直接影響著教學任務的實現(xiàn)。因此,我們可以預見,電子技術專業(yè)教學會逐步提高對教師整體素質的要求。由于電子技術學科具有實踐性強的特點,因此教師不僅要有扎實的理論知識基礎,還要能夠有豐富的實驗操作經驗。