亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        網(wǎng)絡(luò)程序設(shè)計教學(xué)改革探索

        2013-09-17 11:59:42崔廣才從立鋼
        重慶與世界(教師發(fā)展版) 2013年8期
        關(guān)鍵詞:程序設(shè)計計算機網(wǎng)絡(luò)編程

        祁 暉,崔廣才,從立鋼

        (長春理工大學(xué)計算機科學(xué)技術(shù)學(xué)院,長春 130022)

        一、網(wǎng)絡(luò)程序設(shè)計課程教學(xué)現(xiàn)狀

        網(wǎng)絡(luò)程序設(shè)計是計算機專業(yè)的一門重要的專業(yè)基礎(chǔ)課,對培養(yǎng)學(xué)生的程序設(shè)計能力,加深理解計算機系統(tǒng)、網(wǎng)絡(luò)協(xié)議等起到非常重要的作用。不論學(xué)生將來是從事軟件工程、網(wǎng)絡(luò)工程項目還是計算機網(wǎng)絡(luò)相關(guān)的科研工作,都極有可能需要進行網(wǎng)絡(luò)程序設(shè)計開發(fā),由此可見這門課程的重要性。但在實際教學(xué)過程中,我們發(fā)現(xiàn)不少學(xué)生存在程序設(shè)計能力不強、操作系統(tǒng)及網(wǎng)絡(luò)協(xié)議基礎(chǔ)知識不扎實的問題。主要體現(xiàn)在以下幾個方面:

        1.C語言編程能力不強,尤其是對C語言的編譯鏈接以及IO編程。因為多數(shù)學(xué)生在學(xué)習(xí)C語言的時候使用的開發(fā)環(huán)境是VC,是一種完全圖形化的開發(fā)方式,整個編譯鏈接過程都是由VC自動完成,因此無法了解編譯鏈接的每個步驟[1-2]。結(jié)果在調(diào)試教材示例代碼時就容易出錯,而且不知道如何解決問題。此外,在學(xué)習(xí)C編程時,注重語法學(xué)習(xí),算法學(xué)習(xí),而忽視了IO編程,而IO編程卻是實際開發(fā)中經(jīng)常遇到的,尤其是網(wǎng)絡(luò)編程。

        2.操作系統(tǒng)基礎(chǔ)薄弱。主要是因為目前本科操作系統(tǒng)教學(xué)以理論教學(xué)為主,實驗也主要是注重一些算法的實現(xiàn),對于操作系統(tǒng)如何實現(xiàn)進程、線程等概念很少提及。因此,學(xué)生在學(xué)習(xí)服務(wù)端編程時,如多進程、多線程、信號、同步、互斥等技術(shù)時,感到吃力,尤其是做實驗時,更不知如何操作和調(diào)試。

        3.網(wǎng)絡(luò)協(xié)議基礎(chǔ)薄弱。一方面,一些學(xué)生在學(xué)習(xí)網(wǎng)絡(luò)程序設(shè)計的同時,正在學(xué)習(xí)計算機網(wǎng)絡(luò)課程。因此,在講述Socket編程時,他們對于建立連接、地址、端口綁定等內(nèi)容理解困難。另一方面,計算機網(wǎng)絡(luò)課程教學(xué)注重理論教學(xué),介紹的網(wǎng)絡(luò)技術(shù)比較全面,對網(wǎng)絡(luò)各層協(xié)議均有涉及,而實際應(yīng)用比較廣泛的還是TCP/IP協(xié)議,不少學(xué)生在這方面的知識還有待進一步加強,尤其需要掌握一些網(wǎng)絡(luò)數(shù)據(jù)分析的常用工具和方法。

        4.網(wǎng)絡(luò)程序設(shè)計教材過于注重編程知識,而少了一些基礎(chǔ)知識鋪墊、常用網(wǎng)絡(luò)數(shù)據(jù)分析方法介紹。學(xué)生有時只是照著教材例子編程,但卻不知道為什么要這么編程,當(dāng)運行程序出問題時,不會利用常用的網(wǎng)絡(luò)數(shù)據(jù)分析方法來分析并解決問題。

        針對以上問題,本文對網(wǎng)絡(luò)程序設(shè)計及相關(guān)課程的教學(xué)順序、課程的理論教學(xué)及實驗教學(xué)內(nèi)容提出了教學(xué)改革設(shè)想,并在網(wǎng)絡(luò)程序設(shè)計課程的教學(xué)過程中進行了實踐,實踐結(jié)果表明新方案在培養(yǎng)學(xué)生學(xué)習(xí)興趣、增強基礎(chǔ)知識方面有一定積極作用。

        二、相關(guān)課程的教改方案

        (一)課程的教學(xué)順序

        和網(wǎng)絡(luò)程序設(shè)計相關(guān)的課程主要是C語言程序設(shè)計、計算機操作系統(tǒng)和計算機網(wǎng)絡(luò)。這三門課程最好是在學(xué)習(xí)網(wǎng)絡(luò)程序設(shè)計之前學(xué)完,因為這三門課程是學(xué)習(xí)網(wǎng)絡(luò)程序設(shè)計的基礎(chǔ)。一般來說這4門課程的學(xué)習(xí)順序可以如圖1、圖2或圖3所示。從圖中不難看出,課程順序的一條核心原則是C語言程序設(shè)計、計算機操作系統(tǒng),最后是網(wǎng)絡(luò)程序設(shè)計,而計算機網(wǎng)絡(luò)則比較靈活些,可以和計算機操作系統(tǒng)或者網(wǎng)絡(luò)程序設(shè)計一起學(xué)習(xí)。這三種教學(xué)順序在教學(xué)實踐中都有遇到過,但一般來說推薦前兩種,因為如果在沒有學(xué)習(xí)計算機網(wǎng)絡(luò)的情況下學(xué)習(xí)網(wǎng)絡(luò)程序設(shè)計,會使學(xué)生無法很好理解一些編程方法以及編程步驟的原理。因此,按照圖3所示的教學(xué)順序進行教學(xué)時,需要對網(wǎng)絡(luò)程序設(shè)計的教學(xué)內(nèi)容做出一定調(diào)整。即講述Socket編程之前需要先簡要介紹TCP/IP協(xié)議,尤其是IP地址以及TCP端口的含義,并可結(jié)合類似Wireshark這樣的工具為學(xué)生演示TCP建立連接、收發(fā)數(shù)據(jù)以及關(guān)閉連接的過程。

        圖1 課程教學(xué)順序1

        圖2 課程教學(xué)順序2

        圖3 課程教學(xué)順序3

        (二)C語言程序設(shè)計的教改方案

        C 語言程序設(shè)計課程是高校計算機教育的基礎(chǔ)與重點,但多年來,C語言程序設(shè)計一直是在Windows操作系統(tǒng)下教學(xué),開發(fā)過程也趨向于完全的圖形化開發(fā)。這樣可能使學(xué)生不能很好地理解C語言的整個編譯鏈接過程,對于深入理解C語言的原理以及操作系統(tǒng)的原理都是不利的。對計算機專業(yè)的學(xué)生而言,C語言的基礎(chǔ)對于后續(xù)的學(xué)習(xí)是至關(guān)重要的。因此,在C語言教學(xué)中,尤其是在計算機專業(yè)的C語言教學(xué)中,最好是脫離圖形化的集成開發(fā)環(huán)境,使用文本編輯軟件編寫源代碼,而用gcc這樣的編譯程序進行C語言程序的編譯鏈接。這樣能使學(xué)生體驗C語言編碼、編譯、匯編以及鏈接的全過程,對深入理解C語言的原理是非常有益的。此外,在教學(xué)內(nèi)容上,除了C語言語法之外,可以適當(dāng)增加IO編程的比重,因為IO編程在實際應(yīng)用中是很常用的,網(wǎng)絡(luò)編程更是如此。在實驗教學(xué)上,則應(yīng)當(dāng)增加設(shè)計類實驗題目的比重,這有助于提高學(xué)生的分析、思考與解決問題的能力[3]。

        (三)計算機操作系統(tǒng)的教改方案

        從目前的教學(xué)實踐來看,計算機操作系統(tǒng)的教學(xué)在教材內(nèi)容、上機實習(xí)等方面還無法滿足實際需求[2]。主要的問題在于,教學(xué)內(nèi)容偏重于理論,都是介紹各種調(diào)度算法、頁面置換算法等。而一個實際的操作系統(tǒng)在這些方面的代碼并不多,相反,教學(xué)上比較忽略的IO在操作系統(tǒng)代碼中卻占有很大比重[4]。此外,操作系統(tǒng)實驗也比較偏重算法,而沒有分析或者驗證一個實際的操作系統(tǒng)。因此,學(xué)生對于一個操作系統(tǒng)具體是如何實現(xiàn)進程、線程、虛擬內(nèi)存等概念不是很清晰。

        本文所提出的教改方案的核心是在操作系統(tǒng)教學(xué)時應(yīng)基于某一具體的操作系統(tǒng),借助操作系統(tǒng)的一些源代碼來講解操作系統(tǒng)的一些概念是如何實現(xiàn)的,這能使學(xué)生更好地理解操作系統(tǒng)。當(dāng)然,考慮到現(xiàn)代操作系統(tǒng)的代碼量一般比較龐大且復(fù)雜,不適合一行一行分析,因此可以考慮使用Linux系統(tǒng)的早期源代碼,或者可以利用Linux的早期代碼來做相關(guān)的驗證實驗,這是一種很好的能讓學(xué)生了解操作系統(tǒng)運行的方式。

        (四)計算機網(wǎng)絡(luò)的教改方案

        文獻[5-6]對計算機網(wǎng)絡(luò)課程的教學(xué)改革做了探討。計算機網(wǎng)絡(luò)課程的教學(xué)現(xiàn)狀同樣是偏重理論、算法,并且介紹的協(xié)議太多,重點不突出。實際上目前廣泛應(yīng)用的是基于TCP/IP的5層網(wǎng)絡(luò)協(xié)議,而且重點應(yīng)該是網(wǎng)絡(luò)層和傳輸層。因此,本文建議在網(wǎng)絡(luò)理論教學(xué)中適當(dāng)增加TCP/IP協(xié)議的比重。此外,計算機網(wǎng)絡(luò)應(yīng)單獨設(shè)置實驗課程,且與理論教學(xué)有同等重要的地位[7-8]。純粹的理論介紹無法很好地向?qū)W生展現(xiàn)網(wǎng)絡(luò)的運作方式。在實驗環(huán)節(jié),應(yīng)重點讓學(xué)生掌握網(wǎng)絡(luò)常用的數(shù)據(jù)捕獲、分析等工具和方法,這樣有助于學(xué)生更好地理解計算機網(wǎng)絡(luò)的原理,并掌握檢查、分析和排除網(wǎng)絡(luò)故障的方法,為進一步學(xué)習(xí)網(wǎng)絡(luò)程序設(shè)計以及調(diào)試網(wǎng)絡(luò)程序打下堅實基礎(chǔ)。

        三、網(wǎng)絡(luò)程序設(shè)計的教改方案

        (一)理論教學(xué)的教改方案

        網(wǎng)絡(luò)程序設(shè)計實際上是一種應(yīng)用程序設(shè)計,一般是在傳輸層之上進行程序開發(fā),主要的編程接口是Socket。針對網(wǎng)絡(luò)程序的這一特性,提出以下幾點理論課教學(xué)的教改思路:

        1.開發(fā)平臺以Linux操作系統(tǒng)為主。因為Linux是一個開放平臺,而且在Linux平臺上有很多支持網(wǎng)絡(luò)數(shù)據(jù)捕獲和分析的優(yōu)秀軟件,這些都可以免費獲得,并且能根據(jù)自己的實際需要進行修改。另外,學(xué)生在進行網(wǎng)絡(luò)數(shù)據(jù)捕獲和分析時一般是在本機上進行,Linux平臺的軟件工具非常完美,因為Linux平臺有環(huán)回接口,而Windows平臺無環(huán)回接口。

        2.在講解Socket接口之前必須對TCP/IP協(xié)議做簡要介紹。重點是網(wǎng)絡(luò)層和傳輸層,尤其是IP地址、端口等概念,以及 TCP建立、關(guān)閉連接的過程、TCP與 UDP的異同等。

        3.在介紹應(yīng)用層協(xié)議設(shè)計時可以選擇HTTP協(xié)議作為案例。因為HTTP是目前使用非常廣泛的一個應(yīng)用層協(xié)議,而且協(xié)議相對簡單,容易實現(xiàn)。在介紹協(xié)議的過程中必須結(jié)合使用網(wǎng)絡(luò)流量捕獲分析工具。

        4.重點以服務(wù)器端編程為主。雖然從理論上看,客戶端和服務(wù)端是平等的,但實際上服務(wù)端一般都是要服務(wù)多個客戶端,因此在服務(wù)端編程時,需要考慮的問題更多。在服務(wù)端編程時需要引入進程、線程、信號等概念以及高級IO技術(shù)。因此,服務(wù)端編程相對客戶端編程更復(fù)雜,對編程能力和基礎(chǔ)知識的要求更高。服務(wù)端編程要采取循序漸進的方法,在實踐中可以采用對一個案例不斷改進的方式進行教學(xué)。如一個HTTP服務(wù)器,可以從一個最簡單的文件讀寫的服務(wù)器開始,改進成一個多進程服務(wù)器,再到多線程服務(wù)器,直至多路復(fù)用的多線程服務(wù)器。

        (二)實驗教學(xué)的教改方案

        1.適當(dāng)增加實驗課教學(xué)學(xué)時。因為網(wǎng)絡(luò)程序設(shè)計畢竟是一門注重培養(yǎng)學(xué)生編程能力的課程,增加實驗課教學(xué)學(xué)時使學(xué)生有更多動手練習(xí)的機會,同時教師也有更多時間指導(dǎo)學(xué)生,并能布置更多、更全面的實驗題目。

        2.實驗平臺以Linux平臺為主??紤]到目前多數(shù)實驗設(shè)備上安裝的是Windows操作系統(tǒng),因此可以利用虛擬機技術(shù),在Windows操作系統(tǒng)上虛擬Linux系統(tǒng)。在實際教學(xué)中,我們自己制作了一個簡易的Linux系統(tǒng),無圖形界面,但網(wǎng)絡(luò)和編程軟件齊備,可以運行于配置較低的實驗設(shè)備上。我們測試過的配置為:CPU單核2.0GHz,內(nèi)存256MB。學(xué)生在這樣的平臺上可以學(xué)習(xí)Linux操作系統(tǒng)的基本使用方法、C程序的編譯鏈接、網(wǎng)絡(luò)數(shù)據(jù)的捕獲和分析等技術(shù)。

        3.在每個實驗題目中,最好都有相關(guān)的網(wǎng)絡(luò)數(shù)據(jù)的捕獲和分析,并要求學(xué)生將關(guān)鍵的網(wǎng)絡(luò)數(shù)據(jù)記錄實驗報告。這有利于學(xué)生學(xué)習(xí)使用網(wǎng)絡(luò)數(shù)據(jù)捕獲和分析軟件工具,掌握如何捕獲以及過濾網(wǎng)絡(luò)數(shù)據(jù),如何利用這些軟件工具輔助調(diào)試網(wǎng)絡(luò)程序。

        4.適當(dāng)增加設(shè)計、創(chuàng)新類實驗題目的比重。實驗題目可以基于課堂教學(xué)的實例,在此基礎(chǔ)上做一定的改動。這樣使得實驗教學(xué)不會脫離課堂教學(xué),并給學(xué)生留有一定的思考空間。例如,一個HTTP文件服務(wù)器。在課堂教學(xué)時,可能只是演示了服務(wù)端向瀏覽器輸出HTML文件的方法。實驗教學(xué)時,可以以此為出發(fā)點,讓學(xué)生用相同的方法輸出其他任意類型的文件,并觀察瀏覽器的反應(yīng)。接著,指導(dǎo)學(xué)生訪問互聯(lián)網(wǎng)上同類型的文件,并使用Wireshark捕獲、過濾HTTP數(shù)據(jù),分析HTTP頭部與訪問HTML文件時的異同,最終修改HTTP文件服務(wù)器使其支持任意類型的文件。

        四、結(jié)束語

        將上述網(wǎng)絡(luò)程序設(shè)計教改方案應(yīng)用到實際教學(xué)中,我們發(fā)現(xiàn)學(xué)生的學(xué)習(xí)興趣有了一定提高。學(xué)生普遍對于Linux操作系統(tǒng)以及網(wǎng)絡(luò)數(shù)據(jù)捕獲和分析有濃厚的興趣。這從一個側(cè)面反映出純粹的理論教學(xué)是比較枯燥的,如果能將理論教學(xué)和實際應(yīng)用相結(jié)合,則學(xué)習(xí)會更加生動,也會獲得學(xué)生的歡迎[9]。計算機學(xué)科本身就是一門理論和實踐相結(jié)合的學(xué)科,而程序設(shè)計則更加注重實踐。如何將理論落到實處,讓學(xué)生能夠看得見、摸得著是本教改方案的核心思想。由于計算機學(xué)科也是一門發(fā)展非常迅速的學(xué)科,新的硬件技術(shù)、網(wǎng)絡(luò)技術(shù)、編程技術(shù)在不斷涌現(xiàn),教學(xué)的內(nèi)容和方法也得跟得上技術(shù)的發(fā)展,因此教學(xué)改革也是一個不斷持續(xù)的過程。

        [1] 宋勁彬.一站式學(xué)習(xí)C編程(升級版)[M].北京:電子工業(yè)出版,2011.

        [2] 陳建勛,肖竟華.“計算機操作系統(tǒng)”教學(xué)改革探索與實踐[J].高等理科教育,2007(3):68-70.

        [3] 陳智俐,付沙,薛娟.計算機程序設(shè)計類課程實驗教學(xué)改革與研究[J].計算機時代,2010(4):56 -58.

        [4] 趙炯.Linux內(nèi)核完全剖析:基于0.12內(nèi)核[M].北京:機械工業(yè)出版社,2009.

        [5] 劉彥保.計算機網(wǎng)絡(luò)課程教學(xué)改革探討[J].高等理科教育,2007(3):78-81.

        [6] 陳靜,符發(fā),邢詒杏.計算機網(wǎng)絡(luò)實驗教學(xué)改革[J].實驗科學(xué)與技術(shù),2007,5(3):80 -82.

        [7] 舒忠梅,尹冬生,李文軍,等.計算機專業(yè)實驗教學(xué)改革的實踐與探討[J].實驗室研究與探索,2007,26(12):290-294.

        [8] 沈安東,於曉明.計算機實驗教學(xué)改革的探索與實踐[J].實驗室研究與探索,2010,29(4):83 -85.

        [9] 葛桂萍,朱范德,羅家奇,等.計算機硬件系統(tǒng)實驗教學(xué)改革的研究[J].實驗室研究與探索,2007,26(8):98-99.

        猜你喜歡
        程序設(shè)計計算機網(wǎng)絡(luò)編程
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        基于Visual Studio Code的C語言程序設(shè)計實踐教學(xué)探索
        計算機教育(2020年5期)2020-07-24 08:52:56
        從細(xì)節(jié)入手,談PLC程序設(shè)計技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        計算機網(wǎng)絡(luò)環(huán)境下混合式教學(xué)模式實踐與探索
        電子制作(2018年16期)2018-09-26 03:27:08
        計算機網(wǎng)絡(luò)信息安全及防護策略
        電子制作(2018年12期)2018-08-01 00:47:58
        高職高專院校C語言程序設(shè)計教學(xué)改革探索
        計算機網(wǎng)絡(luò)技術(shù)的應(yīng)用探討
        日韩女同一区在线观看| 国产精品天天狠天天看| 动漫在线无码一区| 国产啪啪视频在线观看| 草逼动态图视频免费观看网站| 国产一区二区女内射| 国产91网址| 中文字幕丰满人妻有码专区| 日本精品视频免费观看| 精品水蜜桃久久久久久久| 精品亚洲国产探花在线播放| 久久av少妇亚洲精品| 狠狠综合亚洲综合亚洲色| 人禽伦免费交视频播放| 亚洲熟女av超清一区二区三区 | 91精品国产综合久久精品密臀| 久久人人爽爽爽人久久久| 亚洲首页一区任你躁xxxxx| 中文字幕人成乱码中文乱码 | 色综合天天综合网国产成人网| 3d动漫精品一区二区三区| 欧美综合图区亚洲综合图区| av在线播放中文专区| 热久久国产欧美一区二区精品| 成人欧美一区二区三区在线观看| 亚洲日本va午夜在线电影| 在线观看av片永久免费| 偷拍一区二区三区高清视频| 亚洲人成电影在线播放| 美国黄色片一区二区三区| 亚洲av推荐网站在线观看| 西西午夜无码大胆啪啪国模| 国内精品九九久久久精品| 午夜精品一区二区三区av免费| 激情人妻另类人妻伦| 日韩精品中文字幕无码一区| 亚洲精品2区在线观看| 日本高清乱码中文字幕| 国产国语熟妇视频在线观看| 91精品在线免费| 精品女同一区二区三区|