求秋音
摘?要:ASP是一種基于瀏覽器的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)編程技術(shù)。筆者以“以學(xué)定教、為學(xué)而教”的理念,針對(duì)中職學(xué)生的特點(diǎn)自創(chuàng)了“揚(yáng)長(zhǎng)避短”和“飲水思源”的教學(xué)方法。
關(guān)鍵詞:ASP編程教學(xué)?中職學(xué)生?學(xué)習(xí)興趣
對(duì)于中職信息類計(jì)算機(jī)專業(yè)的學(xué)生來(lái)說(shuō),ASP編程學(xué)科是一門望而卻步的課程。鑒于中職學(xué)生的特點(diǎn),筆者以“以學(xué)定教、為學(xué)而教”的理念并結(jié)合多年在ASP網(wǎng)頁(yè)編程教學(xué)中的一些經(jīng)驗(yàn),自創(chuàng)了“揚(yáng)長(zhǎng)避短”和“飲水思源”的教學(xué)方法,并在所教兩個(gè)班級(jí)的《ASP動(dòng)態(tài)網(wǎng)頁(yè)編程》課的教學(xué)實(shí)踐中取得了良好的效果,受到了學(xué)生的普遍歡迎。
一、在編程入門教學(xué)時(shí)應(yīng)用“揚(yáng)長(zhǎng)避短”的方法
中職學(xué)生入學(xué)時(shí)的數(shù)學(xué)、語(yǔ)文和英語(yǔ)等基礎(chǔ)知識(shí)水平較低,他們的數(shù)學(xué)邏輯能力、英語(yǔ)和語(yǔ)文的記讀能力相對(duì)薄弱,但中職學(xué)生比較擅長(zhǎng)且樂(lè)于實(shí)際的動(dòng)手操作,因而教師可以在入門教學(xué)時(shí)展示現(xiàn)有網(wǎng)絡(luò)中實(shí)際系統(tǒng)的例子去激發(fā)學(xué)生投入學(xué)習(xí)的興趣,然后再讓學(xué)生通過(guò)自己的動(dòng)手操作利用DW專業(yè)網(wǎng)頁(yè)工具自動(dòng)生成程序代碼。這就是所謂的“揚(yáng)長(zhǎng)避短”。
1.教師上好起始課,激發(fā)學(xué)生學(xué)習(xí)興趣
一是展示現(xiàn)有網(wǎng)絡(luò)中實(shí)際系統(tǒng)的例子,即以身邊的例子讓學(xué)生在其生動(dòng)的情景中產(chǎn)生想去自己制作動(dòng)力,同時(shí)也逐步明白本門課程的基本概念。如讓學(xué)生了解校園網(wǎng)中新聞發(fā)布系統(tǒng)、成績(jī)管理系統(tǒng)等來(lái)引導(dǎo)學(xué)生了解ASP動(dòng)態(tài)網(wǎng)頁(yè)編程技術(shù),尤其要突出何為ASP的動(dòng)態(tài)概念,要與以前靜態(tài)網(wǎng)頁(yè)中的動(dòng)態(tài)圖像區(qū)別開(kāi)來(lái),使學(xué)生對(duì)靜態(tài)和動(dòng)態(tài)有所區(qū)分。
二是以社會(huì)的需求來(lái)激發(fā)學(xué)生的興趣點(diǎn),可以從已畢業(yè)學(xué)生的工作崗位、工作性質(zhì)和年薪為例來(lái)講解這門課程所帶給學(xué)生現(xiàn)實(shí)的實(shí)惠,從而激發(fā)學(xué)生迫切學(xué)好這門課程的興趣。
2.讓學(xué)生動(dòng)手操作,自動(dòng)生成程序代碼
例:制作一個(gè)用戶登錄的系統(tǒng)。
前期準(zhǔn)備:在DW軟件中制作好靜態(tài)網(wǎng)頁(yè)和access數(shù)據(jù)庫(kù)。
步驟一:網(wǎng)頁(yè)與數(shù)據(jù)庫(kù)連接代碼產(chǎn)生,在站點(diǎn)下新建擴(kuò)展名為.udl的連接文件(圖1);然后雙擊打開(kāi)這個(gè)文件,設(shè)定打開(kāi)對(duì)話框(圖2)中“提供程序”、“連接”等相應(yīng)選項(xiàng)設(shè)置后,會(huì)自動(dòng)生成一段連接數(shù)據(jù)庫(kù)的代碼;最后以文本方式打開(kāi).udl文件,代碼如后所示。
圖1
圖2
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:wang8chatchatchat.mdb;Mode=ReadWrite|Share Deny None;Persist Security Info=False
接下來(lái)可以在DW軟件中單擊應(yīng)用程序面板中“數(shù)據(jù)庫(kù)”——“自定義連接字符串”,在對(duì)話框(圖3)中復(fù)制剛才生成的這代碼就可實(shí)現(xiàn)DW與數(shù)據(jù)庫(kù)的連接。
圖3
步驟二:在DW環(huán)境中單擊應(yīng)用程序面板中“服務(wù)器行為”——“服務(wù)器身份驗(yàn)證”——“用戶登錄”,在打開(kāi)的對(duì)話框(圖4)中設(shè)置相應(yīng)的一系列參數(shù)后,會(huì)自動(dòng)生成用戶登錄的一段代碼。
圖4
自動(dòng)生成的代碼有38行,如下所示。
<%
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString
MM_valUsername=CStr(Request.Form("um"))
If MM_valUsername <> "" Then
MM_fldUserAuthorization=""
……
……
……
End If
%>
通過(guò)以上兩個(gè)步驟,基本完成了本例子的功能,代碼有近120條,但在整個(gè)操作過(guò)程中,所有代碼的產(chǎn)生都是由DW專業(yè)網(wǎng)頁(yè)制作軟件自動(dòng)來(lái)產(chǎn)生(不同版本的軟件產(chǎn)生的代碼有所不同),這種方法能激發(fā)學(xué)生學(xué)習(xí)興趣。
二、在編程提高教學(xué)時(shí)應(yīng)用“飲水思源”的方法
通過(guò)入門教學(xué)中的自動(dòng)生成程序代碼,雖然使學(xué)生掌握了一定的實(shí)踐技能,但很難承擔(dān)實(shí)際項(xiàng)目的開(kāi)發(fā),不利于學(xué)生學(xué)會(huì)了解語(yǔ)言的語(yǔ)法、理解代碼的功能、分析程序的結(jié)構(gòu)等。所以教師得用“飲水思源”,回到學(xué)生學(xué)習(xí)理論中來(lái)掌握代碼的語(yǔ)法功能、程序結(jié)構(gòu)等等知識(shí)?!帮嬎荚础钡姆椒ㄖ饕w現(xiàn)在代碼分析和修改上。
1.分析數(shù)據(jù)庫(kù)連接代碼
如果我們?cè)谡军c(diǎn)中更改了數(shù)據(jù)庫(kù)的位置或文件夾,那么我們需要修改代碼,首先來(lái)了解每一行代碼的功能。
Provider=Microsoft.Jet.OLEDB.4.0;數(shù)據(jù)庫(kù)連接驅(qū)動(dòng)程序
Data Source=F:wang8chatchatchat.mdb;數(shù)據(jù)源的位置
Mode=ReadWrite|Share Deny None;數(shù)據(jù)庫(kù)數(shù)據(jù)的讀寫權(quán)限
Persist Security Info=False數(shù)據(jù)庫(kù)讀寫時(shí)有無(wú)安全密碼,false是無(wú)
分析好代碼后教師可安排學(xué)生根據(jù)程序需要修改代碼。
例:把網(wǎng)站放在internet網(wǎng)上時(shí),需要修改數(shù)據(jù)庫(kù)位置為網(wǎng)絡(luò)空間上網(wǎng)站的相對(duì)地址,同時(shí)我們要求數(shù)據(jù)庫(kù)只能讀不能寫。修改之后代碼為:
Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=……;
Mode=Read|Share Deny None;
Persist Security Info=False
2.分析用戶登錄程序結(jié)構(gòu)
(1)以下一段程序?yàn)樽兞砍跏蓟?,把變量賦值為表單的值。
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString
MM_valUsername=CStr(Request.Form("um"))
(2)以下程序段是通過(guò)IF語(yǔ)句的嵌套對(duì)用戶名和密碼的表單值進(jìn)行判斷。
如條件判斷正確則跳轉(zhuǎn)到正確的頁(yè)面,如錯(cuò)誤則跳轉(zhuǎn)到錯(cuò)誤提示信息頁(yè)面。在此段程序中我們分析了其中關(guān)鍵的一些語(yǔ)句功能,分析IF語(yǔ)句的嵌套結(jié)構(gòu),通過(guò)這些分析使學(xué)生掌握修改程序的方法。
If MM_valUsername <> "" Then
MM_redirectLoginSuccess="files/main.asp"
MM_redirectLoginFailed="files/errors.asp"變量賦值為不同的跳轉(zhuǎn)頁(yè)面
……
MM_rsUser.Source = "SELECT 在線用戶,密碼"用SQL語(yǔ)句查詢
……
Session("MM_Username") = MM_valUsername獲取session變量中的用戶名
MM_rsUser.Close關(guān)閉數(shù)據(jù)庫(kù)查詢記錄
Response.Redirect(MM_redirectLoginSuccess)用戶和密碼正確則跳轉(zhuǎn)的頁(yè)面
……
Response.Redirect(MM_redirectLoginFailed)用戶和密碼錯(cuò)誤則跳轉(zhuǎn)的頁(yè)面
End If
(3)動(dòng)態(tài)代碼與靜態(tài)HTML語(yǔ)句的結(jié)合。動(dòng)態(tài)代碼往往寫在靜態(tài)HTML語(yǔ)句的前面,程序的運(yùn)行經(jīng)常需要表單中按鈕來(lái)提交或觸發(fā)動(dòng)態(tài)代碼中的動(dòng)作。所以靜態(tài)表單按鈕的行為動(dòng)作都與動(dòng)態(tài)代碼有著關(guān)聯(lián),當(dāng)多次自動(dòng)代碼之后往往會(huì)產(chǎn)生很多冗余的代碼,這就需要我們教師教會(huì)學(xué)生去分析每段代碼的結(jié)構(gòu)和功能,以便在程序出錯(cuò)時(shí)修改代碼。如本例中的用戶登錄代碼結(jié)構(gòu)中第一句MM_LoginAction = Request.ServerVariables("URL"),此語(yǔ)句中的變量MM_LoginAction與靜態(tài)表單中語(yǔ)句中變量是一致的。
三、應(yīng)用時(shí)應(yīng)注意的幾個(gè)問(wèn)題
與實(shí)際的項(xiàng)目任務(wù)相結(jié)合效果會(huì)更好。學(xué)校計(jì)算機(jī)專業(yè)教師或多或少都為企業(yè)開(kāi)發(fā)過(guò)動(dòng)態(tài)網(wǎng)站并積累了一些經(jīng)驗(yàn)??勺尳處熕袚?dān)的網(wǎng)站建設(shè)引入教學(xué),以項(xiàng)目任務(wù)中的實(shí)例來(lái)教學(xué),引導(dǎo)學(xué)生共同開(kāi)發(fā)項(xiàng)目,由此“教、學(xué)、做”合一。承擔(dān)小型動(dòng)態(tài)網(wǎng)站建設(shè)項(xiàng)目,每個(gè)項(xiàng)目完成后所帶來(lái)的成功后的愉悅和滿足感,不但提高了學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)積極性,同時(shí)也培養(yǎng)了學(xué)生自主學(xué)習(xí)的能力。
用于教學(xué)的實(shí)際案例難度要適中。教師選擇時(shí)既要精心考慮案例對(duì)教學(xué)目標(biāo)所起的作用,又要顧及學(xué)的方面的各種因素,即具有針對(duì)性、實(shí)效性和可行性教學(xué)案例難度的選擇要適中。講授的兩個(gè)案例之間的知識(shí)點(diǎn)要有關(guān)聯(lián)和層層遞進(jìn),案例不能過(guò)難,盡量一個(gè)案例安排一周的課時(shí)數(shù)。
重視預(yù)備知識(shí)的講授。在講解ASP動(dòng)態(tài)網(wǎng)頁(yè)編程課程之前,要求學(xué)生已了解VB語(yǔ)法的基礎(chǔ)知識(shí)、數(shù)據(jù)庫(kù)知識(shí)和靜態(tài)網(wǎng)頁(yè)基礎(chǔ)知識(shí)。
參考文獻(xiàn):
[1]鄭益群.ASP網(wǎng)頁(yè)制作教學(xué)方法探索與實(shí)踐[J].電腦知識(shí)與技術(shù),2008(8).
[2]范勁松,黃友初.案例教學(xué)法在C語(yǔ)言教學(xué)中的系統(tǒng)應(yīng)用[J].鄖陽(yáng)醫(yī)學(xué)院學(xué)報(bào),2005(3).
(作者單位:紹興市職業(yè)教育中心)
endprint
摘?要:ASP是一種基于瀏覽器的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)編程技術(shù)。筆者以“以學(xué)定教、為學(xué)而教”的理念,針對(duì)中職學(xué)生的特點(diǎn)自創(chuàng)了“揚(yáng)長(zhǎng)避短”和“飲水思源”的教學(xué)方法。
關(guān)鍵詞:ASP編程教學(xué)?中職學(xué)生?學(xué)習(xí)興趣
對(duì)于中職信息類計(jì)算機(jī)專業(yè)的學(xué)生來(lái)說(shuō),ASP編程學(xué)科是一門望而卻步的課程。鑒于中職學(xué)生的特點(diǎn),筆者以“以學(xué)定教、為學(xué)而教”的理念并結(jié)合多年在ASP網(wǎng)頁(yè)編程教學(xué)中的一些經(jīng)驗(yàn),自創(chuàng)了“揚(yáng)長(zhǎng)避短”和“飲水思源”的教學(xué)方法,并在所教兩個(gè)班級(jí)的《ASP動(dòng)態(tài)網(wǎng)頁(yè)編程》課的教學(xué)實(shí)踐中取得了良好的效果,受到了學(xué)生的普遍歡迎。
一、在編程入門教學(xué)時(shí)應(yīng)用“揚(yáng)長(zhǎng)避短”的方法
中職學(xué)生入學(xué)時(shí)的數(shù)學(xué)、語(yǔ)文和英語(yǔ)等基礎(chǔ)知識(shí)水平較低,他們的數(shù)學(xué)邏輯能力、英語(yǔ)和語(yǔ)文的記讀能力相對(duì)薄弱,但中職學(xué)生比較擅長(zhǎng)且樂(lè)于實(shí)際的動(dòng)手操作,因而教師可以在入門教學(xué)時(shí)展示現(xiàn)有網(wǎng)絡(luò)中實(shí)際系統(tǒng)的例子去激發(fā)學(xué)生投入學(xué)習(xí)的興趣,然后再讓學(xué)生通過(guò)自己的動(dòng)手操作利用DW專業(yè)網(wǎng)頁(yè)工具自動(dòng)生成程序代碼。這就是所謂的“揚(yáng)長(zhǎng)避短”。
1.教師上好起始課,激發(fā)學(xué)生學(xué)習(xí)興趣
一是展示現(xiàn)有網(wǎng)絡(luò)中實(shí)際系統(tǒng)的例子,即以身邊的例子讓學(xué)生在其生動(dòng)的情景中產(chǎn)生想去自己制作動(dòng)力,同時(shí)也逐步明白本門課程的基本概念。如讓學(xué)生了解校園網(wǎng)中新聞發(fā)布系統(tǒng)、成績(jī)管理系統(tǒng)等來(lái)引導(dǎo)學(xué)生了解ASP動(dòng)態(tài)網(wǎng)頁(yè)編程技術(shù),尤其要突出何為ASP的動(dòng)態(tài)概念,要與以前靜態(tài)網(wǎng)頁(yè)中的動(dòng)態(tài)圖像區(qū)別開(kāi)來(lái),使學(xué)生對(duì)靜態(tài)和動(dòng)態(tài)有所區(qū)分。
二是以社會(huì)的需求來(lái)激發(fā)學(xué)生的興趣點(diǎn),可以從已畢業(yè)學(xué)生的工作崗位、工作性質(zhì)和年薪為例來(lái)講解這門課程所帶給學(xué)生現(xiàn)實(shí)的實(shí)惠,從而激發(fā)學(xué)生迫切學(xué)好這門課程的興趣。
2.讓學(xué)生動(dòng)手操作,自動(dòng)生成程序代碼
例:制作一個(gè)用戶登錄的系統(tǒng)。
前期準(zhǔn)備:在DW軟件中制作好靜態(tài)網(wǎng)頁(yè)和access數(shù)據(jù)庫(kù)。
步驟一:網(wǎng)頁(yè)與數(shù)據(jù)庫(kù)連接代碼產(chǎn)生,在站點(diǎn)下新建擴(kuò)展名為.udl的連接文件(圖1);然后雙擊打開(kāi)這個(gè)文件,設(shè)定打開(kāi)對(duì)話框(圖2)中“提供程序”、“連接”等相應(yīng)選項(xiàng)設(shè)置后,會(huì)自動(dòng)生成一段連接數(shù)據(jù)庫(kù)的代碼;最后以文本方式打開(kāi).udl文件,代碼如后所示。
圖1
圖2
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:wang8chatchatchat.mdb;Mode=ReadWrite|Share Deny None;Persist Security Info=False
接下來(lái)可以在DW軟件中單擊應(yīng)用程序面板中“數(shù)據(jù)庫(kù)”——“自定義連接字符串”,在對(duì)話框(圖3)中復(fù)制剛才生成的這代碼就可實(shí)現(xiàn)DW與數(shù)據(jù)庫(kù)的連接。
圖3
步驟二:在DW環(huán)境中單擊應(yīng)用程序面板中“服務(wù)器行為”——“服務(wù)器身份驗(yàn)證”——“用戶登錄”,在打開(kāi)的對(duì)話框(圖4)中設(shè)置相應(yīng)的一系列參數(shù)后,會(huì)自動(dòng)生成用戶登錄的一段代碼。
圖4
自動(dòng)生成的代碼有38行,如下所示。
<%
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString
MM_valUsername=CStr(Request.Form("um"))
If MM_valUsername <> "" Then
MM_fldUserAuthorization=""
……
……
……
End If
%>
通過(guò)以上兩個(gè)步驟,基本完成了本例子的功能,代碼有近120條,但在整個(gè)操作過(guò)程中,所有代碼的產(chǎn)生都是由DW專業(yè)網(wǎng)頁(yè)制作軟件自動(dòng)來(lái)產(chǎn)生(不同版本的軟件產(chǎn)生的代碼有所不同),這種方法能激發(fā)學(xué)生學(xué)習(xí)興趣。
二、在編程提高教學(xué)時(shí)應(yīng)用“飲水思源”的方法
通過(guò)入門教學(xué)中的自動(dòng)生成程序代碼,雖然使學(xué)生掌握了一定的實(shí)踐技能,但很難承擔(dān)實(shí)際項(xiàng)目的開(kāi)發(fā),不利于學(xué)生學(xué)會(huì)了解語(yǔ)言的語(yǔ)法、理解代碼的功能、分析程序的結(jié)構(gòu)等。所以教師得用“飲水思源”,回到學(xué)生學(xué)習(xí)理論中來(lái)掌握代碼的語(yǔ)法功能、程序結(jié)構(gòu)等等知識(shí)。“飲水思源”的方法主要體現(xiàn)在代碼分析和修改上。
1.分析數(shù)據(jù)庫(kù)連接代碼
如果我們?cè)谡军c(diǎn)中更改了數(shù)據(jù)庫(kù)的位置或文件夾,那么我們需要修改代碼,首先來(lái)了解每一行代碼的功能。
Provider=Microsoft.Jet.OLEDB.4.0;數(shù)據(jù)庫(kù)連接驅(qū)動(dòng)程序
Data Source=F:wang8chatchatchat.mdb;數(shù)據(jù)源的位置
Mode=ReadWrite|Share Deny None;數(shù)據(jù)庫(kù)數(shù)據(jù)的讀寫權(quán)限
Persist Security Info=False數(shù)據(jù)庫(kù)讀寫時(shí)有無(wú)安全密碼,false是無(wú)
分析好代碼后教師可安排學(xué)生根據(jù)程序需要修改代碼。
例:把網(wǎng)站放在internet網(wǎng)上時(shí),需要修改數(shù)據(jù)庫(kù)位置為網(wǎng)絡(luò)空間上網(wǎng)站的相對(duì)地址,同時(shí)我們要求數(shù)據(jù)庫(kù)只能讀不能寫。修改之后代碼為:
Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=……;
Mode=Read|Share Deny None;
Persist Security Info=False
2.分析用戶登錄程序結(jié)構(gòu)
(1)以下一段程序?yàn)樽兞砍跏蓟?,把變量賦值為表單的值。
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString
MM_valUsername=CStr(Request.Form("um"))
(2)以下程序段是通過(guò)IF語(yǔ)句的嵌套對(duì)用戶名和密碼的表單值進(jìn)行判斷。
如條件判斷正確則跳轉(zhuǎn)到正確的頁(yè)面,如錯(cuò)誤則跳轉(zhuǎn)到錯(cuò)誤提示信息頁(yè)面。在此段程序中我們分析了其中關(guān)鍵的一些語(yǔ)句功能,分析IF語(yǔ)句的嵌套結(jié)構(gòu),通過(guò)這些分析使學(xué)生掌握修改程序的方法。
If MM_valUsername <> "" Then
MM_redirectLoginSuccess="files/main.asp"
MM_redirectLoginFailed="files/errors.asp"變量賦值為不同的跳轉(zhuǎn)頁(yè)面
……
MM_rsUser.Source = "SELECT 在線用戶,密碼"用SQL語(yǔ)句查詢
……
Session("MM_Username") = MM_valUsername獲取session變量中的用戶名
MM_rsUser.Close關(guān)閉數(shù)據(jù)庫(kù)查詢記錄
Response.Redirect(MM_redirectLoginSuccess)用戶和密碼正確則跳轉(zhuǎn)的頁(yè)面
……
Response.Redirect(MM_redirectLoginFailed)用戶和密碼錯(cuò)誤則跳轉(zhuǎn)的頁(yè)面
End If
(3)動(dòng)態(tài)代碼與靜態(tài)HTML語(yǔ)句的結(jié)合。動(dòng)態(tài)代碼往往寫在靜態(tài)HTML語(yǔ)句的前面,程序的運(yùn)行經(jīng)常需要表單中按鈕來(lái)提交或觸發(fā)動(dòng)態(tài)代碼中的動(dòng)作。所以靜態(tài)表單按鈕的行為動(dòng)作都與動(dòng)態(tài)代碼有著關(guān)聯(lián),當(dāng)多次自動(dòng)代碼之后往往會(huì)產(chǎn)生很多冗余的代碼,這就需要我們教師教會(huì)學(xué)生去分析每段代碼的結(jié)構(gòu)和功能,以便在程序出錯(cuò)時(shí)修改代碼。如本例中的用戶登錄代碼結(jié)構(gòu)中第一句MM_LoginAction = Request.ServerVariables("URL"),此語(yǔ)句中的變量MM_LoginAction與靜態(tài)表單中語(yǔ)句中變量是一致的。
三、應(yīng)用時(shí)應(yīng)注意的幾個(gè)問(wèn)題
與實(shí)際的項(xiàng)目任務(wù)相結(jié)合效果會(huì)更好。學(xué)校計(jì)算機(jī)專業(yè)教師或多或少都為企業(yè)開(kāi)發(fā)過(guò)動(dòng)態(tài)網(wǎng)站并積累了一些經(jīng)驗(yàn)??勺尳處熕袚?dān)的網(wǎng)站建設(shè)引入教學(xué),以項(xiàng)目任務(wù)中的實(shí)例來(lái)教學(xué),引導(dǎo)學(xué)生共同開(kāi)發(fā)項(xiàng)目,由此“教、學(xué)、做”合一。承擔(dān)小型動(dòng)態(tài)網(wǎng)站建設(shè)項(xiàng)目,每個(gè)項(xiàng)目完成后所帶來(lái)的成功后的愉悅和滿足感,不但提高了學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)積極性,同時(shí)也培養(yǎng)了學(xué)生自主學(xué)習(xí)的能力。
用于教學(xué)的實(shí)際案例難度要適中。教師選擇時(shí)既要精心考慮案例對(duì)教學(xué)目標(biāo)所起的作用,又要顧及學(xué)的方面的各種因素,即具有針對(duì)性、實(shí)效性和可行性教學(xué)案例難度的選擇要適中。講授的兩個(gè)案例之間的知識(shí)點(diǎn)要有關(guān)聯(lián)和層層遞進(jìn),案例不能過(guò)難,盡量一個(gè)案例安排一周的課時(shí)數(shù)。
重視預(yù)備知識(shí)的講授。在講解ASP動(dòng)態(tài)網(wǎng)頁(yè)編程課程之前,要求學(xué)生已了解VB語(yǔ)法的基礎(chǔ)知識(shí)、數(shù)據(jù)庫(kù)知識(shí)和靜態(tài)網(wǎng)頁(yè)基礎(chǔ)知識(shí)。
參考文獻(xiàn):
[1]鄭益群.ASP網(wǎng)頁(yè)制作教學(xué)方法探索與實(shí)踐[J].電腦知識(shí)與技術(shù),2008(8).
[2]范勁松,黃友初.案例教學(xué)法在C語(yǔ)言教學(xué)中的系統(tǒng)應(yīng)用[J].鄖陽(yáng)醫(yī)學(xué)院學(xué)報(bào),2005(3).
(作者單位:紹興市職業(yè)教育中心)
endprint
摘?要:ASP是一種基于瀏覽器的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)編程技術(shù)。筆者以“以學(xué)定教、為學(xué)而教”的理念,針對(duì)中職學(xué)生的特點(diǎn)自創(chuàng)了“揚(yáng)長(zhǎng)避短”和“飲水思源”的教學(xué)方法。
關(guān)鍵詞:ASP編程教學(xué)?中職學(xué)生?學(xué)習(xí)興趣
對(duì)于中職信息類計(jì)算機(jī)專業(yè)的學(xué)生來(lái)說(shuō),ASP編程學(xué)科是一門望而卻步的課程。鑒于中職學(xué)生的特點(diǎn),筆者以“以學(xué)定教、為學(xué)而教”的理念并結(jié)合多年在ASP網(wǎng)頁(yè)編程教學(xué)中的一些經(jīng)驗(yàn),自創(chuàng)了“揚(yáng)長(zhǎng)避短”和“飲水思源”的教學(xué)方法,并在所教兩個(gè)班級(jí)的《ASP動(dòng)態(tài)網(wǎng)頁(yè)編程》課的教學(xué)實(shí)踐中取得了良好的效果,受到了學(xué)生的普遍歡迎。
一、在編程入門教學(xué)時(shí)應(yīng)用“揚(yáng)長(zhǎng)避短”的方法
中職學(xué)生入學(xué)時(shí)的數(shù)學(xué)、語(yǔ)文和英語(yǔ)等基礎(chǔ)知識(shí)水平較低,他們的數(shù)學(xué)邏輯能力、英語(yǔ)和語(yǔ)文的記讀能力相對(duì)薄弱,但中職學(xué)生比較擅長(zhǎng)且樂(lè)于實(shí)際的動(dòng)手操作,因而教師可以在入門教學(xué)時(shí)展示現(xiàn)有網(wǎng)絡(luò)中實(shí)際系統(tǒng)的例子去激發(fā)學(xué)生投入學(xué)習(xí)的興趣,然后再讓學(xué)生通過(guò)自己的動(dòng)手操作利用DW專業(yè)網(wǎng)頁(yè)工具自動(dòng)生成程序代碼。這就是所謂的“揚(yáng)長(zhǎng)避短”。
1.教師上好起始課,激發(fā)學(xué)生學(xué)習(xí)興趣
一是展示現(xiàn)有網(wǎng)絡(luò)中實(shí)際系統(tǒng)的例子,即以身邊的例子讓學(xué)生在其生動(dòng)的情景中產(chǎn)生想去自己制作動(dòng)力,同時(shí)也逐步明白本門課程的基本概念。如讓學(xué)生了解校園網(wǎng)中新聞發(fā)布系統(tǒng)、成績(jī)管理系統(tǒng)等來(lái)引導(dǎo)學(xué)生了解ASP動(dòng)態(tài)網(wǎng)頁(yè)編程技術(shù),尤其要突出何為ASP的動(dòng)態(tài)概念,要與以前靜態(tài)網(wǎng)頁(yè)中的動(dòng)態(tài)圖像區(qū)別開(kāi)來(lái),使學(xué)生對(duì)靜態(tài)和動(dòng)態(tài)有所區(qū)分。
二是以社會(huì)的需求來(lái)激發(fā)學(xué)生的興趣點(diǎn),可以從已畢業(yè)學(xué)生的工作崗位、工作性質(zhì)和年薪為例來(lái)講解這門課程所帶給學(xué)生現(xiàn)實(shí)的實(shí)惠,從而激發(fā)學(xué)生迫切學(xué)好這門課程的興趣。
2.讓學(xué)生動(dòng)手操作,自動(dòng)生成程序代碼
例:制作一個(gè)用戶登錄的系統(tǒng)。
前期準(zhǔn)備:在DW軟件中制作好靜態(tài)網(wǎng)頁(yè)和access數(shù)據(jù)庫(kù)。
步驟一:網(wǎng)頁(yè)與數(shù)據(jù)庫(kù)連接代碼產(chǎn)生,在站點(diǎn)下新建擴(kuò)展名為.udl的連接文件(圖1);然后雙擊打開(kāi)這個(gè)文件,設(shè)定打開(kāi)對(duì)話框(圖2)中“提供程序”、“連接”等相應(yīng)選項(xiàng)設(shè)置后,會(huì)自動(dòng)生成一段連接數(shù)據(jù)庫(kù)的代碼;最后以文本方式打開(kāi).udl文件,代碼如后所示。
圖1
圖2
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:wang8chatchatchat.mdb;Mode=ReadWrite|Share Deny None;Persist Security Info=False
接下來(lái)可以在DW軟件中單擊應(yīng)用程序面板中“數(shù)據(jù)庫(kù)”——“自定義連接字符串”,在對(duì)話框(圖3)中復(fù)制剛才生成的這代碼就可實(shí)現(xiàn)DW與數(shù)據(jù)庫(kù)的連接。
圖3
步驟二:在DW環(huán)境中單擊應(yīng)用程序面板中“服務(wù)器行為”——“服務(wù)器身份驗(yàn)證”——“用戶登錄”,在打開(kāi)的對(duì)話框(圖4)中設(shè)置相應(yīng)的一系列參數(shù)后,會(huì)自動(dòng)生成用戶登錄的一段代碼。
圖4
自動(dòng)生成的代碼有38行,如下所示。
<%
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString
MM_valUsername=CStr(Request.Form("um"))
If MM_valUsername <> "" Then
MM_fldUserAuthorization=""
……
……
……
End If
%>
通過(guò)以上兩個(gè)步驟,基本完成了本例子的功能,代碼有近120條,但在整個(gè)操作過(guò)程中,所有代碼的產(chǎn)生都是由DW專業(yè)網(wǎng)頁(yè)制作軟件自動(dòng)來(lái)產(chǎn)生(不同版本的軟件產(chǎn)生的代碼有所不同),這種方法能激發(fā)學(xué)生學(xué)習(xí)興趣。
二、在編程提高教學(xué)時(shí)應(yīng)用“飲水思源”的方法
通過(guò)入門教學(xué)中的自動(dòng)生成程序代碼,雖然使學(xué)生掌握了一定的實(shí)踐技能,但很難承擔(dān)實(shí)際項(xiàng)目的開(kāi)發(fā),不利于學(xué)生學(xué)會(huì)了解語(yǔ)言的語(yǔ)法、理解代碼的功能、分析程序的結(jié)構(gòu)等。所以教師得用“飲水思源”,回到學(xué)生學(xué)習(xí)理論中來(lái)掌握代碼的語(yǔ)法功能、程序結(jié)構(gòu)等等知識(shí)?!帮嬎荚础钡姆椒ㄖ饕w現(xiàn)在代碼分析和修改上。
1.分析數(shù)據(jù)庫(kù)連接代碼
如果我們?cè)谡军c(diǎn)中更改了數(shù)據(jù)庫(kù)的位置或文件夾,那么我們需要修改代碼,首先來(lái)了解每一行代碼的功能。
Provider=Microsoft.Jet.OLEDB.4.0;數(shù)據(jù)庫(kù)連接驅(qū)動(dòng)程序
Data Source=F:wang8chatchatchat.mdb;數(shù)據(jù)源的位置
Mode=ReadWrite|Share Deny None;數(shù)據(jù)庫(kù)數(shù)據(jù)的讀寫權(quán)限
Persist Security Info=False數(shù)據(jù)庫(kù)讀寫時(shí)有無(wú)安全密碼,false是無(wú)
分析好代碼后教師可安排學(xué)生根據(jù)程序需要修改代碼。
例:把網(wǎng)站放在internet網(wǎng)上時(shí),需要修改數(shù)據(jù)庫(kù)位置為網(wǎng)絡(luò)空間上網(wǎng)站的相對(duì)地址,同時(shí)我們要求數(shù)據(jù)庫(kù)只能讀不能寫。修改之后代碼為:
Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=……;
Mode=Read|Share Deny None;
Persist Security Info=False
2.分析用戶登錄程序結(jié)構(gòu)
(1)以下一段程序?yàn)樽兞砍跏蓟?,把變量賦值為表單的值。
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString
MM_valUsername=CStr(Request.Form("um"))
(2)以下程序段是通過(guò)IF語(yǔ)句的嵌套對(duì)用戶名和密碼的表單值進(jìn)行判斷。
如條件判斷正確則跳轉(zhuǎn)到正確的頁(yè)面,如錯(cuò)誤則跳轉(zhuǎn)到錯(cuò)誤提示信息頁(yè)面。在此段程序中我們分析了其中關(guān)鍵的一些語(yǔ)句功能,分析IF語(yǔ)句的嵌套結(jié)構(gòu),通過(guò)這些分析使學(xué)生掌握修改程序的方法。
If MM_valUsername <> "" Then
MM_redirectLoginSuccess="files/main.asp"
MM_redirectLoginFailed="files/errors.asp"變量賦值為不同的跳轉(zhuǎn)頁(yè)面
……
MM_rsUser.Source = "SELECT 在線用戶,密碼"用SQL語(yǔ)句查詢
……
Session("MM_Username") = MM_valUsername獲取session變量中的用戶名
MM_rsUser.Close關(guān)閉數(shù)據(jù)庫(kù)查詢記錄
Response.Redirect(MM_redirectLoginSuccess)用戶和密碼正確則跳轉(zhuǎn)的頁(yè)面
……
Response.Redirect(MM_redirectLoginFailed)用戶和密碼錯(cuò)誤則跳轉(zhuǎn)的頁(yè)面
End If
(3)動(dòng)態(tài)代碼與靜態(tài)HTML語(yǔ)句的結(jié)合。動(dòng)態(tài)代碼往往寫在靜態(tài)HTML語(yǔ)句的前面,程序的運(yùn)行經(jīng)常需要表單中按鈕來(lái)提交或觸發(fā)動(dòng)態(tài)代碼中的動(dòng)作。所以靜態(tài)表單按鈕的行為動(dòng)作都與動(dòng)態(tài)代碼有著關(guān)聯(lián),當(dāng)多次自動(dòng)代碼之后往往會(huì)產(chǎn)生很多冗余的代碼,這就需要我們教師教會(huì)學(xué)生去分析每段代碼的結(jié)構(gòu)和功能,以便在程序出錯(cuò)時(shí)修改代碼。如本例中的用戶登錄代碼結(jié)構(gòu)中第一句MM_LoginAction = Request.ServerVariables("URL"),此語(yǔ)句中的變量MM_LoginAction與靜態(tài)表單中語(yǔ)句中變量是一致的。
三、應(yīng)用時(shí)應(yīng)注意的幾個(gè)問(wèn)題
與實(shí)際的項(xiàng)目任務(wù)相結(jié)合效果會(huì)更好。學(xué)校計(jì)算機(jī)專業(yè)教師或多或少都為企業(yè)開(kāi)發(fā)過(guò)動(dòng)態(tài)網(wǎng)站并積累了一些經(jīng)驗(yàn)??勺尳處熕袚?dān)的網(wǎng)站建設(shè)引入教學(xué),以項(xiàng)目任務(wù)中的實(shí)例來(lái)教學(xué),引導(dǎo)學(xué)生共同開(kāi)發(fā)項(xiàng)目,由此“教、學(xué)、做”合一。承擔(dān)小型動(dòng)態(tài)網(wǎng)站建設(shè)項(xiàng)目,每個(gè)項(xiàng)目完成后所帶來(lái)的成功后的愉悅和滿足感,不但提高了學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)積極性,同時(shí)也培養(yǎng)了學(xué)生自主學(xué)習(xí)的能力。
用于教學(xué)的實(shí)際案例難度要適中。教師選擇時(shí)既要精心考慮案例對(duì)教學(xué)目標(biāo)所起的作用,又要顧及學(xué)的方面的各種因素,即具有針對(duì)性、實(shí)效性和可行性教學(xué)案例難度的選擇要適中。講授的兩個(gè)案例之間的知識(shí)點(diǎn)要有關(guān)聯(lián)和層層遞進(jìn),案例不能過(guò)難,盡量一個(gè)案例安排一周的課時(shí)數(shù)。
重視預(yù)備知識(shí)的講授。在講解ASP動(dòng)態(tài)網(wǎng)頁(yè)編程課程之前,要求學(xué)生已了解VB語(yǔ)法的基礎(chǔ)知識(shí)、數(shù)據(jù)庫(kù)知識(shí)和靜態(tài)網(wǎng)頁(yè)基礎(chǔ)知識(shí)。
參考文獻(xiàn):
[1]鄭益群.ASP網(wǎng)頁(yè)制作教學(xué)方法探索與實(shí)踐[J].電腦知識(shí)與技術(shù),2008(8).
[2]范勁松,黃友初.案例教學(xué)法在C語(yǔ)言教學(xué)中的系統(tǒng)應(yīng)用[J].鄖陽(yáng)醫(yī)學(xué)院學(xué)報(bào),2005(3).
(作者單位:紹興市職業(yè)教育中心)
endprint