999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

任務(wù)驅(qū)動(dòng)的實(shí)踐教學(xué)初探

2007-12-31 00:00:00石振蓮何涇沙
計(jì)算機(jī)教育 2007年20期

摘要:本文針對(duì)實(shí)踐類課程的教學(xué)過程中存在的問題,進(jìn)行了教學(xué)法改革嘗試。新方法放棄了傳統(tǒng)的教師教授、學(xué)生練習(xí)的方式。采用任務(wù)驅(qū)動(dòng)的方式調(diào)動(dòng)學(xué)生的主動(dòng)性。函數(shù)功能目標(biāo)以程序任務(wù)驅(qū)動(dòng)實(shí)現(xiàn),而設(shè)計(jì)思想目標(biāo)以問題驅(qū)動(dòng)完成。教師在學(xué)習(xí)過程中起引導(dǎo)和輔助作用。

關(guān)鍵詞:實(shí)踐教學(xué);任務(wù)驅(qū)動(dòng);學(xué)習(xí)動(dòng)機(jī)

中圖分類號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:B

文章編號(hào):1672-5913 (2007) 20-0022-03

實(shí)踐類課程是一類比較受學(xué)生歡迎的課程。但是在具體的教學(xué)中我們發(fā)現(xiàn)存在一些因素影響學(xué)生對(duì)課程內(nèi)容的理解、接收和興趣。因此,我們以“網(wǎng)絡(luò)通信程序設(shè)計(jì)”課程教學(xué)為例,對(duì)教學(xué)方法進(jìn)行了嘗試性改革。

“網(wǎng)絡(luò)通信程序設(shè)計(jì)”課程是一門以實(shí)踐為主的程序設(shè)計(jì)類的專業(yè)選修課程。該課程主要介紹Linux操作系統(tǒng)平臺(tái)下基于Socket API實(shí)現(xiàn)的網(wǎng)絡(luò)服務(wù)器的設(shè)計(jì)、開發(fā)與優(yōu)化。課程目標(biāo)是讓學(xué)生能夠理解客戶/服務(wù)器計(jì)算模式,了解訪問底層協(xié)議軟件的應(yīng)用程序接口,掌握實(shí)現(xiàn)客戶以及服務(wù)器軟件的基本算法,構(gòu)建基于TCP/IP協(xié)議棧的分布式應(yīng)用程序。

1舊的教學(xué)過程

在以前的教學(xué)中,我們主要采取教師課堂講授、學(xué)生上機(jī)完成相關(guān)練習(xí)的方式來完成教學(xué)。下面以“面向連接的客戶端軟件的設(shè)計(jì)與實(shí)現(xiàn)”這部分教學(xué)的內(nèi)容作為案例來說明舊的教學(xué)過程。我們選擇daytime服務(wù)的客戶端實(shí)現(xiàn)作為示例來講授這部分內(nèi)容。具體教學(xué)過程如下:

1) 教師介紹daytime服務(wù)的語義,講清客戶端軟件的任務(wù);

2) 教師給出客戶端軟件算法,畫出流程圖;

3) 教師講解關(guān)鍵API的功能和用法,如socket()、connect()等;以及形成API參數(shù)必需的輔助函數(shù),如gethostbyname()、inet_addr()等;這部分講授的相關(guān)內(nèi)容還包括socket API的設(shè)計(jì)思想,如socket的通用性設(shè)計(jì)考慮;以及相關(guān)主要數(shù)據(jù)結(jié)構(gòu)的說明等等。

4) 進(jìn)入具體客戶端示例的講解;

Oslash;教師演示程序

Oslash;教師按照算法介紹程序的具體結(jié)構(gòu)和實(shí)現(xiàn)細(xì)節(jié)

Oslash;最后,學(xué)生在實(shí)驗(yàn)課時(shí)內(nèi)動(dòng)手編寫TIME服務(wù)的客戶端軟件。

在教學(xué)過程中,我們注意到,學(xué)生對(duì)于實(shí)踐類的程序設(shè)計(jì)興趣非常高,他們能夠很認(rèn)真地聽教師交待任務(wù);同時(shí),他們對(duì)怎樣完成任務(wù)也有一種渴求,因此他們的注意力可以跟隨教師的思路將客戶端軟件的任務(wù)分析、以及算法設(shè)計(jì)過程完成;學(xué)生對(duì)于示例程序的演示也非常感興趣,因?yàn)樗麄兛吹搅巳蝿?wù)解決方案的結(jié)果。

2舊教學(xué)過程存在的問題

但是,在教學(xué)中我們也發(fā)現(xiàn)一些問題。我們?nèi)匀灰浴懊嫦蜻B接的客戶端軟件的設(shè)計(jì)與實(shí)現(xiàn)”這部分內(nèi)容的教學(xué)為例來說明具體存在的問題。這些問題雖然是這一單元教學(xué)中出現(xiàn)的,但它們實(shí)際上是程序設(shè)計(jì)類課程普遍存在的一些共性問題。具體問題如下:

1) 學(xué)生非常不重視文檔

雖然學(xué)生可以跟隨老師的思路將客戶端軟件的任務(wù)分析、以及算法設(shè)計(jì)過程完成。但是,對(duì)于描述算法設(shè)計(jì)的結(jié)果——流程圖則不感興趣。通常學(xué)生會(huì)認(rèn)為自己已經(jīng)清楚了任務(wù)的解決方案,而流程圖類文檔性工作是多此一舉。因此,當(dāng)教師畫流程圖時(shí),學(xué)生的注意力便開始漂移。結(jié)果是學(xué)生領(lǐng)會(huì)不到流程圖的作用,不會(huì)畫流程圖,也不會(huì)使用像流程圖類的方法來幫助程序設(shè)計(jì)。

2)API的介紹枯燥乏味,學(xué)生的注意力很容易發(fā)生轉(zhuǎn)移

實(shí)現(xiàn)算法的核心API是學(xué)生完成程序必須掌握的。可是API的功能和用法聽起來枯燥乏味。因此,這部分內(nèi)容的課堂講授效果非常不好。學(xué)生剛剛被任務(wù)激起的熱情很快就在乏味的API功能和參數(shù)的解釋中消失。

3) 學(xué)生對(duì)于API設(shè)計(jì)思想的介紹興致索然

Socket API中,很多接口函數(shù)的參數(shù)設(shè)定以及數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)與API設(shè)計(jì)者的一些特殊考慮相關(guān)。例如,創(chuàng)建socket的函數(shù)調(diào)用socket()有一個(gè)參數(shù)要求給出socket所使用的協(xié)議棧。這是因?yàn)楫?dāng)初設(shè)計(jì)的目標(biāo)是一個(gè)通用的、而不是只為TCP/IP協(xié)議棧服務(wù)的API。

介紹Socket API設(shè)計(jì)思想有兩個(gè)目的。第一是讓學(xué)生更好地掌握API的用法。API的很多用法看起來很特殊。它們實(shí)際上是特殊設(shè)計(jì)考慮的結(jié)果。例如,連接函數(shù)connect()的參數(shù)中要求給出要連接服務(wù)器的地址。但是,采用通用設(shè)計(jì)思想的Socket API支持多種地址類型。為了保證connect()的通用性,它使用的地址參數(shù)類型是由如下的一種通用地址結(jié)構(gòu)類型來描述的:

struct sockaddr { /*struct to hold an address */

u_char sa_len; /* total length */

u_short sa_family;/*type of address */

char sa_data[14]; /*value of address*/

}

但是,每個(gè)程序都不會(huì)使用這個(gè)通用地址類型來描述所用的地址。因?yàn)檫@樣太不方便了。每個(gè)協(xié)議棧的應(yīng)用程序都使用自己所用地址類型的專用數(shù)據(jù)結(jié)構(gòu)說明。例如,TCP/IP使用32位IP地址和16位端口號(hào)來表示一個(gè)通信端點(diǎn)地址。因此,它使用的地址結(jié)構(gòu)類型是:

struct sockaddr_in { /*struct to hold an address*/

u_char sin_len;/* total length */

u_short sin_family; /* type of address*/

u_short sin_port;/* protocol port number */

struct in_addr sin_addr;/* IP address(declared to be

u_long on some systems)*/

char sin_zero[8]; /*unused (set to zero) */

}

這樣程序中在每次調(diào)用connect()時(shí),都進(jìn)行強(qiáng)制類型轉(zhuǎn)換,才能保證參數(shù)類型匹配:

connect(s,(struct sockaddr*)sin, sizeof(sin)

只有介紹了Socket API的設(shè)計(jì)思想,學(xué)生才能理解Socket API的這些看起來很奇怪的用法。

介紹Socket API設(shè)計(jì)思想的第二個(gè)作用是鍛煉學(xué)生的算法設(shè)計(jì)能力。讓學(xué)生從Socket API這個(gè)具體的、經(jīng)過時(shí)間檢驗(yàn)的、帶有杰出設(shè)計(jì)者思想的設(shè)計(jì)案例中學(xué)習(xí)算法設(shè)計(jì)。

但是,因?yàn)閷W(xué)生的注意力都集中在怎樣完成客戶端的任務(wù)。他們還沒有開始使用這些API來寫程序,對(duì)于API的這些特殊用法還沒有體會(huì)。在他們看來API的設(shè)計(jì)思想是與任務(wù)完全無關(guān)的話題。因此學(xué)生對(duì)這部分內(nèi)容沒有興趣,并不能夠認(rèn)真去聽。

4) 學(xué)生動(dòng)手寫程序時(shí),需要重新花時(shí)間去學(xué)習(xí)由于注意力轉(zhuǎn)移而錯(cuò)過的內(nèi)容

當(dāng)學(xué)生開始動(dòng)手做練習(xí)時(shí),因?yàn)樵诮處熤v授過程中發(fā)生了注意力轉(zhuǎn)移,所以,他們需要自己重新學(xué)習(xí)API的用法。這不但浪費(fèi)了時(shí)間,而且還導(dǎo)致一些學(xué)生產(chǎn)生挫折感。因?yàn)樗麄冎览蠋熞呀?jīng)講過,但是他們又確實(shí)并不知道怎樣做,一部分人會(huì)把這歸咎為這門課太難了,自己沒有能力掌握它,對(duì)本課程的信心大減,直至放棄。

3任務(wù)驅(qū)動(dòng)教學(xué)的新嘗試

針對(duì)以上問題,我們對(duì)教學(xué)方式進(jìn)行了改革嘗試。

我們把教學(xué)過程從教師講授、學(xué)生練習(xí)方式兩部分更改為用任務(wù)驅(qū)動(dòng)學(xué)生自己去學(xué)習(xí)、教師最后進(jìn)行總結(jié)和有針對(duì)性的講解新的兩個(gè)階段。

我們?nèi)匀灰郧懊嫠鼋虒W(xué)內(nèi)容為例來說明。首先,我們把類似Socket API這樣枯燥、不適合講授、而且學(xué)生完全可以自學(xué)理解的內(nèi)容,改由學(xué)生自學(xué)。教師的作用是引導(dǎo)和幫助。引導(dǎo)過程按照學(xué)習(xí)目標(biāo)分為兩部分。對(duì)于函數(shù)功能部分的學(xué)習(xí),教師以程序任務(wù)的形式來引導(dǎo)。而對(duì)于像設(shè)計(jì)理念這樣深層次思想的體會(huì),則通過問題任務(wù)來引導(dǎo)。讓學(xué)生在設(shè)計(jì)程序、學(xué)習(xí)函數(shù)功能的過程中尋找答案。例如,為了讓學(xué)生能夠從Socket API的設(shè)計(jì)中學(xué)習(xí)到有價(jià)值的設(shè)計(jì)思想,我們?cè)O(shè)置了一些問題,讓同學(xué)思考,如為什么socket生成函數(shù)需要用戶給出socket使用的協(xié)議棧?為什么要按照服務(wù)類型,而不是基于協(xié)議來生成socket?這樣做有什么優(yōu)勢(shì)?又帶來什么問題?為什么地址需要轉(zhuǎn)換成通用的地址類型,這樣做是不是很麻煩?可以怎樣解決?

新的教學(xué)過程如下:

1) 教師給出任務(wù)描述,演示示例程序;

2) 教師同學(xué)生一起,分析解題思路,設(shè)計(jì)算法;

3) 教師告訴學(xué)生Socket API可以幫助完成任務(wù)、并給出一部分資料;

4) 教師提出問題,讓學(xué)生在設(shè)計(jì)、實(shí)現(xiàn)客戶端軟件時(shí)思考,并要求在完成時(shí)回答;

5) 學(xué)生自學(xué)并動(dòng)手實(shí)現(xiàn)客戶端程序;

6) 學(xué)生介紹、演示自己實(shí)現(xiàn)的程序,回答、討論前面提出的問題;

7) 教師根據(jù)學(xué)生的情況作總結(jié),對(duì)學(xué)生設(shè)計(jì)、答辯、回答問題、以及討論過程中出現(xiàn)的問題進(jìn)行針對(duì)性的講解。

為了避免某些基礎(chǔ)差或不自信的學(xué)生因?yàn)闊o從下手而放棄學(xué)習(xí)[1],學(xué)生分組來完成任務(wù)。小組內(nèi)的同學(xué)共同研究和學(xué)習(xí)API的具體用法、討論問題的答案。他們一起將API對(duì)應(yīng)到算法中、完成程序的代碼實(shí)現(xiàn)。任務(wù)完成后,采取組內(nèi)推薦和教師選擇兩種方式選取學(xué)生進(jìn)行答辯和回答問題。有關(guān)調(diào)查結(jié)果表明,多數(shù)大學(xué)生對(duì)團(tuán)隊(duì)學(xué)習(xí)持歡迎態(tài)度[2]。我們這種分組的方式也正好符合了學(xué)生的這一特點(diǎn)。在學(xué)生協(xié)助學(xué)習(xí)API的過程中,同學(xué)之間互相幫助、互相講解,他們的學(xué)習(xí)主動(dòng)性提高了。當(dāng)學(xué)生自己動(dòng)手完成程序時(shí),成就感提升了他們對(duì)這門課程的興趣。對(duì)于掌握新知識(shí)比較慢的同學(xué),他們也在同組同學(xué)的帶動(dòng)下,完成任務(wù),不至于掉隊(duì)。

在任務(wù)分析過程中,教師并不給出流程圖。在學(xué)生編寫程序過程中,尤其是分組協(xié)作的情況下,他們發(fā)現(xiàn)要有一種手段把算法流程精確描述出來,才能保證最后編寫程序的正確性。通過這個(gè)過程,學(xué)生可以體會(huì)到文檔的作用和必要性。這樣比教師強(qiáng)調(diào)文檔的重要性效果要好得多。

通過對(duì)預(yù)設(shè)問題的思考和討論,學(xué)生更深地領(lǐng)會(huì)到API的設(shè)計(jì)思想,從中汲取算法設(shè)計(jì)經(jīng)驗(yàn),并學(xué)會(huì)歷史地、發(fā)展地看問題。同時(shí),也更好地掌握了API的用法。

在最后教師針對(duì)性的講解中,因?yàn)閷W(xué)生已經(jīng)知道自己具體問題所在,所以效果比原來的課堂講授方式要好。

根據(jù)調(diào)查,大學(xué)生的直接性學(xué)習(xí)動(dòng)機(jī),如分?jǐn)?shù)、獎(jiǎng)賞等會(huì)隨年級(jí)升高而逐漸減弱,而間接性學(xué)習(xí)動(dòng)機(jī),如求知、探索、成就等,隨年級(jí)升高而逐漸加強(qiáng)[3,4]。我們的新教學(xué)嘗試正是利用了這個(gè)特點(diǎn)。本課程是高年級(jí)的選修課程。新教學(xué)方式讓學(xué)生在完成任務(wù)的過程中自己學(xué)習(xí)知識(shí),滿足了他們的求知和探索的欲望,因而在整個(gè)完成任務(wù)的過程中,他們表現(xiàn)出極大的熱情。最終任務(wù)的完成又給了他們很強(qiáng)的成就感,使他們對(duì)這門課程以及自身的信心都得以提升。

4結(jié)束語

目前,我們的這種教學(xué)方式還處于嘗試過程中,收到一些好的效果,解決了以前存在的一些問題。但是,新方法教學(xué)過程中也存在一些新問題,如課堂時(shí)間不好掌控、學(xué)生基礎(chǔ)相差較大時(shí),分組以及進(jìn)度控制比較困難等。這些有待于我們進(jìn)一步思考、探索、和實(shí)踐。

參考文獻(xiàn):

[1] 劉云波,羅亞莉. 運(yùn)用動(dòng)機(jī)理論激發(fā)大學(xué)生的學(xué)習(xí)動(dòng)機(jī)[J]. 當(dāng)代教育論壇,2007,(5).

[2] 藍(lán)色暢想工作組. 大學(xué)生學(xué)習(xí)成就動(dòng)機(jī)差異的研究[EB]. http://jw.nju.edu.cn/xxl/xxkx/tools/cou/《大學(xué)生學(xué)習(xí)成就動(dòng)機(jī)差異的研究》答辯論文.doc

[3] 教育部人事司. 高等教育心理學(xué)[M]. 北京:高等教育出版社,2004.

[4] 萬俊,王楓. 我國大學(xué)生學(xué)習(xí)動(dòng)機(jī)的研究與發(fā)展[J]. 教育前沿,2007,(2).

作者簡(jiǎn)介

張麗(1973-),女,副教授,2004年北京大學(xué)信息技術(shù)學(xué)院獲計(jì)算機(jī)體系結(jié)構(gòu)專業(yè)理學(xué)博士,講授過課程有互聯(lián)網(wǎng)體系結(jié)構(gòu)、網(wǎng)絡(luò)通信程序設(shè)計(jì)、網(wǎng)絡(luò)通信協(xié)議分析、操作系統(tǒng)分析、離散數(shù)學(xué)、PKI技術(shù)等,研究方向?yàn)檫x播技術(shù)、網(wǎng)絡(luò)管理、服務(wù)發(fā)現(xiàn)等。

沈琦,女,副教授, 2004獲得中國礦業(yè)大學(xué)信電學(xué)院博士學(xué)位。在國際會(huì)議和核心期刊上已經(jīng)發(fā)表多篇學(xué)術(shù)論文。榮獲中國礦業(yè)大學(xué)優(yōu)秀青年骨干教師、北京市中青年骨干教師等榮譽(yù)稱號(hào)。研究方向:計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)及應(yīng)用、分布式計(jì)算、代理技術(shù)及應(yīng)用。

石振蓮,女,講師,講授課程:軟件工程、可視化建模與UML、程序設(shè)計(jì)入門。

本文由北京市屬市管高校人才強(qiáng)教計(jì)劃資助項(xiàng)目資助

主站蜘蛛池模板: 无码日韩视频| 色老头综合网| 国产精品成人一区二区| 在线观看无码a∨| 99热线精品大全在线观看| 在线毛片免费| 2019年国产精品自拍不卡| 91网址在线播放| 国产97公开成人免费视频| 欧美va亚洲va香蕉在线| 亚洲成人黄色网址| 亚国产欧美在线人成| 久久精品国产999大香线焦| 99久久99这里只有免费的精品| 日韩无码黄色| 久久精品无码中文字幕| 日韩第一页在线| 久久男人资源站| 天天综合网站| 免费福利视频网站| 超碰精品无码一区二区| 日韩国产精品无码一区二区三区| 欧美日韩在线国产| 欧美成人综合在线| 香蕉久人久人青草青草| 538国产视频| 国产不卡国语在线| 久久久久人妻一区精品| 国产00高中生在线播放| 久久久久久久久18禁秘| 国产噜噜在线视频观看| 在线观看91精品国产剧情免费| jizz在线观看| 欧美在线一二区| 日本高清成本人视频一区| 亚洲人人视频| 综合五月天网| 无码丝袜人妻| 精品国产一区二区三区在线观看 | 中文字幕在线日本| 久久女人网| 国产毛片不卡| 国产综合网站| 色欲不卡无码一区二区| 国产精品久久久免费视频| 亚洲精品午夜天堂网页| 91亚洲影院| 亚洲国产日韩在线观看| 爱色欧美亚洲综合图区| 日韩欧美国产成人| 欧美精品二区| 在线观看视频一区二区| 在线观看亚洲成人| 国产亚洲精品97在线观看| 在线免费看片a| 国产一级无码不卡视频| 国模极品一区二区三区| 她的性爱视频| 99久久精品免费看国产免费软件| 亚洲AV无码乱码在线观看代蜜桃 | 99re经典视频在线| 精品国产自在在线在线观看| 亚洲AⅤ波多系列中文字幕| 国内a级毛片| 国产午夜福利亚洲第一| 波多野结衣在线一区二区| 日本五区在线不卡精品| 九色在线观看视频| 麻豆精品在线播放| 青青青国产视频| 成人综合网址| 精品国产成人国产在线| 精品自窥自偷在线看| 亚洲天堂视频网站| 一级毛片中文字幕| 久久伊人色| av午夜福利一片免费看| 无码高潮喷水专区久久| 日韩国产黄色网站| 在线五月婷婷| 成人午夜视频免费看欧美| 成年片色大黄全免费网站久久 |